2011-10-25 15 views
0

私がやっているのは、50個のリスト/配列を保持する変数を作成することです。この変数の要素にアクセスすると、リストの1つが返されます。与えられたインデックスに要素がない場合は、[]を返すようにします。これは、ようなものになるだろう初期化する2次元配列を初期化すると、各要素はリストになりますか?

マイロジック:

spectrum_map=[]; 
for n=1:spectrum_blocks 
    spectrum_map=[spectrum_map,[]]; 
end 

はしかし、そうした後、私は単純に空の行列を得る:私が見たいと思って何

spectrum_map = 

    [] 

ことのようなものです:

spectrum_map = 

    [] [] [] [] [] .... 

こうして、私がspectrum_map(2)にアクセスすると、空であることがわかります。しかし、代わりにインデックスが行列の次元を超えているというエラーが発生します。

私は達成しようとしている何か他の方法がありますか?

答えて

3

行列の代わりにセル配列を使用すると、探している効果を得ることができます。

spectrum_map = cell(1, 50); 
spectrum_map{50} 

ans = 

    [] 

あなたがcell2mat機能を使用することができます(例えば、その上にいくつかの数学を実行するために)後で行列に戻って変換する必要がある場合。