MATLAB m-Files

Werbung
MATLAB
m-Files
m-Files sind Folgen von MATLAB-Anweisungen oder Daten-Files.
Erstellen von m-Files
Über File New M-file wird ein Texteditor geöffnet. Dort wird das m-File als ASCII-File erzeugt und unter
name.m im Arbeitsverzeichnis von MATLAB gespeichert.
Achtung: das Arbeitsverzeichnis kann unter Windows über Programmeigenschaften eingestellt werden
oder über das Kommando path in MATLAB. M-Files werden nur im Arbeitsverzeichnis gefunden!
Daten-Files
Erfordert die Aufgabenstellung die Verarbeitung großer Datenmengen, gibt man sie in Form eines m-Files ein,
da hier bessere Editiermöglichkeiten bestehen als im Kommando-Fenster. Das m-File wird unter name.m im
Arbeitsverzeichnis von MATLAB gespeichert und kann im Kommando-Fenster durch Aufruf von name in den
Arbeitsspeicher geladen werden
Skript-Files
sind Folgen von MATLAB-Anweisungen. Sie werden unter name.m im Arbeitsverzeichnis gespeichert. Durch
den Aufruf von name im Kommando-Fenster wird die Abarbeitung gestartet.
Skript-Files arbeiten ohne Parameterübergabe, alle Variablen sind global.
Funktions-Files
zur Definition von Funktionen. Dabei müssen die Bezeichnung des Files, gefolgt von der Extention m, und der
Funktionsname gleich sein. Es können Argumente übergeben werden, und ein Funktionswert wird
zurückgeliefert.
function Funktionswert=Funktionsname(Argumentliste)
%Kommentar
Anweisungen
Der Variablen Funktionswert wird in der Anweisungsfolge das Resultat zugewiesen.
Alle anderen Variablen im m-File sind lokal.
Folgende Kontrollstrukturen stehen zur Ablaufsteuerung zur Verfügung
if-Anweisung
if Bedingung
Anweisung;
end
oder erweitert
if Bedingung1
Anweisung1
elseif Bedingung2
Anweisung2
...
else
Anweisung
end
for-Anweisung
for zaehler=bereich
Anweisungen
end
Dabei ist bereich ein Vektor, der die Anzahl der Schleifendurchgänge bestimmt. Die Laufvariable zaehler
nimmt als Wert der Reihe nach dieKomponenten von bereich an.
Bsp.
for i = 1:2:100
while-Anweisung
while Bedingung
Anweisungen
end
Der Aufruf eines Funktions-Files erfolgt in MATLAB über Name(....).
1
MATLAB
m-Files
Beispiel für ein Funktions-File
function y=f(x);
c=5;
y=x^2+c
Speichert man diese Folge unter f.m im Arbeitsverzeichnis, kann man im Kommandofenster z. B. f(3) aufrufen.
Die Variable c ist lokal, d.h. vom Kommandofenster aus nicht abrufbar.
Möchte man auf eine Variable eines Funktions-Files außerhalb zugreifen, muß sie sowohl im Kommandofenster
als auch im Funktions-File als global deklariert sein.
1.
Schreiben Sie ein m-file, dem Sie als Parameter zwei dreidimensionale Vektoren übergeben und das
als Ergebnis das Skalarprodukt zurückgibt.
2.
Schreiben Sie ein m-File, das den Betrag eines Vektors beliebiger Dimension zurückgibt. Es soll für
Zeilen- und Spaltenvektoren funktionieren.
3.
Für drei dreidimensionale Vektoren soll das Spatprodukt berechnet werden.
Fügen Sie einen Test ein, der bewirkt, daß die Ausschrift ‘Dimensionsfehler’ zurückgegeben wird,,
wenn nicht drei dreidimensionale Vektoren übergeben wurden.
Hinweis: Bildschirmausschrift durch disp(‘string’)
4.
Schreiben Sie ein m-File, das bei Übergabe einer natürlichen Zahl n den Wert n! berechnet.
5.
Schreiben Sie ein m-File, das bei Übergabe von zwei natürlichen Zahlen n, m den
Binomialkoeffizienten berechnet, wenn das möglich ist, sonst die Ausschrift ‘nicht definiert’.
6.
Versuchen Sie, numerisch nachzuweisen, daß die harmonische Reihe divergiert. Schreiben Sie dazu
ein m-File, das die Partialsummen vorgegebener Ordnung berechnet.
7.
Untersuchen Sie numerisch die Leibniz-Reihe auf Konvergenz!
8.
Erzeugen Sie ein m-File, das eine 3x3-Matrix enthält. Rufen Sie das m-File von der Kommandoebene
aus auf.
9.
Schreiben Sie ein Funktions-File iszero(X,tol), das den Wert 1 zurückgibt, falls die Beträge aller
Elemente von X kleiner als tol sind, sonst soll 0 zurückgegeben werden.
2
Beispiele und Aufgaben zu den Kontrollstrukturen
1. For – Schleife
Beispiel 1: Im folgenden Quelltext wird ein Vektor a erstellt – Welche Dimension hat er?
Welche Zahlen enthält er?
Beispiel 2: Im folgenden Quelltext wird eine Schar von Parabeln geplottet – Welche
Parabeln?
Beispiel 3: Im folgenden Quelltext werden Matrizen erstellt – schreiben Sie die Matrix für k=4
per Hand auf!
2. If – Auswahl
Beispiel 1: Definition und Plot einer zusammengesetzten Funktion – Welcher?
Beispiel 2: Was macht die folgende Funktion?
3. While – Schleife
Beispiel 1: Im folgenden Quelltext werden Matrizen erstellt – schreiben Sie die Matrix für k=4
per Hand auf!
4. Switch-Case – Auswahl
Beispiel 1: Im folgenden Quelltext werden Monaten Tage zugeordnet. Schreiben Sie mit
diesem Quelltext eine Funktion „Monattage(x)“, welche zu einer Monatsnummer x die
entsprechende Anzahl von Tagen zurückgibt.
Herunterladen