0

次のようなスクリプトがあります。

for 
(do something)
end

また、ループからのデータ出力を使用する出力(スクリプトが実行されるたびに変更されます):

A = 1
A = 1.5

等。

毎回変化するこの出力をマトリックスに保存しようとしています。これは実行可能ですか?

for number of iterations
(Call script)
end
Output to excel

データをマトリックスに保存したい理由は、すべての回答(数回の反復)を一度にExcelに出力できるようにするためです。

編集:私の出力がどのように見えるかをよりよく理解するために、これは次のようなものです

Output = [rand() rand() rand(); rand() rand() rand()];

次に、これを使用して新しい変数を作成します。

var = Output(1,1)./Output(2,1); 

スクリプトを実行するたびに、答えが変わります。毎回この新しい答えは、私がマトリックスに保存しようとしているものです。それが物事をクリアすることを願っています。

4

2 に答える 2

3

各ループからの出力/出力のタイプに応じて、簡単に、中間結果を多くのMATLABデータ構造の1つに保存できます。これは、(randn「何かをする」のサンプルとして以下で使用されます)。

nIterations = 10;

% scalar output
A = zeros(1, nIterations);
for n=1:nIterations
    A(n) = randn;
end

% matrix ouput of possibly changing size
B = cell(1, nIterations);
for n=1:nIterations
    B{n} = randn(1, n+1);
end

% matrix output of fixed size
C = zeros(3, 3, nIterations);
for n=1:nIterations
    C(:,:,n) = randn(3, 3);
end
于 2012-10-17T00:08:20.220 に答える
1

varが各反復後に行列に入れたいものであると仮定して、次のことをお勧めします。コードの周りに別のforループを追加します。たとえば、iをループし、最後に値をvarに割り当てません。 var(i)。

出力に応じて、varの変数タイプ(セルや行列など)を選択する必要があります。

于 2012-10-17T15:47:03.963 に答える