【问题标题】:Iterate over matrices in Octave在 Octave 中迭代矩阵
【发布时间】:2013-12-01 21:49:25
【问题描述】:

我需要对多个矩阵执行相同的操作,所以我想编写一个 for 循环,例如,变量 i 在每次迭代中,i 具有我的一个矩阵的值.

这在 Octave 中是否可行?

为了澄清:我不想遍历矩阵的元素,而是遍历矩阵列表。

【问题讨论】:

  • 根据您必须对每个矩阵执行的操作,您可以对其进行矢量化,从而避免循环
  • @LuisMendo 如果可能的话是的,但我想做一些事情,例如删除每个矩阵的第一列,其中矩阵具有不同的大小

标签: matlab loops for-loop octave


【解决方案1】:

你可以有一个 3d 矩阵,其中每个“层”代表一个 2d 矩阵,比如:

A = rand(3,3,3);
for ii = 1:3
     A(:, :, ii) %something
end

或者你可以有单元格,其中每个A{ii} 是一个二维数组,你可以以正常方式使用循环。

for ii = 1:3
    A{ii} % something
end

【讨论】:

  • 这是个好主意!但我宁愿考虑具有不同维度的矩阵。例如,假设我想删除每个矩阵的第一列,它们都具有不同的大小
  • @Miquel:那么你应该使用最后一种方法。 A{1} = rand(4); A{2} = rand(5) 工作正常 =)
  • 啊!我们开始了;细胞是我所缺少的。不能称它们为列表,可以吗? :) 非常感谢。此外,这里有更多信息供以后阅读本文的人使用:Cell Arrays
猜你喜欢
  • 2021-12-20
  • 1970-01-01
  • 2016-08-11
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多