(专题一)05 矩阵元素的引用方式

(1)通过下标来引用矩阵的元素

  A(3,2)表示A矩阵第三行第二列

>>A(3,2)=200

只改变A(3,2)这一个元素的值,其他的元素并不会被影响

如果行下表和列下表大于原来矩阵的行数和列数,matlab将自动扩展原来的矩阵,并将扩展后没有赋值的元素置为0

 (2)通过序号来引用

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

>>A(3)

输出结果为2

序号与下标是一一对应的,以m✖n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)✖m+i

矩阵元素的序号与下标可以利用sub2ind和ind2sub函数实现互相转换

sub2ind函数:将矩阵中指定元素的行列下标转换成储存的序号。

D=sub2ind(S,I,J)

S行数和列数组成的向量

I转换矩阵元素的行下标

J转换矩阵元素的列下标

D对应元素下表的序号,他的行列数与I,J相同

矩阵A中行下表为2,列下标为3,第二行第三列的元素时6

ind2sub函数:将把矩阵元素的序号转换成对应下标

[I,J]=ind2sub(S,D)

表示一个三行三列的矩阵第1个,第3个,第5个元素的下标分别为(1 1)(3 1)(2 2)

用冒号表达式获得子矩阵

end运算

首先创建一个矩阵

引用矩阵A最后一行的原素

 

引用第1行和第4行的从第3列到最后一列的元素

如何删除矩阵中的元素?

利用空矩阵删除矩阵的元素,就是建立矩阵时中括号中为空

>>x=[]

x是一个空矩阵

创建一个矩阵

删除第二列和第四列元素

A=

      1   3   0

      7   9    6

      1   4   -1

reshape()函数:

改变矩阵的形状,改变行数和列数,但不改变元素

结构不同,矩阵x是1行12列的矩阵,矩阵y是3行4列的矩阵

 A(:)就等价于reshape(A,6,1)

 

原文地址:https://www.cnblogs.com/fanglijiao/p/11090602.html