Matlab 矩阵索引

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pretend_b/article/details/5967502

获取矩阵元素

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))

A(1:4, 4) 提取1到4行,第4列的元素。

非连续元素

从矩阵中获取非连续元素的值。

使用冒号并指定步长。m:3:n,表示从第m个到第n个元素,每3个取一个。

B = A;

B(1:3:16)

没有更多推荐了,返回首页