Wenn Sie eine Funktion haben, die eine variable Anzahl von Argumenten (wie ndgrid) benötigt, wie können Sie eine willkürliche Liste von Argumenten an diese Funktion übergeben?Wie kann ich eine Menge einer unbekannten Anzahl von Argumenten an eine Funktion in MATLAB übergeben?
Zum Beispiel möchte ich es machen, so dass ich manchmal zwei Vektoren passieren ndgrid und zwei Matrizen zu erhalten, dh,
[X1,X2] = ndgrid(x1,x2);
Aber auch andere Zeiten, ich könnte mehr X habe, ich werde
so will[X1,X2,X3,X4] = ndgrid(x1,x2,x3,x4)
- gibt es irgendeine Art von Struktur kann ich eine Liste von einer unbekannten Anzahl von Argumenten speichern verwenden und dann gebe sie nur diese Liste auf eine Funktion? Und,
- Gibt es eine Möglichkeit, alle Ausgaben von einer Funktion abzurufen, wenn Sie nicht wissen, wie viele es sein wird?
eine schnelle und schmutzige Weise zu abstrahieren Ihre Eingangs- und Ausgangs bis ein Pegel („Dimension“) und nehmen eine Reihe von Eingaben wären und gib ein Array aus - das ist [X] = ndgrid (x) wobei X und x Zellenarrays sind, mit jedem Element ein aktuelles Eingabeelement –
Ich bin jedoch nicht versiert genug, um definitiv zu sagen, ob MATLAB ein ' varargs' Typ Funktionalität (Ich bin mir sicher, dass es tut, wie es in C kompilieren kann) –
oh es ist bemerkenswert einfach: http://www.mathworks.com/help/matlab/ref/varargin.html –