【MATLAB】矩阵元素的引用方式

[1]通过下标来引用矩阵的元素

>> A=[1,2,3;4,5,6];
>> A(4,5)=10

A =

     1     2     3     0     0
     4     5     6     0     0
     0     0     0     0     0
     0     0     0     0    10

这里有一个问题,给出的矩阵元素的行下标和列下标,都大于原来矩阵的下标。那么这样是否允许呢?
在MATLAB中,是允许这样做的。如果,给出的元素的行下标和列下标,都大于原来矩阵的下标。那么,MATLAB会自动补全矩阵,将矩阵中没有被赋值的元素赋值为0。

[2]通过序号来引用

(1)在MATLAB中,矩阵元素按列存储,即首先存储矩阵的第一列元素,然后存储第二列元素,…,一直到矩阵的最后一列元素。
(2)矩阵元素的序号就是矩阵元素在内存中的排列顺序。

>> A=[1,2,3;4,5,6]

A =

     1     2     3
     4     5     6

>> A(3)

ans =

     2

在内存中的排列顺序是,首先存储第一列元素,然后存储第二列元素,最后存储第三列元素。按照这个存储规则,那么各个序号所对应的元素的值为:

A(1)=1 A(3)=2 A(5)=3
A(2)=4 A(4)=5 A(6)=6

也就是说,在矩阵中,如果用序号来引用元素的话,那么A(1,2)的元素就是该矩阵的第3号元素,即A(3)。
不难发现,序号与下标是一一对应的,以mxn矩阵A为例,矩阵元素A(i,j)的序号为(j,i)xm+i。

你可能感兴趣的:(【MATLAB】矩阵元素的引用方式)