matlab矩阵及矩阵的操作
06-10
矩阵的操作
1、矩阵下标
MATLAB 通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。
A(m,n):提取第m 行,第n 列元素
A(:,n):提取第n 列元素
A(m,:):提取第m 行元素
A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到 第n2列的所有元素(提取子块)。
A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。
矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。
消除子块:如果将矩阵的子块赋值为空矩阵[ ],则相当于消除了相应的矩阵子块。
2、矩阵的大小
[m,n]=size(A,x):返回矩阵的行列数m 与n ,当x=1,则只返回行数m ,当x=2,则只返回列数n 。
length(A)=max(size(A)):返回行数或列数的最大值。
rank(A):求矩阵的秩
矩阵分解
(1)奇异值分解
[U,S,V]=svd(A)
求矩阵A 的奇异值及分解矩阵,满足U*S*V’=A,其中U 、V 矩阵为正交矩阵(U*U’=I),S 矩阵为对角矩阵,它的对角元素即A 矩阵的奇异值。
特征值分解
[V,D]=eig(A)
正交分解
[Q,R]=qr(A)
三角分解
[L,U]=lu(A)
将A 做对角线分解,使得A=L*U,其中L 为下三角矩阵,U 为上三角矩阵