for循环的输出作为矩阵MATLAB

时间:2015-05-04 18:07:01

标签: matlab for-loop output

以下函数为输出提供3x3矩阵

S=myfunction(i,3)

我想知道,如果有办法以一种方式存储以下循环的输出,我可以从每一步中调用矩阵。

 for i=1:8
 S=myfunction(i,3)
 end

每个步骤的这个循环给出了一个不同的矩阵,我想给每个步骤的每个矩阵命名,例如S1,S2,S3 ..

这可能吗?或者我应该将结果保存在3 x(24)巨大的矩阵中?

谢谢

输出示例:

 for i=1:8
 S=myinfluence(i,3)
 end

 S = 

'HH'    'HH'    'HH'
'HH'    'HH'    'HH'
'HH'    'HH'    'HH'

1 个答案:

答案 0 :(得分:1)

在我看来,简单的方法是使用三维矩阵,只需沿第三维索引以保存中间结果。

for i = 1:8
  S(:, :, i) = myinfluence(i,3);
end

然后您可以通过调用S(:, : , 1)S(:, : , 2)S(:, : , 3)来访问每次迭代,依此类推。

使用:作为索引意味着沿着赋值右侧的相应索引的所有条目将自动复制到赋值左侧的相应索引。