Matlab Praktikum Dipl.-Math. Zülfü Taskesen.

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Fast Fourier Transformation
Forschungszentrum caesar
Übung zur Numerische Geologie
Programmieren in Logik
10. Grundlagen imperativer Programmiersprachen
Seminar Stochastik im WS 02/03
Matlab Einführung Tobias Wunner 16. Oktober 2006.
der Universität Oldenburg
FH-Hof Einbindung von JavaScript Anweisungen
Java: Dynamische Datentypen
Sortierverfahren Richard Göbel.
Java: Grundlagen der Sprache
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
ARRAY oder FELD oder VEKTOR
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Perl-Grundlagen Teile der Präsentation von A. Grupp,
Imperative Programmierung
2D-Visualisierung von Daten
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Einführung in C++ und das objektorientierte Programmieren (OOP)
JavaScript - Einführung
Einführung in die Programmierung Datensammlung
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Einführung in die Programmiersprache C 1
Java programmieren mit JavaKara
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Polynome und schnelle Fourier-Transformation
MATLAB André Bolles.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
FORTRAN 77.
Einführung in die Programmiersprache C 4
Parallel Matrix Multiplication
Vorlesung 1.
Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Grundkonzepte des Programmierens (mit ActionScript)
Präsentation der Diplomarbeit:
Agenda für heute, 28. April, 2005 Strukturierte VariablenStrukturierte Variablen Arrays.
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
PHP: Operatoren und Kontrollstrukturen
Programmieren in C Grundlagen C 2
SFZ Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Grundlagen.
Übung 2 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 2 – Basics Vom ersten Befehl zum Plot.
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
1 VeranstaltungThemaTeilnehmerBetreuer AINF-Lehrgang PROGRAMMIEREN Martina GREILER Wolfgang KATOLNIG Peter RENDL Helfried TUISEL Peter ZYCH Heinz STEGBAUER.
Diskrete Mathematik I Vorlesung 2 Arrays.
(Syntax, Strings/Zahlen, Variablen, Arrays)
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
MATLAB Control Statements.
Wozu Maple? Symbolische Algebra Manche Sachen soll man besser nicht von Hand machen –kleine Rechnungs Fehler können mehrere Millionen werden – am besten.
6. Thema: Arbeiten mit Feldern
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen 1 SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Variablen und Datentypen

TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Inhalte der Übungen 1.Grundlagen, Ein- und Ausgabe 2.Kontrollstrukturen (Projekt 1) 3.Funktionen 4.Zeiger, Felder (Projekt 2) 5.Strings, Strukturen 6.Fileverarbeitung.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Datentypen: integer, char, string, boolean
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

Matlab Praktikum Dipl.-Math. Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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. 28.03.2017 Dipl.-Math Zülfü Taskesen

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. 28.03.2017 Dipl.-Math Zülfü Taskesen

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; 28.03.2017 Dipl.-Math Zülfü Taskesen

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 = 28.2743 >> U_Kreis = 2* r*pi U_Kreis = 18.8496 28.03.2017 Dipl.-Math Zülfü Taskesen

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. 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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. 28.03.2017 Dipl.-Math Zülfü Taskesen

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: 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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. 28.03.2017 Dipl.-Math Zülfü Taskesen

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 = 0.7071 -0.7071 0.7071 0.7071 Vektoren werden als Matrizen definiert, wobei die Zeilen- oder Spaltendimension 1 ist. In Matlab sind Operatoren zum Rechnen mit Matrizen, Vektoren und Skalaren definiert. 28.03.2017 Dipl.-Math Zülfü Taskesen

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 .^: 28.03.2017 Dipl.-Math Zülfü Taskesen

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 = 0.4898 0.7094 0.6797 0.4456 0.7547 0.6551 0.6463 0.2760 0.1626 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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, 28.03.2017 Dipl.-Math Zülfü Taskesen

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) 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

Vertiefter Umgang mit Matlab Anwendungen zur Matrix und Vektorrechnung Weitere Datentypen Programmieren 28.03.2017 Dipl.-Math Zülfü Taskesen

Anwendungen zur Matrix und Vektorrechnung Polynome in Matlab Beispiel: P(x) = 2x3 + x2 + 3.5x − 5 28.03.2017 Dipl.-Math Zülfü Taskesen

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=[1 -8 2 1 12] Beachten Sie, dass Nullkoeffizienten mitgeführt werden müssen 28.03.2017 Dipl.-Math Zülfü Taskesen

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=[1 8 2 1 -12] >> xo=2.5 >>px = polyval(p,xo) >> xo=-1:0.5:1 >>px = polyval(p,xo) 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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) 28.03.2017 Dipl.-Math Zülfü Taskesen

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)} 28.03.2017 Dipl.-Math Zülfü Taskesen

Dipl.-Math Zülfü Taskesen Programmieren Steuerstrukturen for-Schleifen while-Schleifen Verzweigungen mit if Verzweigungen mit switch 28.03.2017 Dipl.-Math Zülfü Taskesen

Dipl.-Math Zülfü Taskesen Programmieren FOR-Schleifen for variable = ausdruck befehle end for n = 1:10 f = n^2 end 28.03.2017 Dipl.-Math Zülfü Taskesen

Dipl.-Math Zülfü Taskesen Programmieren WHILE-Schleifen w=0 while w > 1 w = w + 1 end while ausdruck befehle end 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen

Dipl.-Math Zülfü Taskesen Programmieren Berechne eine Approximation an die Exponentialfunktion e^x durch 28.03.2017 Dipl.-Math Zülfü Taskesen

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 28.03.2017 Dipl.-Math Zülfü Taskesen