【发布时间】:2015-05-30 12:34:41
【问题描述】:
我有一个矩阵 M,我想在 Matlab 中运行一个循环,循环变量 i,j 贯穿所有 M(i,j)。有人可以提供语法吗?
【问题讨论】:
标签: matlab loops variables double iteration
我有一个矩阵 M,我想在 Matlab 中运行一个循环,循环变量 i,j 贯穿所有 M(i,j)。有人可以提供语法吗?
【问题讨论】:
标签: matlab loops variables double iteration
首先你应该先看看是否有一种方法可以使用向量运算而不是循环来做某事,这是 Matlab 的强项,通常运行速度更快。但是,如果您需要使用循环(有时您无法绕过),有两种方法可以做到这一点,第一种是使用单个索引变量(numel 是矩阵中的元素数),这逐列遍历矩阵。
for i = 1:numel(M)
M(i) = %your code here
end
或按照您指定的方式通过每一行和每一列(size(M, n) 其中n 是一个整数是第 n 维的大小(第一个是行数,第二个是列数,第三个是层数, ...))
for i = 1:size(M, 1)
for j = 1:size(M, 2)
M(i, j) = %your code here
end
end
【讨论】: