Matlab(5)——矩阵元素的引用
文章目录
一、矩阵元素的引用方式
1.通过下标来引用矩阵的元素
格式:矩阵变量名(x,y)
说明:
——(x,y)表示(行号,列号)
——可以越界引用,矩阵变量自动扩充,未赋值的元素默认赋值为0
例:
2.通过序号来引用矩阵的元素
矩阵元素按例存储,第1列,第2列。。。
矩阵元素的序号就是矩阵元素在内存中的排列顺序
——不可越界
矩阵元素下标与序号的相互转换
sub2ind函数:将矩阵中元素的下标转换为序号
调用格式:D=sub2ind(S,I,J)
说明:
——S:矩阵的行数和列数组成的向量
——I:所要转换元素的行下标
——J:所要转换元素的列下标
——I和J可以为矩阵,但要为同型矩阵,两个矩阵对应位置分别表示行下标,列下标,当然运算后得到的D也为一个矩阵,与I,J同型。
ind2sub函数:将矩阵中元素的序号转换为下标
调用格式:[I,J]=ind2sub(S,D)
说明:
——I:行下标
——J:列下标
——S:矩阵的行数和列数组成的向量
——D:序号
——同样地,D可以为矩阵,得到的I、J也为与D同型的矩阵
例:
size函数:当函数自变量为一个矩阵时,返回由矩阵的行数与列数组成行向量
二、利用冒号表达式获得子矩阵
格式:矩阵变量名(冒号表达式1,冒号表达式2)
说明:
——A(a:b,c:d):从矩阵A的a行到b行,且在c列到d列的所有元素构造一个A的子矩阵
——用单个冒号可以代表全部行或者全部列
例:
end运算符:表示某一维的末尾元素下标
三、利用空矩阵来删除矩阵的元素
空矩阵:无任何元素的矩阵(线性代数中没有这个概念)
将一个非空矩阵中需删除部分的元素组成组成的矩阵置为空矩阵即可删除矩阵中元素
rand函数:rand(n):生成一个由介于 0 和 1 之间的均匀分布的随机数组成的 n×n 矩阵。
四、改变矩阵的形状
1.reshape函数
调用格式:reshape(A,m,n)
说明:
——功能:在矩阵总元素不变的前提下,将矩阵A重新排列为m*n的矩阵
——只会改变矩阵A的行数与列数,不会改变原矩阵的元素个数以及存储顺序
例:
2.A(: )
将矩阵A的每一列元素堆叠起来,成为一个列向量
例: