从脚本创建输出矩阵(matlab)

时间:2012-10-16 23:56:08

标签: excel matlab matrix output

我有一个类似以下的脚本:

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); 

每次运行脚本时,答案都会改变。每次这个新的答案,是我想要保存在矩阵中。希望能够解决问题。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

假设var是你想在每次迭代后放入矩阵的东西,我建议如下: 在代码周围添加另一个for循环,例如循环遍历i,然后最后不将值赋给var,而是分配给var(i)。

根据您的输出,您需要选择变量类型的var,例如cell或matrix。