【问题标题】:output of for loop as a matrix MATLABfor循环的输出作为矩阵MATLAB
【发布时间】:2015-05-04 18:07:01
【问题描述】:

以下函数给出一个 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'

【问题讨论】:

  • 还有更高维的矩阵

标签: matlab for-loop output


【解决方案1】:

在我看来,最简单的方法是创建一个三维矩阵,然后沿第三维索引以保存中间结果。

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

然后您可以通过调用S(:, : , 1)S(:, : , 2)S(:, : , 3) 等等来访问每个迭代。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多