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 数据结构(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 的变量类型,例如单元格或矩阵。

于 2012-10-17T15:47:03.963 回答