Einführung in Matlab. Eike Meerbach 6. Mai Typeset by FoilTEX

Ähnliche Dokumente
Mathematische Computer-Software

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

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

MATLAB Sommersemester 2018 Dr. Ulf Mäder

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

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

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

Matlab Selbstlernkurs

10:Exkurs MATLAB / Octave

WiMa-Praktikum 1. Woche 8

2. Einführung in das Ingenieurtool MATLAB

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Lineare Algebra mit dem Statistikprogramm R

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

3 Kurzeinführung in Matlab

Matlab: eine kleine Einführung

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum

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

Programmiervorkurs für die Numerik Teil 2/4

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

Kurze Einführung in Octave

Matlab: eine kleine Einführung 4

Matlab: eine kleine Einführung 2

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

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

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Arbeiten mit der Shell Teil 1

MATLAB: Kapitel 3 Programmieren

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Datei-Verarbeitung. Peter Sobe 60

Einführung in MATLAB Blockkurs DLR:

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

Nur Matrizen gleicher Dimension können addiert oder subtrahiert werden. Zur Berechnung werden zwei Matrizen A und B in den Matrix-Editor eingegeben.

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

Ein kleiner Matlab Primer Frank Schimmel

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

Mathematik am Computer 4. Vorlesung Matlab: Teil 1

INTELLIGENTE DATENANALYSE IN MATLAB. Einführung in MATLAB

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

8. Elemente der linearen Algebra 8.5 Quadratische Matrizen und Determinanten

Lineare Gleichungssysteme: eine Ergänzung

Serie a) Welche der folgenden Vektoren sind Eigenvektoren der Matrix 1 0 1? 0 1 1

MATLAB Ferienkurs WS 2010/2011

Einführung in MATLAB

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Einführung in die Programmierung (MA8003)

Grundlagen von MATLAB

Ferienkurs Mathematik für Physiker I Skript Teil 3 ( )

Lösungen Serie 2. D-MAVT Lineare Algebra II FS 2018 Prof. Dr. N. Hungerbühler 1 0 1? 0 1 1

Scilab Consortium (École Polytechnique... Renault) kostenloses Download

Beispiel-Glossar zu Octave

Einführung in MATLAB Blockkurs DLR:

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

3 Matrizenrechnung. 3. November

Übersicht Shell-Scripten

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Mathematik am Computer 6. Vorlesung: Matlab, Teil I

Eine kurze Einführung in Matlab

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

Inhaltsverzeichnis. Angelika Bosl. Einführung in MATLAB/Simulink. Berechnung, Programmierung, Simulation. ISBN (Buch):

Vorlesung Unix-Praktikum

4) Lösen linearer Gleichungssysteme mit zwei oder drei Unbekannten

MATRIZEN. Eine Matrix ist eine rechteckige Anordnung von Zahlen, als ein Schema betrachtet. a 11 a a 1n a 21. a a 2n A = a m1 a m2...

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Matlab Übersicht. Matlab steht für MATrix LABoratory, die Fa. The Mathworks wurde 1984 gegründet

Arbeitsblätter für Algorithmierung und Strukturierung

GI Vektoren

2 Matrizen und Vektoren

SelfLinux Dateien unter Linux

Arbeiten mit der Shell Teil 1

Programmiervorkurs für die Numerik Teil 1/4

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

WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER. Advanced Matlab. living knowledge WWU Münster. Mario Ohlberger, Martin Drohmann, Stefan Girke 10/05/2012

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.

Lineare Gleichungssystem

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B

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

Bash-Skripting Linux-Kurs der Unix-AG

Ökonometrische Analyse

Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012

Matlab Einführung. Tobias Wunner

Ingenieurinformatik II Numerik für Ingenieure Teil 2

Stichworte zu Octave

Übung 4: Einführung in die Programmierung mit MATLAB

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

Grundlagen der Programmierung

Arbeiten mit der Shell Teil 1

Lektion 3. 1 Theorie. NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012

Mathematischer Vorkurs

Berechnung der Determinante

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

Mathematische Methoden Physik I, WS06/07 Kompaktkurs Mathematica,

Matlab: eine kurze Einführung

Transkript:

Eike Meerbach meerbach@math.fu-berlin.de 6. Mai 2002 Typeset by FoilTEX

Eine Merkregel zu den Matrizenoperationen Es seien A R m n, B R n k und u R n 1. Dann gilt: Au = v AB = C (m n) (n 1) = (m 1) (m n) (n k) = (m k) ( ) 2 1 2 1 ( ) ( ) 1 5 2 1 2 = 1 2 ( ) 2 2 4 6 = 0 1 3 4 0 1 3 2 2 1 0 0 Merke also: (m n) (n k) = (m k) Typeset by FoilTEX 1

Eine weitere Merkregel zu den Matrizenoperationen A = a 11 a 12 a 1n a 21 a 22 a 2n...... a m1 a m2 a mn, (m n)-matrix. a ij - Element in i.-ter Zeile und j.-ter Spalte. Merke: Zuerst die Zeile...... Später die Spalte! (ZEILE-SPALTE) Typeset by FoilTEX 2

Arbeiten unter UNIX Hilfe für einzelne Befehle mit: man Befehl, z.b. man gv. Wichtige Befehle sind: cd Zielverzeichnis - change directory, wechseln des Arbeitsverzeichnisses. cd / wechselt ins Heimatverzeichnis. ls, anzeigen des Inhalts des aktuellen Arbeitsverzeichnisses. ls -l zeigt ausführliche Informationen. cp Quelldatei Zieldatei - copy file. rm Datei - remove file (LÖSCHEN!). mv Quelldatei Zieldatei - move file. ACHTUNG, DAS LÖSCHEN VON DATEIEN UNTER UNIX/LINUX IST UNWIEDERRUFLICH!! Typeset by FoilTEX 3

Kurzbefehle zur Einbindung des Diskettenlaufwerks: mdir- Inhalt anzeigen. mcopy Quelldatei Zieldatei- Kopieren von Dateien, z.b.: mcopy test.tex a: - kopiert die Datei test.tex aus dem aktuellen Arbeitsverzeichnis auf Diskette unter demselben Namen. mcopy /home/arbeit/test.tex a:erfolgreich - kopiert dieselbe Datei aus dem Verzeichnis /home/arbeit/ auf Diskette unter dem Namen erfolgreich. Unix/Linux Neulinge, sollten unbedingt zu den Rechnerübungen gehen! Typeset by FoilTEX 4

Das Starten von Matlab 1. Einloggen an einen Unix-Rechner, z.b.: math3.math.fu-berlin.de euklid.math.fu-berlin.de über das Startmenü der Terminals im Rechnerraum. von einem Unix/Linux-Rechner mit dem Befehl ssh, z.b. ssh math3.math.fu-berlin.de von Windows aus mit dem Programm putty.exe, download unter: www.chiark.greenend.org.uk/ sgtatham/putty/download.html 2. Aufrufen eines Terminals/Console. 3. Matlab durch Eingabe von matlab starten. Typeset by FoilTEX 5

Das Beenden von Matlab Niemals Matlab durch das Schließen des Consolefensters beenden! Immer mit quit oder Control + Z das Programm offiziell beenden. Laufende Prozesse (Endlosschleifen!) können durch Control + C abgebrochen werden. Typeset by FoilTEX 6

Vorteile von Matlab 1. Keine Initialisierung, Kategorisierung oder Deklarierung von Variablen. 2. Keine Kompilierungsprobleme. 3. Variablennamen können nahezu beliebig gewählt werden. Achtung: Zwischen GROSS- und kleinschreibung wird Unterschieden. 4. Viele Möglichkeiten graphischer Darstellungen. 5. Viele Matrizenfunktionen sind vorhanden. 6. MATLAB IST EINFACH! Typeset by FoilTEX 7

Nach dem Start Am Matlabprompt können wir nun: Variablen benennen/ Matrizen, Strings oder Vektoren eingeben etc. Funktionen aufrufen. Eigene Programme aufrufen. Den Matlabeditor aufrufen (edit). Die Matlabhilfe aufrufen (helpdesk). Typeset by FoilTEX 8

Eingabe von Vektoren, Matrizen, Skalaren und Strings Diese Objekte wollen wir Matlab übergeben: 17 (Skalar), 4 1 (Vektor), 1 0 0 6 0, 3 9 (Matrix), 5 0 1 1 Zeichenkette (String). Die Übergabe erfolgt über den Operator = : Name=Objekt. Das sieht z.b. so aus: Typeset by FoilTEX 9

>> t=17 t = 17 >> v=[4;5;1] v = 4 5 1 >> A=[1 0 0; 6 0.3-9; 0 1 1] A = 1.0000 0 0 6.0000 0.3000-9.0000 0 1.0000 1.0000 >> t= Zeichenkette t = Zeichenkette Objekte werden mit [...] zusammengefasst, Zeilensprünge mit ; angegeben, Strings durch... gekennzeichnet. Typeset by FoilTEX 10

Beispiel: lineare Gleichungssysteme 4x 1 +3x 2 +4x 3 = 27 4x 1 +5x 2 = 40 x 1 +3x 2 +2x 3 = 15 Typeset by FoilTEX 11

Beispiel: lineare Gleichungssysteme A = 4x 1 +3x 2 +4x 3 = 27 4x 1 +5x 2 = 40 x 1 +3x 2 +2x 3 = 15 4 3 4 4 5 0, b = 27 40, x = 1 3 2 15 Ax = b, det(a) 0 x = A 1 b. x 1. x 2 x 3 Typeset by FoilTEX 12

Beispiel: lineare Gleichungssysteme A = a 11 x 1 +a 12 x 2 + +a 1n x n = b 1 a 12 x 1 +a 22 x 2 + +a 2n x n = b 2....... a n1 x 1 +a n2 x 2 + +a nn x n = b n a 11 a 12 a 1n a 21 a 22 a 2n......, b = a n1 a n2 a nn Ax = b, det(a) 0 x = A 1 b. b 1 b 2. b n, x = x 1 x 2. x n. Typeset by FoilTEX 13

Drei (erste) Tips: Es macht sich bezahlt phantasievolle Variablennamen zu verwenden, um die Übersicht zu behalten!! Z.B.: drehmatrix=[0.5 0.87;-0.87 0.5] ist der Operator fürs Transponieren, d.h.: v=[4 1 5] und v=[4;1;5] erzeugen denselben Vektor! Durch Nachstellen von ; wird die Eingabebestätigung von Matlab unterdrückt, insbesondere beim Programmieren sinnvoll!! Mehrere Anweisungen auf einer Eingabezeile werden durch, getrennt. Typeset by FoilTEX 14

Die Grundfunktionen von Matlab Zum Rechnen mit Matrizen, Vektoren und Skalaren: +,-,*. Die Division / ist für Matrizen und Vektoren nicht definiert! ^ steht für potenzieren, also z.b. a^5, A^2. Durch.* können Matrizen komponentenweise multipliziert werden, z.b.: >> A=[2 1;0 1]; >> B=[3 0;1 2]; >> A.*B ans = 6 0 0 2 Typeset by FoilTEX 15

Der colon-operator Der colon-operator (colon, engl. Doppelpunkt) erzeugt einen Laufindex: Beispiel: Grenze1:Schrittweite:Grenze2 >> x=1:3:18 x = 1 4 7 10 13 16 Die Standard-Schrittweite ist 1: >> x=3:9 x = 3 4 5 6 7 8 9 Typeset by FoilTEX 16

Zugriff auf einzelne Matrizenelemente Zugriff durch: Objekt(Zeile,Spalte) Beispiel: >> B=[3 0 6;1 2 5]; >> Vorname= Roland ; >> B(2,1) ans = 1 >> Vorname(1,5) ans = n Typeset by FoilTEX 17

Bei nur einer Zeile/Spalte kann die Angabe hierfür weggelassen werden: >> Vorname(5) ans = n Die Benutzung des colon-operators leistet unschätzbare Dienste: >> B(2,1:2) ans = 1 2 Der colon-operator ohne weitere Angabe steht für ganze Zeilen/Spalten: >> B(:,1) ans = 3 1 Typeset by FoilTEX 18

Editieren von Matrixelementen Es ist einfach einzelne Matrixelemente zu editieren: >> B(1,1)=5 B = 5 0 6 1 2 5 >> B(3,4)=0 B = 5 0 6 0 1 2 5 0 0 0 0 0 >> B(3,2:3)=1 B = 5 0 6 0 1 2 5 0 0 1 1 0 Typeset by FoilTEX 19

Erzeugung spezieller Matrizen eye(n,m) - eine n m Matrix mit Einsen auf der Diagonalen, sonst Nullen. rand(n,m) - eine n m Matrix mit Zufallszahlen aus [0, 1]. ones(n,m) - eine n m Matrix, enthält nur Einsen. zeros(n,m) - eine n m Matrix, enthält nur Nullen. Typeset by FoilTEX 20

Das Zusammensetzen von Matrizen Das kombinieren von mehreren Matrizen zu einer neuen ist kein Problem. Matrix = ( A B C Diese Matrix wird einfach mit Matrix=[A B; C] eingegeben. Die Spaltenanzahl jeder Zeile muss aber übereinstimmen! ) Typeset by FoilTEX 21

Das Laden und Speichern von Daten An dieser Stelle geht es nur um 2 Dateitypen: Speichern/Laden des Workspace oder einzelner Objekte in einer.mat-datei. Speichern/Laden von Skript- oder Funktionsdateien in einer.m-datei. Typeset by FoilTEX 22

.mat-dateien : save session.mat - speichert kompletten Workspace. save session.mat A B - speichert nur die benannten Objekte A, B. Laden mit load session..m-dateien enthalten - eine Folge von Anweisungen /Programmen. - eigene Funktionen. Erstellung : mit jedem Texteditor. Abspeichern : unter name.m. Aufrufen : name vom Matlabprompt aus. Die Datei name.m muss sich im aktuellen Arbeitsverzeichnis befinden. Typeset by FoilTEX 23

Zufallszahlen Zufallszahlen: echt zufällig, z.b. tics eines Geigerzählers, Würfel,... Pseudozufallszahlen: werden durch mathematischen Algorithmus erzeugt Wünschenswerte Eigenschaften: effiziente Berechnung verhalten sich bei statistischen Tests wie echte Zufallszahlen gute statistische Eigenschaften kein zusätlicher Speicherplatz Reproduzierbarkeit von Zufallszahlenfolgen Typeset by FoilTEX 24

Der Seed-Wert Nach dem Start liegt immer derselbe seed -Wert vor! Neu setzen: rand( state,seed). Z.B.: rand( state,100*sum(clock)), setzt den Seed abhängig von der Systemzeit. Typeset by FoilTEX 25

Elementare Programmschleifen und Abfragen if -Abfragen: Wenn meine Bedingung gilt, tue die weiteren Anweisungen. Die wichtigsten Operatoren, für die Bedingungen sind: ==, =,<,>,<=,>=. Beispiel: if b~=0 c=a/b else c=0 end Typeset by FoilTEX 26

. for-schleifen: Wiederhole folgende Anweisungen so und so oft. Beispiel: for i=1:10 s=s+i end Typeset by FoilTEX 27

. while-schleifen: Tue meine Anweisung, solange diese Bedingung erfüllt ist. while-schleifen werden solange durchlaufen, bis eine Bedingung erfüllt ist. (Hervorragend zur Erzeugung von Endlosschleifen geeignet!!) Beispiel: e = 1; while (1+e) < 10 e = e+0.5; end display( Die Schleife ist jetzt zu Ende ) Typeset by FoilTEX 28

Funktions-Dateien Funktionsdateien sind Skriptdateien an die Parameter übergeben werden können. Kennzeichnend ist die erste Zeile: function Ausgabevariable/n = NAME(Eingabeparameter) Beispiele: function p=wkeit(sequenz) function [a,b]=auswertung(c,d,e) Typeset by FoilTEX 29

. Aufgerufen werden Funktionen mit: NAME(Eingabeparameter) Beispiele: >> auswertung(5,7,8) >> f=auswertung(5,7,8) >> [f,g]=auswertung(5,7,8) Typeset by FoilTEX 30

Beispiel für eine Funktionsdatei: Berechnung der Nullstellen eines quadratischen Polynoms: function [n1,n2] = NPol2(a,b,c) % Ausgabe von der Nullstellen eines quadratischen Polynoms % der Form ax^2+bx+c. if a==0 error( Es handelt sich um kein quadratisches Polynom! ) end n1=-b/(2*a)+((b/(2*a))^(2)-c/a)^(0.5) n2=-b/(2*a)-((b/(2*a))^(2)-c/a)^(0.5) Typeset by FoilTEX 31