web-dev-qa-db-ja.com

MATLAB-関数からの複数の戻り値?

Matlabで2つの関数、初期化関数、および二重リンクリストのように扱う配列にアイテムを挿入する関数を記述しています。ただし、私の初期化関数は、 "ans ="と初期化された配列のみを返します。他の変数の値も設定するにはどうすればよいですか?これが私のコードです:

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

Matlabでは、複数の値を返してインラインで受け取ることができます。

呼び出すときに、個々の変数をインラインで受け取ります。

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

Octaveは、最初の戻り値である値を1つだけ返すと思います。あなたの場合は「配列」です。

そして、Octaveは「ans」として印刷します。

その他、「listp」、「freep」は出力されませんでした。

関数内に現れたからです。

これを試してください:

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

そして、「array」、「listp」、「freep」はA、B、Cとして印刷されます。

0
Franci