matlab关于矩阵的操作

北慕城南 提交于 2019-12-03 09:59:02

一.矩阵表示

例如,A = [1,2,3;3,4,5].其中,矩阵的元素可以是数值、变量、表达式或者函数。

二.矩阵的创建

   特殊矩阵的创建:a. ones(): ones(n)表示生成一个n*n的全1矩阵、ones(m,n)生成m*n的全1矩阵

         b.zeros(): 类似ones()函数,其生成全0矩阵

         c.rand(): 产生在(0,1)间均匀分布的矩阵

         d.randn() : 产生均值为0,方差为1的标准正态分布随机矩阵

         e.eye() :产生单位阵

三.矩阵的获取

1.获取元素:一种是直接元素下标索引,列如:Matrix(i,j);一种是元素序号索引,列如:Matrix(m)。其中,m = (j-1)*M+i,也就是一列一列的来,像Z型循环。

2.矩阵截取:(1) A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
                     (2) A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。

四.矩阵运算

1. ’(转置):对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊的,操作符.’共轭不转置(见点运算)

2.设A为m*n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个列向量。diag(A,k),提取第k条对角线的元素

3.矩阵A实施左右翻转:fliplr(A),对矩阵A实施上下翻转:flipud(A);

矩阵的旋转:rot90(A,k):将矩阵A逆时针方向旋转90°的k倍,当k为1时可以省略

4.inv(A) : 求方阵A的逆矩阵;pinv(B):求A的伪逆矩阵

5.det(A) : 求A的行列式值

6.rank(A) : 求A的秩; trace(A): 求A的迹

7.范数:a、norm(V)或norm(V,2):计算向量V的2-范数;

    b、norm(V,1):计算向量V的1-范数;

    c、norm(V,inf):计算向量V的∞-范数

8.矩阵的特征值与特征向量

(1) E=eig(A):求矩阵A的全部特征值,构成向量E。

(2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量

(3).svd()特征值分解,Rx = U*S*V',mean S 是一个与M*N的对角矩阵,对角元素为特征值,U为大小特征向量组成

四. 其他

(1) 非零元素信息
nnz(S) 返回非零元素的个数
nonzeros(S)  返回列向量,包含所有的非零元素
(2) 查看稀疏矩阵的形状 spy(S)
(3) find函数与稀疏矩阵
[i,j,s]=find(S)
[i,j]=find(S)
返回 S 中所有非零元素的下标和数值,S 可以是稀疏矩阵或满矩阵

(4)sort的用法:

Y=sort(X) : 表示对X进行升序排序,默认1

Y=sort(X,DIM,MODE),

参数DIM表示对哪一个维数进行排序,例如当X是一个二维矩阵,当DIM=1时表示对X的每一列进行排序,当DIM=2时表示对X的每一行进行排序。

参数MODE表示按哪一种模式进行排序,当MODE=‘ASCEND’的时进行升序排序,当MODE=‘DESCEND’时,进行降序排序。

[Y,I] = sort(X,DIM,MODE)

I返回索引序列,它表示Y中的元素与X中元素的对应。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!