8

複数の戻り値を処理するための Octave(/matlab) の表記法

[a, b] = f(x)

f(x) によって返される値は一種の行ベクトルであり、Octave はベクトルのアンパック (Python のタプルアンパックのような) をサポートすることを示唆しています。

それでも私が置くとき

[a, b] = [1, 2]

私は得る

エラー: 定数式の出力引数の数が無効です

オクターブはベクトルアンパッキングをサポートしていますか?

もしそうなら、適切な表記法は何ですか?

ドキュメントに何も見つかりません

4

1 に答える 1

7

テストする Octave はありませんが、MATLAB ではセル配列を「アンパック」できます。

x = {1 2};
[x1,x2] = x{:}

x1 =
     1
x2 =
     2

として数値ベクトルをセル配列に変換できますx = num2cell([1 2]);

これは、バージョン 7.0 以降の MATLAB で機能することを付け加える必要があります。以前のバージョンでは、DEAL関数を使用する必要があります。

于 2013-03-13T18:14:27.640 に答える