これは、Octave ドキュメントのセクション 6.3.1 セル配列から生成されたコンマ区切りリスト ( doc
Octave プロンプトでコマンドを参照した) の例ですが、よくわかりません。
in{1} = [10, 20, 30, 40, 50, 60, 70, 80, 90];
in{2} = inf;
in{3} = "last";
in{4} = "first";
out = cell(4, 1);
[out{1:3}] = find(in{1 : 3}); % line which I do not understand
したがって、このセクションの最後では、次のin
ようになります。
in =
{
[1,1] =
10 20 30 40 50 60 70 80 90
[1,2] = Inf
[1,3] = last
[1,4] = first
}
そして次のようにout
見えます:
out =
{
[1,1] =
1 1 1 1 1 1 1 1 1
[2,1] =
1 2 3 4 5 6 7 8 9
[3,1] =
10 20 30 40 50 60 70 80 90
[4,1] = [](0x0)
}
ここで、find
は 3 つの出力パラメータで呼び出されます (出力パラメータと呼ぶのが間違っていたらすみません。私は Octave にかなり慣れていません) from[out{1:3}]
は、セル配列 の最初の 3 つの空のセルを表しout
ます。
find(in{1 : 3})
次のように、3 つの出力パラメーターを使用して実行すると、次のようになります。
[i,j,k] = find(in{1 : 3})
私は得る:
i = 1 1 1 1 1 1 1 1 1
j = 1 2 3 4 5 6 7 8 9
k = 10 20 30 40 50 60 70 80 90
out
そのように見える理由を説明していますが、実行すると次のようin{1:3}
になります。
ans = 10 20 30 40 50 60 70 80 90
ans = Inf
ans = last
in
cell 配列の 1 番目から 3 番目の要素です。
find(in{1 : 3})
私の質問は:のコンマ区切りリストの 2 番目と 3 番目のエントリが削除されるのはなぜin{1 : 3}
ですか?
ありがとうございました。