Präsentation herunterladen
Veröffentlicht von:Godafrid Lais Geändert vor über 11 Jahren
1
Matlab Praktikum Dipl.-Math. Zülfü Taskesen
2
Dipl.-Math Zülfü Taskesen
Praktikumsübersicht Teil 1 Erste Schritte in Matlab Einführung und Motivation Einfaches Rechnen Rechnen mit Vektoren und Matrizen Teil 2 Vertiefter Umgang mit Matlab Anwendungen zur Matrix und Vektorrechnung Weitere Datentypen Programmieren Teil 3 Funktionen in Matlab Funktionen m-Files Debuggen Dipl.-Math Zülfü Taskesen
3
Dipl.-Math Zülfü Taskesen
Praktikumsübersicht Teil 4 Graphische Ausgaben mit Matlab 2D Plots Gestalten von Graphikausgaben Mehrdimensionale Plots Animationen Teil 5 Erweiterungen von Matlab Toolboxen Graphische Oberflächen Profiler Teil 6 Projekt Selbstständiges Bearbeiten einer mathematischen Fragestellung mit Hilfe von Matlab Dipl.-Math Zülfü Taskesen
4
Einführung und Motivation
Was ist Matlab? MATrix LABoratory Matlab ist ein Softwarepaket für numerische Berechnungen und zur Visualisierung; wurde in den 1970er Jahren zur Unterstützung von Kursen der Linearen Algebra und numerischen Analysis entwickelt. Dipl.-Math Zülfü Taskesen
5
Einführung und Motivation
Was kann Matlab? Matlab bietet eine einfache Syntax basierend auf dem Matrix-Datentyp; ein breites Spektrum mathematischer Funktionen und Algorithmen aus verschiedenen Anwendungsbereichen; eine plattformübergreifende Programmiersprache; einfach zu bedienende Visualisierungsmöglichkeiten. Dipl.-Math Zülfü Taskesen
6
Einführung und Motivation
Matlab starten Nach erfolgreichem Start erscheint ein dreigeteiltes Fenster bestehend aus Eingabefenster (Command Window): Hier werden die Matlab Befehle eingegeben; Workspace Fenster: Zeigt die definierten Variablen an; History Fenster: Zeigt die zuletzt eingegebenen Befehle an; Dipl.-Math Zülfü Taskesen
7
Einfaches Rechnen in Matlab
Beispiel: Berechne zu einem Kreisradius r die Fläche und den Umfang des Kreises. >> r = 3 r = 3 >> A_Kreis = r ^2* pi A_Kreis = >> U_Kreis = 2* r*pi U_Kreis = Dipl.-Math Zülfü Taskesen
8
Einfaches Rechnen in Matlab
Elementares Rechnen in Matlab: Variablen werden durch Zuweisungen eines Wertes mit ”=” definiert. Namen müssen mit einem Buchstaben anfangen und dürfen Buchstaben, Zahlen und den Unterstrich enthalten. Dabei wird Groß- und Kleinschreibung berücksichtigt. Die Grundrechenarten sind durch die Zeichen +,−,*, /,^, ( potenzieren) definiert. Bei den Operatoren gilt die übliche Auswertungsreihenfolge: Potenzieren vor Punktrechnung vor Strichrechnung. Auswertungsreihenfolgen können durch Klammerung geändert werden. Dipl.-Math Zülfü Taskesen
9
Elementare Funktionen in Matlab
Es gibt eine Vielzahl elementarer Funktionen in Matlab: exp, pow2 Exponentialfunktion zur Basis e bzw. 2 log, log10, log2 Logarithmus Funktionen sqrt, realsqrt Wurzelfunktionen sin, cos, tan Trigonometrische Funktionen asin, acos, atan Inverse der trigonometrischen Funktionen sinh, cosh, tanh Hyperbelfunktionen asinh, acosh, atanh Area Hyperbolicus Funktionen round, floor, ceil runden, abrunden, aufrunden mod, rem, sign Modul, Divisionsrest, Vorzeichen Dipl.-Math Zülfü Taskesen
10
Dipl.-Math Zülfü Taskesen
Konstanten in Matlab In Matlab sind einige spezielle Zahlen definiert: realmin, realmax kleinste bzw. größte darstellbare Gleitpunktzahl eps relative Genauigkeit von Gleitpunktzahlen inf, -inf ± unendlich NaN Not a number, nicht definierter Ausdruck, z.B. 0/0 pi Kreiszahl p i, j imaginäre Einheit Dipl.-Math Zülfü Taskesen
11
Dipl.-Math Zülfü Taskesen
Variablen in Matlab In Matlab werden Variablen durch Zuweisungen ohne vorherige Deklaration angelegt. In einem Workspace definierte Variablen können mit den Funktionen who und whos angezeigt werden. Durch Variablendefinition können vorhandene Matlab Funktionen und Variablen überschrieben werden. Mit clear <Variablenname> bzw. clear kann eine Variable bzw. alle Variablen im Workspace gelöscht werden. Dipl.-Math Zülfü Taskesen
12
Dipl.-Math Zülfü Taskesen
Komplexe Zahlen Komplexe und reellwertige Zahlen können in Matlab gleichzeitig ohne besondere Deklaration verwendet werden. Real- und Imaginärteil einer Zahl können mit den Funktionen real bzw. imag bestimmt werden. Der Betrag einer komplexen Zahl kann mit abs bestimmt werden. Vorsicht mit den Variablen i und j: Dipl.-Math Zülfü Taskesen
13
Dipl.-Math Zülfü Taskesen
Ausgabeformatierung Die Ausgabeformatierung kann mit format angepasst werden. format loose: Darstellung mit großen Abständen format compact: kompakte Darstellung format short: Festpunktdarstellung mit 5 Stellen format long: Festpunktdarstellung mit 15 Stellen format e: Gleitpunktdarstellung mit 5 Stellen format long e: Gleitpunktdarstellung mit 15 Stellen format rat: Rationale Näherung Dipl.-Math Zülfü Taskesen
14
Dipl.-Math Zülfü Taskesen
Einfache Skripte Matlab Befehle können in Textdateien mit Endung .m gespeichert und im Workspace durch Eingabe des Dateinamens (ohne Endung) ausgeführt werden. Dazu kann der Matlab Editor edit oder jeder andere Texteditor benutzt werden. Kegel.m >> Kegel r = 3 h = 5 V = 15 >> % Berechnung des Volumens % eines Kegels r=3 h=5 V =1/3* r ^2* h Dipl.-Math Zülfü Taskesen
15
Dipl.-Math Zülfü Taskesen
Zeilen, die mit einem % beginnen, werden als Kommentarzeilen behandelt. Lange Eingaben können durch ... auf mehrere Zeilen verteilt werden. Beim Aufruf im Workspace werden alle Skripte im aktuellen Verzeichnis und im Suchpfad berücksichtigt. Die Funktion what listet alle m-Files im aktuellen Verzeichnis auf. Dipl.-Math Zülfü Taskesen
16
Rechnen mit Matrizen und Vektoren
Matrizen und Vektoren können in Matlab durch Angabe der Elemente in eckigen Klammern definiert werden. >> alpha =pi /4; >> A=[ cos ( alpha ), -sin ( alpha ); sin ( alpha ), cos ( alpha )] A = Vektoren werden als Matrizen definiert, wobei die Zeilen- oder Spaltendimension 1 ist. In Matlab sind Operatoren zum Rechnen mit Matrizen, Vektoren und Skalaren definiert. Dipl.-Math Zülfü Taskesen
17
Operatoren für Matrizen
Operationen zwischen zwei Matrizen / Vektoren: +, -, * zum Addieren, Subtrahieren, Multiplizieren. Operatoren zum Lösen linearer Gleichungssysteme: /, \. Komponentenweise Multiplikation und Division: skalare Multiplikation mit den Operatoren .* und ./: Komponentenweises Potenzieren mit .^: Dipl.-Math Zülfü Taskesen
18
Dipl.-Math Zülfü Taskesen
Spezielle Matrizen Einsmatrix- bzw. –vektor: ones(n), ones(n,m) Nullmatrix- bzw. -vektor: zeros(n), zeros(n,m) Einheitsmatrix bzw. -vektor: eye(n), eye(n,m) Zufallsmatrix bzw. -vektor: rand(n,m), randn(n,m) Diagonalelemente einer Matrix: diag(x), diag(A) >> rand (3) ans = Dipl.-Math Zülfü Taskesen
19
Dipl.-Math Zülfü Taskesen
Matrixindizierung über Zeilen- und Spaltenindizes über Indizes der Elemente >> A =[1 2 3; 4 5 6] >> A(2, 2) ans = 5 >> A (2) 4 Dipl.-Math Zülfü Taskesen
20
Dipl.-Math Zülfü Taskesen
Matrix-Abmessungen Die Abmessungen einer Matrix kann mit der Funktion size A bzw. [z,s]=size(A) ermittelt werden, mit length(A) kann man die Länge eines Vektors ermitteln. Die Funktion numel(A) gibt die Anzahl der Elemente von A zurück, Dipl.-Math Zülfü Taskesen
21
Aufgaben -Elementares Rechnen
Ermitteln Sie das Ergebnis von >> 3+4/5*6 >> 48/3-3^2 >> exp(700) >> exp(710) >> round(-2.6), fix(-2.6) >>sqrt(1^2+1^2) >> z = (3+2i)/(1-i) >> real(z), imag(z) >> z = 4i/(1+i) >> conj(z) >> angle(z)*180/pi >> abs(z) Dipl.-Math Zülfü Taskesen
22
Aufgaben - Rechnen mit Matrizen
Erzeugen Sie einen Zeilenvektor mit der ersten Koordinate 29 und der letzten 1, wobei sich die Koordinaten absteigend um 2 unterscheiden sollen. Erzeugen Sie einen Vektor y, der die Funktionswerte des natürlichen Logarithmus an den Stellen 1; 3; 5; 7 enthält. Was ist y(1)? >> zeros(3,2) >> eye(3) >> ones(2,3) >> A = [1 2; 3 4; 5 6] >> B = [7 8; 9 10; 11 12] >> A.*B, A.^2+ B.^2 Dipl.-Math Zülfü Taskesen
23
Vertiefter Umgang mit Matlab
Anwendungen zur Matrix und Vektorrechnung Weitere Datentypen Programmieren Dipl.-Math Zülfü Taskesen
24
Anwendungen zur Matrix und Vektorrechnung
Polynome in Matlab Beispiel: P(x) = 2x3 + x x − 5 Dipl.-Math Zülfü Taskesen
25
Anwendungen zur Matrix und Vektorrechnung
Darstellung von Polynomen Polynome werden in Matlab durch einen Zeilenvektor repräsentiert, wobei die Koordinaten die Koeffizienten des Polynoms darstellen. Die Reihenfolge ist absteigend festgelegt p(x) = x^4 +8*x^3 + 2*x^2 + x -12 >> p=[ ] Beachten Sie, dass Nullkoeffizienten mitgeführt werden müssen Dipl.-Math Zülfü Taskesen
26
Anwendungen zur Matrix und Vektorrechnung
Auswerten von Polynomen Polynome können mit der Funktion polyval ausgewertet werden p(x) = x^4 +8*x^3 + 2*x^2 + x -12 >> p=[ ] >> xo=2.5 >>px = polyval(p,xo) >> xo=-1:0.5:1 >>px = polyval(p,xo) Dipl.-Math Zülfü Taskesen
27
Anwendungen zur Matrix und Vektorrechnung
Zusammenfassung Funktion Beschreibung conv Multipliziert Polynome Deconv Dividiert Polynome poly Polynom aus Nullstellen polyder Berechnet Ableitung polyint Berechnet Integral polyval Berechnet Polynomwerte roots Berechnet Nullstellen Dipl.-Math Zülfü Taskesen
28
Dipl.-Math Zülfü Taskesen
Weitere Datentypen Zeichenketten Zeichenketten werden in Matlab in einfachen Hochkommata ’ ’ angegeben, gespeichert werden sie als Vektor von Buchstaben (char Array). >> a= 'Hallo Bremen' Auf die Buchstaben einer Zeichenkette kann wie auf Elemente von Matrizen zugegriffen werden. >> a (1:5) Dipl.-Math Zülfü Taskesen
29
Dipl.-Math Zülfü Taskesen
Weitere Datentypen Cell Arrays Eine Verallgemeinerung von mehrdimensionalen Feldern sind Cell Arrays, in denen beliebige Datenstrukturen gespeichert werden können. >> C={ rand(2,10),eye(10)} Dipl.-Math Zülfü Taskesen
30
Dipl.-Math Zülfü Taskesen
Programmieren Steuerstrukturen for-Schleifen while-Schleifen Verzweigungen mit if Verzweigungen mit switch Dipl.-Math Zülfü Taskesen
31
Dipl.-Math Zülfü Taskesen
Programmieren FOR-Schleifen for variable = ausdruck befehle end for n = 1:10 f = n^2 end Dipl.-Math Zülfü Taskesen
32
Dipl.-Math Zülfü Taskesen
Programmieren WHILE-Schleifen w=0 while w > 1 w = w + 1 end while ausdruck befehle end Dipl.-Math Zülfü Taskesen
33
Dipl.-Math Zülfü Taskesen
Programmieren If-Anweisung if ( x >1) disp (’ x ist kleiner als 1’); elseif ( abstand <1) disp (’ x ist größer als 1’); else disp (’ x ist keine reelle Zahl‘); end if <Bedingung> <Anweisung> elseif <Bedingung> else end Dipl.-Math Zülfü Taskesen
34
Dipl.-Math Zülfü Taskesen
Programmieren switch Anweisung n= mod ( floor ( rand (1)*10) , 9)+1 switch n case {1 ,4 ,9} disp ('ist Quadratzahl '); case {2 ,3 ,5 ,7} disp ('ist Primzahl '); otherwise disp ('ist Kubikzahl '); end switch <Ausdruck> case Wert <Anweisung> case {Wert1, Wert2, ...} otherwise end Dipl.-Math Zülfü Taskesen
35
Dipl.-Math Zülfü Taskesen
Programmieren Berechne eine Approximation an die Exponentialfunktion e^x durch Dipl.-Math Zülfü Taskesen
36
Dipl.-Math Zülfü Taskesen
ergebnis = 1; for i = 1 : n ergebnis = ergebnis *i; end Fakultät erg = 0; for i = 0 : n erg = erg + x ^ i /ergebnis ; end Exponentialfunktion Dipl.-Math Zülfü Taskesen
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.