点击蓝字
关注我们
01
矩阵元素的引用
一、通过下标来引用矩阵元素
A(3,2)表示A矩阵第3行第2列的元素。
>>A(3,2)=200
>> A=[1,2,3;4,5,6];>> A(4,5)=10A = 1 2 3 0 0 4 5 6 0 0 0 0 0 0 0 0 0 0 0 10
(如果给出的行下标或列下标超过原来矩阵的行数和列数,MATLAB将自动扩展原来的矩阵,并将扩展后没有赋值的矩阵元素置为0。)
二、通过序号来引用
在MATLAB中,矩阵元素按列存储,即首先存储矩阵的第一列元素,然后存储第二列元素,...,一直到矩阵的最后一列元素。矩阵元素的序号就是矩阵元素在内存中的排列顺序。
>> A=[1,2,3;4,5,6]A = 1 2 3 4 5 6>> A(3)ans = 2
(序号与下标是一一对应的,以M*N矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。)
矩阵元素的序号与下标可以用sub2ind和ind2sub函数实现相互转换。
sub2ind函数:将矩阵中指定元素的行、列下标转换成存储的序号。调用格式为:D=sub2ind(S,I,J)
S:行数和列数组成的向量
I:转换矩阵元素的行下标
J:转换矩阵元素的列下标
D:序号
>> A=[1:3;4:6]A = 1 2 3 4 5 6>> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])D = 1 2 6 4
size函数:返回矩阵的行数和列数组成的包含两个元素的向量
ind2sub函数:将