MATLAB MATRIX单元格索引采用整数格式,而不是行和列格式



在MATLAB中,矩阵单元格按其行和列位置进行编号。我想用整数做索引。

考虑(3,4(矩阵

for i=1:length(3)
for j =1:length(4)
fprint(i,j)
end
end
1,1
1,2
.
.
3,4

然而,当迭代通过每个单元格时,我期望的输出是由给出的

for i=1:length(3)
for j =1:length(4)
fprint(i+j+something)
end
end
1
2
3
4
.
.
12

这被称为线性索引。您可以使用函数sub2ind将行号和列号转换为线性索引,而ind2sub则相反。

index = sub2ind(size(M),i,j);
M(i,j) == M(index)

sub2ind应用于2D矩阵的公式是index = i + (j-1) * size(M,1)。也就是说,数字沿着第一列向下增加,然后是第二列,等等。

相关内容

  • 没有找到相关文章

最新更新