gibt mehrere Ausgabevariablen aus der Matlab-Funktion zurück

8

Sagen wir, ich habe eine Funktion:

%Vor%

Wenn Sie auf Ausführen klicken, gibt Matlab nur den ersten Wert aus den Ausgabeargumenten zurück - [A] in diesem Fall. Gibt es einen Befehl, den ich in meine Funktion einfügen kann, der automatisch alle Funktionsausgabeargumente [A,B,C] zurückgibt, anstatt nur das erste Argument. Ich weiß, dass ich mein Befehlsfenster [ A, B, C ] = test(x, y, z) eintippen und alle Werte erhalten kann, aber ich bin manchmal faul und möchte nur Run drücken und bekomme automatisch alle Werte.

    
user3200392 18.02.2014, 15:21
quelle

4 Antworten

8

Einige Optionen:

Fügen Sie einen Parameter hinzu, um eine ausführliche Ausgabe der Konsole anzugeben, setzen Sie sie jedoch standardmäßig auf false:

%Vor%

oder kombinieren Sie sie zu einer Ausgabe:

%Vor%

oder wenn Sie wirklich wirklich wollen, schätze ich, dass Sie eine Wrapperfunktion schreiben könnten, die Sie für Ihre Funktion aufrufen und alle drei für Sie anzeigt, die Sie generisch für jede Funktion verwenden könnten. Aber das scheint sich kaum zu lohnen.

    
Dan 18.02.2014, 15:26
quelle
2

Eine weitere Option ist die Verwendung von assignin zum automatischen Speichern eines Ausgabearguments im Arbeitsbereich

%Vor%

'base' ist der Name des Hauptarbeitsbereichs, der beim Aufruf von Variablen aus dem Befehlsfenster verwendet wird.

Auf diese Weise können Sie test(x,y,z) in den Arbeitsbereich ohne den [A,B,C] = -Teil eingeben und es werden Ihnen trotzdem alle Werte angezeigt.

Der Vorteil dieser Kombination von A, B und C in einem Output besteht darin, dass Sie immer noch drei separate Variablen in Ihrem Arbeitsbereich gespeichert haben. Dies ist nützlich, wenn A, B und C Arrays oder Zellen sind. Ein Nachteil dieser Methode ist, dass, wenn Sie diese Funktion innerhalb einer anderen Funktion verwenden, wird immer nur der Wert von A verwendet. Zum Beispiel: length(test(x,y,z)) wird nur die Länge von A geben.

    
Blue7 04.03.2014 15:56
quelle
1
%Vor%     
wshan 22.01.2015 08:23
quelle
0

MATLAB gibt automatisch die Variablen / Ausdrücke aus, die nicht mit einem ';' enden.

Wenn Sie also nur alle diese Werte anzeigen müssen, ist der einfachste Weg:

%Vor%     
herohuyongtao 18.02.2014 15:40
quelle

Tags und Links