[Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen] | |
Mathematik-Online-Kurs: MATLAB - Programmierung | |
Ein- und Ausgabeparameter von Funktionen |
[vorangehende Seite] [nachfolgende Seite] | [Gesamtverzeichnis][Seitenübersicht] |
nargin Anzahl der Eingabeparameter nargout Anzahl der Ausgabeparameter exist prüft, ob eine Variable existiert varargin Eingabeparameterliste unbestimmter Länge (cell-array) varargout Ausgabeparameterliste unbestimmter Länge nargchk prüfen der Eingabeparameteranzahl nargoutchk prüfen der Ausgabeparameteranzahl
Funktionen als Eingabeparameter können sowohl als String (Name der Funktions-Datei) oder als Funktionshandle übergeben werden. Ist fct der Variablenname, in den die Funktion übergeben wurde, so kann die Funktion mit den Befehlen feval(fct,arg1,...) bzw. fct(arg1,...) aufgerufen werden.
Als Beipiel für optionale Eingabe- und Ausgabevariablen wird mit folgenden Programm Volumen und Oberfläche eines Voll- bzw. Hohlzylinders bestimmt.
function [Vol, Ob] = zylinder(h, R, r) % Volumen und Oberfläche (optional) eines Hohl- oder Vollzylinders % mit Höhe h, Aussenradius R und Innenradius r (optional) if nargin < 2 error('zu wenige Parameter') end if nargin == 2 r = 0 elseif r >= R error('Aussenradius nicht größer als Innenradius') end Vol = pi*h*(R^2 - r^2); if nargout == 2 Ob = 2*pi*(h*(r+R) + R^2-r^2); end
Zunächst wird mit einer Fehlermeldung auf die
korrekte Eingabe hingewiesen, wenn weniger als
zwei Eingabevariablen
(nargin < 2
) übergeben wurden.
Der Vollzylinder wird dann als Spezialfall des
Hohlzylinders berechnet, d.h. bei zwei
Eingabevariablen
(nargin == 2
) wird der innere Radius
Null gesetzt.
Im Fall des Hohlzylinders (nargin > 2
)
wird noch geprüft, ob der innere Radis
kleiner als der äussere ist (r < R
).
Nun wird zunächst das Volumen berechnet.
Die Ausgabe der Obfläche ist optional und wird
nur im Fall nargout == 2
bestimmt.
[vorangehende Seite] [nachfolgende Seite] | [Gesamtverzeichnis][Seitenübersicht] |
automatisch erstellt am 5.2.2008 |