我有一个类似以下的脚本:
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);
每次运行脚本时,答案都会改变。每次这个新的答案,是我想要保存在矩阵中。希望能够解决问题。
答案 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。