Mo Logo [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]

Zur Kontrolle der Ein- und Ausgabeparameter von Funktionen stellt MATLAB unter anderem die folgenden Funktion zur Verfügung:

 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.

(Autoren: Hörner/Wipper)

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.

(Autoren: Gutzer/Hager/Rolla/Stubenvoll)

(Inhalt vorübergehend nicht verfügbar)

[vorangehende Seite] [nachfolgende Seite] [Gesamtverzeichnis][Seitenübersicht]

  automatisch erstellt am 5.2.2008