だから私はベクトルXのセル配列を持っている:Octave/MATLAB:変数のスコープと名前の参照?
octave:149> X
X =
{
[1,1] =
1 17 20
[2,1] =
5 20 22 27
[3,1] =
2 17 18 21
}
私は、空のベクターY作成:
octave:150> Y = []
Y = [](0x0)
を私はその後、(Y =ユニークな」とXの各値に無名関数を呼び出します[YのX]) ":
octave:151> cellfun(@(x)(Y = unique([Y x])),X,'UniformOutput',false)
ans =
{
[1,1] =
1 17 20
[2,1] =
1 5 17 20 22 27
[3,1] =
1 2 5 17 18 20 21 22 27
}
[OK]を、今Yはまだ空である:
octave:152> Y
Y = [](0x0)
octave:153>
作成した匿名関数の内部 明らかに
Y名とオクターブ/ MATLABで保管し、名前解決のルールは何ですか?Y.
の独自のバージョンのために新しいストレージを拘束変数にストレージが割り当てられるのはいつですか? 2つの同じ名前が同じ変数にバインドされているのはいつですか? (上記の無名関数でYの値に影響を及ぼす方法はありますか?)
私は、セル配列内のベクトルを「結合」しようとしています。最後に、Yは '[1 2 5 17 18 20 21 22 27]' –
と等しくなければなりません。つまり、セル配列内のベクトルの和集合を求めたいと思います。 –
中間ステップのない集合体が必要な場合は、次のようにします: 'Y = unique([X {:}])'。これはMatlabが[コンマ区切りリスト](http://www.mathworks.co.uk/help/techdoc/matlab_prog/br2js35-1.html#br2js35-9)から配列を作成できるという事実を利用しています。この解は、セル内のすべてのベクトルが「1xn」であると仮定します。 – AE426082