关于Matlab的几个矩阵生成函数,分析函数和分解函数

  • Post author:
  • Post category:其他


前几天做了两道矩阵的题,用matlab实现对矩阵的运算。在做的时候查阅了一些函数,今天整理了一下关于mtalab矩阵运算的函数



创建二维数组


方法一

:使用“[]”操作符

  • 数据元素必须要在[]中进行输入;
  • 行与行之间须用分号“;”间隔,也可以用回车键进行分割
  • 行间元素用空格或者“,”间隔

    例: a=[1,2,3;4,5,6;7,8,9]

    在这里插入图片描述


    方法二

    :命令函数
  • ones :生成全1矩阵

    ones(3) 3×3矩阵

    ones(3,4) 3×4矩阵
  • zeros:生成全0矩阵
  • reshape

    例:a=-4:4

    b=reshape(a,3,3)

    生成一个3×3的矩阵,矩阵元素为a中数据。先从上到下,后从左到右的顺序进行排列,要求数组的总数不变,如下图
    在这里插入图片描述
  • eye生成单位矩阵
  • magic 生成魔方阵
  • rand:生成0~1范围的随机矩阵

    rand(10) 10阶矩阵

    rand(3,4) 3X4矩阵 取值范围0~1

    例·
    在这里插入图片描述

    i=a+(b-a)*rand(m,n) 生成mxn矩阵,取值范围在(a,b)

    在这里插入图片描述
  • round为取整函数,取整规则为四舍五入,如果要取整数,前面加一个round就可以
  • 例 i=1+round((10-1)*rand(5,4))

    在这里插入图片描述
  • randn:产生均值为0,方差为1的标准正态随机矩阵

    在这里插入图片描述
  • randi :产生随机分布的伪随机整数

    用法如下:

    a=randi(imax,n) 最大值为imax的 nxn矩阵

    在这里插入图片描述

    a=randi(imax,m,n) 最大值为imax的 mxn矩阵

    在这里插入图片描述

    a=randi([imin,imax],m,n) 在imin,imax上进行取值的矩阵

    在这里插入图片描述



矩阵分析函数


对角矩阵

  • diag(a)

    当a为一个m个元素的向量的时候,diag(a)将生成一个mxm的对角矩阵,其主对角元素就是向量a的原数

    在这里插入图片描述

    当 a是一个mxm的矩阵,diag(a)将产生一个m维向量,其元素为矩阵a对角线

    在这里插入图片描述


    求逆矩阵


    inv(a)

    在这里插入图片描述


    求矩阵行列式的值

    :det(a) 矩阵a和上图一致

    在这里插入图片描述


    矩阵秩

    :rank(a)

    在这里插入图片描述


    矩阵上三角

    :b=triu(a)

    在这里插入图片描述


    矩阵下三角

    :b=tril(a)

    在这里插入图片描述


    化行最简形

    :rref(a)

    在这里插入图片描述


    方阵特征值


    矩阵特征方程 f=poly(a)

    在这里插入图片描述

    特征值 eig(a)

    在这里插入图片描述

    齐次线性方程组的基础解析x=null(a)

    特征值和特征向量[P,D]=eig(a)

    在这里插入图片描述

    其中P的列向量是特征向量,D的对角线元素为其所对应特征向量的特征值

    线性方程组求解 Ax=b :x=inv(A)*b 或者 A\b


    范数

    :norm

    概念:范数常常用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。半范数可以为非零的矢量赋予零长度。

    我们在matlab上help一下范数的格式以及应用如下

    在这里插入图片描述
    norm(X,2)返回的是矩阵和向量的2范数,当然默认的norm(X)定义的就是2范数哦~

    norm(X,1)返回的是向量的1范数;

    norm(X,Inf)返回的是向量的无穷范数;

    norm(X,‘fro’)返回的是矩阵和向量的frobenius范数

    在这里插入图片描述



矩阵分解


QR分解


[Q,R]=qr(a); %QR分解Q为正交矩阵,R为上三角矩阵a=QR


LU分解


[L,U,P]=lu(a) ; %LU分解U为上三角,L为发生行变换的下三角 a=UL 其中P为置换矩阵


奇异值分解


[u,siqea,v]=svd(a); %奇异值分解u正交矩阵,

siqea对角矩阵,v正交矩阵


Jordan分解


[X,J]=jordan(a); %x为变换矩阵y为对角矩阵



版权声明:本文为qq_38324605原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。