获取矩阵元素
A(row, column)
线性索引
matlab存储矩阵并非以它的形状的形式,而是一个线性元素列,将每一列连接起来。
比如
A = [2 6 9; 4 2 8; 3 5 1]
A =
2 6 9
4 2 8
3 5 1
存为2, 4, 3, 6, 2, 5, 9, 8, 1
所以A(3,2)也为A(6)。
尺寸为[d1 d2]的矩阵A,A(i,j)的线性序号为 (j-1) * d1 + i
与索引形式有关的函数
将行列索引和线性索引转化的函数。sub2ind/ind2sub
A = [2 6 9; 4 2 8; 3 5 1];
linearindex = sub2ind(size(A), 3, 2)
linearindex =
6
[row col] = ind2sub(size(A), 6)
row =
3
col =
2
获取多个元素
冒号操作
A = magic(4);
需要:A(1,4) + A(2,4) + A(3,4) + A(4,4)
则:sum(A(1:4, 4))