Anwendung von Standardsoftware Sommersemester2005 MATLAB Einführung Technische Fachhochschule Georg Agricola Bochum Prof. Dr. Dreehsen 15.06.2005 Seddik Filali El Miqdam Anass Haloui Inhalt Einleitung Was ist MATLAB MATLAB – Anwendungsumgebung Direkte und Indirekte Eingabe MATLAB Anwendungsfenster, Anweisungen, Editieren Rechnen mit Skalaren und Matrizen Addition und Subtraktion von Matrizen Grundlegende mathematische Funktionen Beispiel für eine mathematische Funktion Vor- und Nachteile von MATLAB Zusammenfassung Einleitung MATLAB ist ein Werkzeug, das Programmiersprache, grafische Fähigkeiten und mathematische Programmsammlung unter einer einheitlichen Benutzeroberfläche vereint. Der Name MATLAB kommt aus der Abkürzung Matrix Laboratory. WAS IST MATLAB Mit MATLAB kann man mathematische Berechnungen, Visualisierung und technische Berechnungen durchführen. Darüber hinaus kann man Matlab als Werkzeug für die Datenauswertung benutzen. Dabei stehen Operationen mit Vektoren und Matrizen im Mittelpunkt. MATLAB ist für verschiedene Betriebsysteme erhältlich, z.B. Microsoft Windows, Solaris und Linux. Die Firma Mathworks, der Hersteller von MATLAB, bietet eine Vielzahl von Erweiterungen an. MATLAB enthält im Allgemeinen: Bibliothek mit einer Vielzahl von mathematischen Funktionen. Entwicklungsmittel für Algorithmusbildung. Modellbildung und Simulation. 2D und 3D Graphiken. Datenanalyse und- Auswertung. Bausteine für die Lösung von wissenschaftlichtechnischen Aufgabenstellungen. Interaktive Arbeitsweise mit Hilfefunktionen. MATLAB- Oberfläche Command Window Hier kann man die Befehle über die Tastatur eingeben Workspace Hier werden alle definierten Variablen aufgelistet MATLAB- Oberfläche MATLAB Editor Fenster Direkte und Indirekte Eingabe Direkte Eingabe von Skalare, Matrizen und Vektoren Im MATLAB Command Window beginnt Jede Eingabeanweisung hinter dem Promtzeichen „>>“ . Durch das Betätigen der Return-Taste “↵“ wird die Eingabeanweisung abgeschlossen und damit durchgeführt. Direkte Eingabe Z.B. die Addition oder Multiplikation von Zahlen: >> 10 +20 liefert ans = 30 oder >> 10*20 liefert ans = 200 Indirekte Eingabe Eine M-Datei kann nach dem Speichern durch klicken auf der „Run“ Oberfläche ausgeführt werden. Oder Wenn man den Namen der Datei im Command Window angibt und auf der Eingabe Taste drückt . MATLAB Anweisungen Ausdrücke und Variablen Die allgemeine Form der Eingabe in MATLAB ist: >> Variable = Ausdruck Oder >> Ausdruck Vordefinierte Variablen Hier sind ein paar, der in MATLAB vordefinierten Variablen: Spezielle Variable Bedeutung ans Variablenname für Resultat (Default) computer Identi.ziert den Computer eps Maschinengenauigkeit flops Zählt Gleitpunktoperationen i Imaginäre Einheit Inf In.nity inputname Eingabeargumentname J Imaginäre Einheit NaN Not-a-Number nargin,nargout Anzahl von Argumenten pi Kreiszahl ð _ 3:14 realmax größte positive Maschinenzahl realmin kleinste positive Maschinenzahl varargin,varargout Variable Anzahl von Argumenten Zahlen In Matlab kann man die Dezimalschreibweise mit positivem bzw. negativem Vorzeichen und „e“ als Zehnerpotenz eingeben. Beispiel: 1 101 0.0001 9.84757 1.5e-12 3i -3.4j 4e3i 8.997 Rechnen mit komplexen Zahlen Die Bezeichnungen der arithmetischen Operationen der reellen Zahlen gelten auch für komplexe Zahlen Beispiel: z=1+4j Wobei j nur ein Platzhalter ist, der auch durch i oder p ersetzt werden kann. Eingebaute Funktionen für komplexen Zahlen Funktion Beschreibung Mathematische Syntax abs Absolutwert |z| angle Winkel arg(z) conj konjugiert komplex z imag Imaginärteil Im(z) real Realteil Re(z) Matrizen Wie gibt man Zeilen- oder Spaltenvektoren ein? Dazu gibt es zwei Möglichkeiten: Direkte Matrizeneingabe: Man gibt die Vektoren explizit ein Indirekte Matrizeneingabe Man verwendet eingebaute MATLAB-Funktionen Matrizen Direkte Matrizeneingabe: Die Zeilen müssen alle die gleiche Anzahl der Elemente haben [Zeile1 ; Zeile 2 ; Zeile 3, ………Zeile n] Beispiel: >> A = [2 3 -2 ; -2 31 3 ; -4 -5 6 ; 9 0 6] A= 2 3 -2 -2 31 3 -4 -5 6 9 0 6 Matrizen Auswahl von Spalten- oder Reihen-Elemente einer Matrix Das Element in der i-ten Zeile j-ten Spalte einer Matrix Format (m,n) wird wie folgt abgebildet A(i,j) A vom Addition und Subtraktion von Matrizen Die Addition und Subtraktion von Matrizen geschieht elementweise. Matrizen, die voneinander addiert oder subtrahiert werden, müssen dieselben Dimensionen haben. Grundlegende mathematische Funktionen Die grundlegende mathematische Funktionen in MATLAB sind genauso wie ein Taschenrechner. z.B. Wenn man >>cos(0) Eingibt, so bekommt man den Kosinuswert an der Stelle 0, also 1. >>cos(0) ans= 1 Grundlegende mathematische Funktionen Einige vordefinierte mathematische Funktionen in Matlab. Funktion Beschreibung cos Kosinus sin Sinus tan Tangens exp Exponentialfunktion expx log Natürlicher Logarithmus loge x = ln x log10 Logarithmus zur Basis 10 log10 x = lg x log2 Logarithmus zur Basis 2 log2 x Beispiel für eine mathematische Funktion Graphische Darstellung von Y=cos(X²) Zuerst wird ein Intervall definiert >> x=[0:pi/50:2*pi] Hier wird die Funktion angegeben und die Werte >> y=cos(x.^2) Mit dem Befehl « plot » wird die Funktion graphisch dargestellt >> plot(x,y) Beispiel für eine mathematische Funktion Vor- und Nachteile von MATLAB Einige Vorteile In MATLAB sind eine große Zahl von höheren Funktionen und viele Standardfunktionen in das System integriert. Matrizen und Komplexwertige Zahlen sind in das System integriert. Sehr schnelle Ausführungsgeschwindigkeit MATLAB-Programme laufen ohne Änderungen auf vielen Plattformen Vor- und Nachteile von MATLAB Einige Nachteile Wie fast alle Interpretersprachen ist MATLAB bei bestimmten Operationen, vor allem beim Ausführen von Schleifen, sehr langsam. Die Anforderungen an den Rechner sind sehr groß (u. a. der Speicherbedarf). Die Funktionen beschränken sich fast ausschließlich auf die Numerik. Zusammenfassung Aufgrund der beschriebenen Vor- und Nachteile, ist MATLAB besonders geeignet für die Lösung von Problemen die sich vektorisieren lassen. MATLAB eignet sich auch gut für Programme, die auf grafische Ausgabe angewiesen sind und für die Bearbeitung von Pixelgrafiken. Vielen Dank für Ihre Aufmerksamkeit Literaturverzeichnis Günter Gramlich - Wilhem Werner, Numerische Mathematik mit Matlab, Januar 2000 Doc. Ing. Osvald Modrlák, Einführung in MATLAB, Mai 2004