2016-10-28 6 views
0

における異なる次元のデータを収集し、例えば私はループ内のデータを収集したいループ

for k = 1:10 
    A=magic(randi(5)); 
    ... 
end 

は、今は各反復のためにデータを収集したいです。ありがとう。

+0

各繰り返しで「A」をどのように正確に保存したいですか? 3Dマトリックスで?セル配列?構造?どのようにデータを保存するかについて具体的に記述してください。 – rayryeng

+0

行列やセル配列に保存しようとしましたが、できませんでした。私は動的な構造はそれを解決することができると思うが、私はそれを埋めることができないのか分からない。 –

答えて

1

このデータを保存して1つの変数に保存するには、さまざまな方法があります。各反復でデータのサイズが異なる可能性があるため、データを保存するセル配列または構造を選択できます。

あなたはこのような何かが仕事ができる、セル配列を使用することを選択した場合:

k = 10; 
A = cell(k, 1); 
for idx = 1 : k 
    A{idx} = magic(randi(5)); 
end 

我々はk要素の空のセル配列を作成し、我々は、ループの各反復で各セルを移入。 A{i}を使用すると、反復iで見つかったデータにアクセスします。各フィールドが反復番号に基づく文字列になる構造体を使用することもできます。このような何かは仕事ができる:

k = 10; 
A = struct(); 
for idx = 1 : k 
    A.(['data' num2str(idx)]) = magic(randi(5)); 
end 

これは、各フィールドが反復からのデータである構造Akフィールドを作成します。 A.dataiを実行して、iの繰り返しでデータにアクセスできます。

関連する問題