[Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen] | |
Mathematik-Online-Lexikon: | |
Ein- und Ausgabeparameter von Funktionen |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Übersicht |
function [m,c]=ausgleichsgerade(X,Y) if nargin==0 error('Keine Daten vorhanden') end if ~exist('Y','var') Y=X; X=1:length(Y); end K=[X(:),ones(length(X),1)]\Y(:); if nargout>0 m=K(1); end if nargout>1 c=K(2); endAnalog zur Funktion plot werden bei Übergabe von nur einem Datenvektor diese als -Werte interpretiert und die -Werte automatisch generiert. Die Zuweisung der Rückgabewerte erfolgt nur, sofern diese auch beim Aufruf angegeben wurden.
Die Verwendung von exist zur Kontrolle, ob ein Parameter übergeben wurde, besitzt gegenüber der reinen Anzahlkontrolle mit nargin den Vorteil, dass der Code lesbarer und robuster gegenüber Änderungen der Parameterreihenfolge wird.
Ausgaben der Funktion:
>> X=rand(1,10); >> Y=rand(1,10); >> ausgleichsgerade ??? Error using ==> ausgleichsgerade Keine Daten vorhanden >> [m,c]=ausgleichsgerade(Y) m = 0.0463 c = 0.2706 >> m=ausgleichsgerade(X,Y) m = -0.7209 >> ausgleichsgerade(X,Y)Da beim letzten Aufrüf keine Rückgabevariablen angegeben wurden, besitzt nargout den Wert 0. In diesem Fall werden die Resultate nicht den Variablen m und c zugewiesen, weshalb die Funktionen nichts zurückgibt.
automatisch erstellt am 12. 1. 2007 |