In Matlab für ein multiple-input-Funktion, wie man mit einem einzigen Eingang mehrere Eingänge?
Ich habe eine Funktion, eine variable Anzahl von Eingängen, sagen myfun(x1,x2,x3,...)
.
Nun, wenn ich die Eingaben gespeichert in einer array-Struktur S, ich will etwas tun, wie
myfun(S.x1,S.x2,...)
. Wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie zuerst konvertieren Sie Ihre Struktur zu einem cell-array mit STRUCT2CELL, und dann verwenden, um die Liste zu generieren von mehreren Eingaben.
Beachten Sie, dass die Reihenfolge, in der die Felder in
S
definiert sind, sind die Reihenfolge, in der die Eingaben übergeben werden. Um zu überprüfen, dass die Felder in der richtigen Reihenfolge, können Siefieldnames
aufS
gibt ein Feld mit Feldnamen der entsprechenden Werte inC
.Etwas hinzufügen to Jonas' Antwort: Eigentlich kann man auch weglassen struct und gehen Sie nach rechts für die Zelle, die dann erweitert in der Liste der Funktionsargumente: