wake-up-neo.com

MATLAB - mehrere Rückgabewerte einer Funktion?

Ich schreibe 2 Funktionen in Matlab, eine Initialisierungsfunktion und eine Funktion zum Einfügen von Elementen in ein Array, die es wie eine doppelt verknüpfte Liste behandeln. Meine Initialisierungsfunktion gibt jedoch nur "ans =" ​​und das initialisierte Array zurück. Wie kann ich es auch Werte meiner anderen Variablen setzen lassen? Hier ist mein Code:

function [ array, listp, freep ] = initialize( size )
    array = zeros(size, 3);
    listp = 0;
    freep = 1;
end
50
Nick

Mit Matlab können Sie mehrere Werte zurückgeben und diese inline empfangen.

Wenn Sie es aufrufen, erhalten Sie einzelne Variablen inline:

[array, listp, freep] = initialize(size)
84
Mikhail

Ich denke, Octave gibt nur einen Wert zurück, der in Ihrem Fall der erste Rückgabewert ist, 'array'.

Und Octave druckt es als "ans".

Andere, 'listp', 'freep' wurden nicht gedruckt.

Weil es innerhalb der Funktion auftauchte.

Probieren Sie dies aus:

[ A, B, C] = initialize( 4 )

Und das "Array", "Listp", "Freep" wird als A, B und C gedruckt.

0
Franci