5つの空の配列を含む空の配列を初期化しようとしています。しかし、matlabは、代わりに単純な空の配列変数を作成するようです。以下は、私が試した2つの構文です。matlabで可能であれば何かアイデアはありますか?
bins = [ []; []; []; []; [] ];
bins = repmat([], 5, 1)
5つの空の配列を含む空の配列を初期化しようとしています。しかし、matlabは、代わりに単純な空の配列変数を作成するようです。以下は、私が試した2つの構文です。matlabで可能であれば何かアイデアはありますか?
bins = [ []; []; []; []; [] ];
bins = repmat([], 5, 1)
deal
このような割り当てに適した関数です。
[bins{1:5}] = deal([]);
bins
これにより、各要素bins{i}
に空の配列が含まれるセル配列が作成されます。
MATLABには、行列、つまり数値型(または文字または論理値)の(多次元の可能性がある)配列のみがあります。他の構造を1つの変数にグループ化するには、セル配列を試してください。
bins = { []; []; []; []; [] };
bins{2}
次に、たとえばの代わりに中かっこで外側の配列の要素にアクセスする必要がありbins(2)
ます。
これを初期化する別のトリック:
>> bins = {} %# just to make sure `bins` wasn't used before
>> bins{5} = []
bins =
[] [] [] [] []