Matlab: eine kleine Einführung 4

Ähnliche Dokumente
Matlab: eine kleine Einführung 2

Matlab: eine kleine Einführung

Mathematik am Computer 4. Vorlesung Matlab: Teil 1

Mathematik am Computer 6. Vorlesung: Matlab, Teil I

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder

Einführung in Matlab

Kurze Einführung in Octave

Mathematische Computer-Software

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Numerik-Programm, mittlerweile mit vielen Erweiterungen (Toolboxen) Matlab = Matrix Laboratory Sehr gute Doku (doc, help, lookfor)

m-files sind Folgen von MATLAB-Anweisungen oder Daten-Files.

WiMa-Praktikum 1. Woche 8

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Zweiter Teil des Tutorials. Workspace M-files Matrizen Flow Control Weitere Datenstrukturen Gemeinsames Beispiel erarbeiten

Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 15. Mai WiMa-Praktikum (Matlab 2/9) Einführung in LATEXund Matlab

Funktionen in Matlab. Lehrstuhl für Angewandte Mathematik Sommersemester und 29. Mai 2008

Einführung in. Pierre Bayerl

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Programmiervorkurs für die Numerik Teil 2/4

Ein kleiner Matlab Primer Frank Schimmel

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

MATLAB-Tutorium WS18 Nathalie Marion Frieß

Steuerung von Programmabläufen. Lehrstuhl für Angewandte Mathematik Sommersemester Mai und 15. Mai 2008

Bash-Skripting Linux-Kurs der Unix-AG

Eine kurze Einführung in Matlab

MATLAB Eine Einführung

Ulrich Stein

Grundlagen der Programmierung

Einführung ins Praktikum Wissenschaftliches Rechnen I

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

Übungszettel 2a - Python

Grundlagen der Programmierung

Einführung in das rechnergestützte Arbeiten

Grundlagen von MATLAB

Übung April Was ist Matlab? Aufgabe 1.1: Hochschule Bochum Sommersemester 2014 Vorlesung Autonome Roboter Prof. Dr.

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Programmieren in MATLAB Mehr als nur ein Taschenrechner

PHP. M.Sc. Nadine Preuß Geographische Analyse- und Darstellungsmethoden WS 15/

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Einführung in MATLAB. Grundlagen für die Übungen begleitend zur Vorlesung Neuroinformatik I

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Bash-Skripting Linux-Kurs der Unix-AG

Informatik für Elektrotechnik und Informationstechnik

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Die Programmieraufgaben

Grundlagen der Optimierung. Übung 1

Informationsverarbeitung im Bauwesen

Funktionen in Matlab. Nutzerdefinierte Funktionen können in.m-datei gespeichert werden

PPS "Bits on Air" 1. Teil, Matlab-Tutorial Vorbereitungsaufgaben (Lösungsvorschläge)

Linux-Einführung Übung

Einführung in MATLAB. Grundlagen für die Übungen begleitend zur Vorlesung Neuroinformatik I

Einführung in die Programmierung (MA8003)

Einführung in MATLAB zur Veranstaltung Einführung in die Numerik

MATLAB Ferienkurs WS 2010/2011

Nochmal Typen und Objekte

This image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17

MATLAB: Kapitel 3 Programmieren

Hochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme

Elementare Konzepte von

Kurzanleitung für den MyDrive Client

1. Installation und deutsche Sprach-Einstellung

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

Matlab: eine kurze Einführung

Einführung in MATLAB MATLAB ist eine Anwendung, die die Aufgaben der numerischen Mathematik lösen kann.

Softwarepraktikum. zu Elemente der Mathematik. Carsten Rezny Institut für angewandte Mathematik Universität Bonn

Zyklen: break und continue

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Word Einstieg

Girls Day 2017 Programmierung

Schriftlicher Test zu Matlab (90 Minuten) VU Einführung ins Programmieren für TM. 17. Juni 2011

Einführung in die Programmierung (MA8003)

Grundlagen von C# - 2

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

Einführung in die Computerlinguistik

Einführung in die Programmierung (MA8003)

Kurzanleitung für den MyDrive Client

Kontrollfragen Mikrocontroller Programmiersprache C H1203 Felix Rohrer

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Systemverwaltung mittels Skripts

Anleitung zur Einrichtung der elektronischen Arbeitszeitkarte im Browser und Vergabe eines neuen Passwortes

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Praktikum Ingenieurinformatik. Termin 6. Mehrdimensionale Felder, Kurvendarstellung mit Excel

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

Mathematik am Computer 7. Vorlesung: Matlab, Teil II

Grundlagen der Programmierung

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.

Kontrollstrukturen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2016/

Jens Kappei. Vorlesung Numerische Basisverfahren 21./

Transkript:

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS 6 Linux Matlab: eine kleine Einführung Jan Mayer 27. April 6 Matlab: eine kleine Einführung 2 Matlab starten: Linux 1. Konsole öffnen (Bildschirm-Icon auf Menüleiste unten); 2. matlab & und return eingeben; 3. Konsole dauerhaft geöffnet lassen. Weitere Programme: Konqueror: Datei-Explorer (Häuschen auf Menüleiste) Firefox: Internet Browser (Blaue Weltkugel umzingelt von rotem Feuer) Alles weitere im Menü unten links Matlab: eine kleine Einführung 3 Linux Besonderheiten Einfacher Klick, linke Maustaste startet ein Programm bzw. öffnet ein Verzeichnis. Einfacher Klick, rechte Maustaste zeigt Menü mit Optionen an. Verzeichnisse anlegen: Im Konqueror rechter Mausklick auf freiem Gebiet, dann Neu erstellen und Ordner auswählen. strg+x, strg+c, strg+v Cut, Copy, Paste wie unter Windows, auch im Konqueror. Bei Matlab nur wenn Option Windows eingestellt ist unter File Preferences Editor/Debugger Keyboard & Indenting Key Bindings. Matlab: eine kleine Einführung 4

Benutzeroberfläche Matlab als Taschenrechner Erzeugen von Matrizen: [1 2 3 ; 4 6] zeros(2,3) eye() Erzeugen von speziellen Zeilenvektoren: 1:3 ergibt den Vektor ( 1 2 3 ). 1:.2:2 ergibt ( 1. 1.2 1.4 1.6 1.8 ) 2.. Zuweisung (um Werte in einer Variablen abzuspeichern): c1 = 6 A = [1 2 3 ; 4 6] v = 1:1 Matlab: eine kleine Einführung Befehle stets mit Return been. Abbruch: strg+c. Matlab: eine kleine Einführung 6 Verkleben von Matrizen: [A, zeros(2,2)] ergibt Matlab als Taschenrechner ( ) 1 2 3 4 6 und B = [A, zeros(2,2); eye(2), A] speichert die Matrix in der Variablen B ab. 1 2 3 4 6 1 1 2 3. 1 4 6 Matlab: eine kleine Einführung 7 Matlab als Taschenrechner Elementauswahl für Zugriff und Zuweisung: A(1,2) A(1:2,2) A(1:2,1:3) A(:,[1 3]) Elementweise artithmetische Operationen: + -.*./.^ Elementweise boolsche Operationen: Das Ergebnis ist (false) bzw. 1 (true). == = < > <= >= & Elementweise Funktionen: abs sin cos exp sqrt min max... Operationen und Funktionen der linearen Algebra: + - * / \ ^ det trace inv eig... Matlab: eine kleine Einführung 8

Skripte Die Datei magicrank.m lässt sich durch Eingabe im Befehlsfenster von magicrank ausführen. Auf aktives Verzeichnis achten! Matlab: eine kleine Einführung 1 Skripte Eine Datei, welche eine Abfolge von Befehlen enthält, heißt Skript. Namen der Datei beliebig, Dateierweiterung muss.m sein. Aufruf des Skripts (ohne Dateierweiterung) führt Skript sequenziell aus. Semicolon unterdrückt die Ausgabe. Kommentare beginnen mit eine Prozentzeichen. Matlab: eine kleine Einführung 11 Matlab: eine kleine Einführung 12

Skripte Funktionen Einschränkungen bei Namen von Variablen und Dateien alle Namen müssen sich unterscheiden; Groß- und Kleinbuchstaben sind unterschiedlich; Namen müssen mit einem Buchstaben beginnen; Namen dürfen keine Sonderzeichen enthalten. Skripte bieten keine: Übergabe von Parametern Rückgabe von Werten, Ergebnisse Lösung: Funktionen. Weiterer Unterschied: alle Parameter müssen werden! übergeben Matlab: eine kleine Einführung 13 Matlab: eine kleine Einführung 14 Funktionen Funktionen Dateiname und Funktionsname müssen übereinstimmen! Die Dateierweiterung muss.m sein. Alle Variablen sind lokal. Die Funktion function r = mrank(n) bedarf eines Eingabeparameters und gibt eine Variable as Ergebnis zurück. Rückgabe mehrerer Variablen: function [r,k] = mrank(n) Die Eingabe von mrank(1) liefert dasselbe Ergebnis. Matlab: eine kleine Einführung 1 Aufruf: [z,m] = mrank(1); Matlab: eine kleine Einführung 16

Aufruf: Funktionen 1. mrank(1) führt die Funktion aus und gibt den Rückgabewert aus. 2. mrank(1); führt die Funktion aus und gibt den Rückgabewert nicht aus. 3. z = mrank(1); führt die Funktion aus und speichert den Rückgabewert in z. 4. z = mrank(1) führt die Funktion aus, speichert den Rückgabewert in z und gibt ihn aus. Matlab: eine kleine Einführung 17 for k = 4:n Befehle Die for-schleife 1. Zunächst ist k = 4 und es werden alle Befehle zwischenfor und mit dem Wert k = 4 ausgeführt. 2. Es wird k = gesetzt und alle Befehle zwischen for und mit dem Wert k = ausgeführt, usw. 3. Es werden alle Werte von k durchlaufen, bis einschließlich k = n. Genauer: for k = Vektor k durchläuft den Vektor von Anfang bis Ende. Matlab: eine kleine Einführung 18 while t > Befehle Die while-schleife Anmerkungen: Die while-schleife Gilt t > am Anfang nicht, so werden alle Befehle übersprungen. 1. Falls t > gilt, so werden alle Befehle zwischen while und ausgeführt. 2. Es wird wieder geprüft, ob t > gilt. Falls dies erfüllt ist, so werden wieder alle Befehle zwischen while und ausgeführt. 3. Dies wiederholt sich solange bis t > nicht erfüllt ist. Matlab: eine kleine Einführung 19 Man muss t vor while t > einen Wert zuweisen. Gilt t > immer, so bricht der Programmablauf niemals ab. Deswegen wird der Wert von t normalerweise innerhalb der Schleife geändert. Erlaubt ist auch z.b. while (t>) & (t<1). Genauer: t > liefert als Ergebnis entweder (false) oder 1 (true). Die Schleife wird solange durchlaufen, bis der Wert (false) ist. Matlab: eine kleine Einführung

Verzweigung: if-elseif-else- Verzweigung: if-elseif-else- if n == 1 Befehle1 elseif n == 2 Befehle2 elseif n == 3 Befehle3. elseif n == N BefehleN else BefehleAlt elseif und else mit den darauf folgen Befehlen sind optional. if n == 1 Befehle if n == 1 Befehle else BefehleAlt Falls n = 1 gilt, so werden Befehle1 ausgeführt, sonst keine. Falls n = 1 gilt, so werden Befehle1 ausgeführt, sonst BefehleAlt. Matlab: eine kleine Einführung 21 Matlab: eine kleine Einführung 22 Verzweigung: if-elseif-else- Beispiel: Spiel des Lebens if n == 1 Befehle1 elseif n == 2 Befehle2 elseif n == N BefehleN else BefehleAlt Falls n = 1 ist, so werden Befehle1 ausgeführt. Falls n = 1 falsch ist und n = 2 gilt, so werden Befehle2 ausgeführt. Falls sowohl n = 1 und n = 2 falsch sind und n = N gilt, werden BefehleN ausgeführt. In allen anderen Fällen werden BefehleAlt ausgeführt. Gegeben: Gebiet der Größe N N besteh aus 1 1 Zellen. Jede Zelle ist in dem Zustand leb oder tot. Zum Zeitpunkt T = besteht ein Anfangszustand, z.b. ein leber 4 4 Block in der Mitte. Übergang der Generation zum Zeitpunkt T = t in eine neue Generation zum Zeitpunkt T = t + 1: 1. Zu viele oder zu wenige lebe Nachbarn: Zelle ist tot. z.b., 1, 7, 8 Nachbarn. 2. Optimale Anzahl von Nachbarn: Zelle lebt. z.b. 3, 4, Nachbarn. 3. Sonst: keine Veränderung z.b. 2, 6 Nachbarn. Matlab: eine kleine Einführung 23 Matlab: eine kleine Einführung 24

main.m Beispiel: Spiel des Lebens Beispiel: Spiel des Lebens % Hauptprogramm parameter; M = init(n); % Parameter laden % Initialisieren for t = 1:Tmax display([ Schritt,num2str(t)]); spy(m); % Visualisieren pause; M = neue generation(m,tot,gleich,leben); spy(m); % Visualisieren parameter.m % Parameter N = ; % Dimension Tmax = 1; % Anzahl der Zeitschritte tot = [ 1 7 8]; % #Nachbarn -> sterben gleich = [2 6]; % #Nachbarn -> unverändert leben = [3 4 ]; % #Nachbarn -> leben Matlab: eine kleine Einführung 2 Matlab: eine kleine Einführung 26 init.m function A = init(n) Beispiel: Spiel des Lebens % Bevölkerungsmatrix mit Anfangsbevölkerung erzeugen A = zeros(n,n); k = floor(n/2); A(k-1:k+2,k-1:k+2) = ones(4,4); function A = neue generation(a,tot,gleich,leben); % neue Generation berechnen. B = A; % Kopie von A anlegen. [M,N] = size(a); for j = 1:N for k = 1:N anz nachbarn = nachbarzahl(b,j,k); if length(find(tot == anz nachbarn)) A(j,k) = ; elseif length(find(leben == anz nachbarn)) A(j,k) = 1; % sonst: ändert sich nichts. Matlab: eine kleine Einführung 27

function n = nachbarzahl(a,j,k); % berechnet die Anzahl der Nachbarn von Zelle (j,k). [M,N] = size(a); if (j == 1) & (k == 1) n = A(1,2) + A(2,2) + A(2,1); elseif (j == N) & (k == 1) n = A(N,2) + A(N-1,1) + A(N-1,2); elseif (j == 1) & (k == N) n = A(2,N) + A(1,N-1) + A(2,N-1); elseif (j == N) & (k == N) n = A(N,N-1) + A(N-1,N) + A(N-1,N-1); elseif j == 1 n = A(2,k-1) + A(2,k) + A(2,k+1) +... A(1,k-1) + A(1,k+1); elseif j == N n = A(N-1,k-1) + A(N-1,k) + A(N-1,k+1) +... A(N,k-1) + A(N,k+1); elseif k == 1 n = A(j-1,2) + A(j,2) + A(j+1,2) +... A(j-1,1) + A(j+1,1); elseif k == N n = A(j-1,N-1) + A(j,N-1) + A(j+1,N-1) +... A(j-1,N) + A(j+1,N); else n = sum(a(j-1:j+1,k-1)) +... sum(a(j-1:j+1,k+1)) + A(j-1,k) + A(j+1,k); Spiel des Lebens Spiel des Lebens 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 nz = 16 1 nz = 1 nz = 32 1 nz = 88 1 nz = 288 1 nz = 1396 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 nz = 28 1 nz = 48 1 nz = 48 1 nz = 136 1 nz = 1484 1 nz = 144 Die ersten 6 Generationen Matlab: eine kleine Einführung 31 Die Generationen 1,, 6, 7, 76, 77. Matlab: eine kleine Einführung 32

Weitere Informationen Umfangreiche Matlab Hilfsdateien mit F1 aufrufbar. Diese beinhalten: 1. Informationen zu den einzelnen Befehlen; 2. Demonstrationsprogramme. Viele Links zu Literatur auf der Webseite zum Praktikum. Matlab: eine kleine Einführung 33