• MATLAB矩阵操作【z】


    特殊矩阵的实现

    • 单位阵的生成
      eye(n)
      eye(m,n)
    • 零矩阵的生成
      zeros(n)
      zeros(m,n)
    • 全1矩阵的生成
      ones(n)
      ones(m,n)
    • 随机元素矩阵函数
      rand(n,m)
      rand(n)
    • 对角矩阵
      diag(V) % V=[1 2 3 4];
    • 伴随矩阵
      compan(P) % p=[1,a1,a2,...,an]
    • 上三角矩阵 下三角矩阵
      triu(B)
      tril(B)

    矩阵函数

    • 矩阵的行列式
      det(A)
    • 矩阵求逆
      inv(A)
      pinv(A)
    • 矩阵的迹
      trace(A)
    • 矩阵的秩
      rank(A)
    • 矩阵三角分解
      [L,U] = lu(A)
    • 矩阵奇异值分解
      cond(A)
    • 矩阵的范数
      N = norm(A,选项)
    • 矩阵的特征多项值与特征向量
      [V,D]=eig(A)
    • 矩阵的特征多项式、特征方程和特征根
      P = poly(A)
      V = roots(P)

    ------------------------------------------------------------------------------------------------------------------

    MatLab中的

    我们知道,求解线性方程组是线性代数课程中的核心内容,而又在求解线性方程组的过程中扮演着举足轻重的角色。下面我们就利用科学计算软件MATLAB来演示如何使用,同时,也使学生对线性代数的认识更加理性。

    一、构造

    MatLab中,构造的方法有两种。一种是直接法,就是通过键盘输入的方式直接构造。另一种是利用函数产生

    例1.利用pascal函数来产生一个

    A=pascal(3)
    A=
    1   1   1
    1   2   3
    1   3   6

    例2.利用magic函数来产生一个
    B=magic(3)
    B=

    8   1   6
    3   5   7
    4   9   2

    例3.还可以利用函数产生一个4*3的随机

    >>c=rand(4,3)

    c=

        0.9501    0.8913    0.8214

        0.2311    0.7621    0.4447

        0.6068    0.4565    0.6154

    0.4860    0.0185    0.7919

    例4.利用直接输入法可产生列、行及常数

    u=[3;1;4]
    u=
    3
    1
    4

    v=[2 0 -1]
    v=
    2   0   -1

    s=7
    s=
    7

    二、的基本运算

    1、四则运算

    例5.的加法

    X=A+B
    X=
    9   2   7
    4   7   10
    5   12   8

    例6.的减法
    Y=X-A
    Y=
    8   1   6
    3   5   7
    4   9   2

    注: 若二个的大小不完全相同,则会出错!

    例如,X=A+u
    ??? Error using ==> plus

    Matrix dimensions must agree。

    例7.的乘法

    X=A*B

    X=

    15    15    15

    26    38    26

    41    70    39

    注: 若第一个的列数和第二个行数不相同,这两个就不可以相乘。

    例如,X=A*v

    ??? Error using ==> mtimes

    Inner matrix dimensions must agree。

    MATLAB中,的除法有两个运算符号,分别为左除“\”与右除“/”,的右除运算速度要慢一点,而左除运算可以避免奇异的影响,它们的作用主要用于求解线性方程组,我们在后面会涉及到的除法。

    2、的转置、逆运算及行列式运算

    与线性代数中一样,的转置只需用符号“,”来表示即可。

    例8.求B的转置

    X=B'
    X=
    8   3   4
    1   5   9
    6   7   2

    线性代数中求逆的运算非常复杂,而在MATLAB中,的逆运算只需要函数“inv”来实现,这大大简化了计算过程。

    例9.求A的逆

    X=inv(A)

    X=

    3    -3     1

    -3     5    -2

    1    -2     1

    MATLAB中,求的行列式大小,可用函数“det”实现。

    例10.求A的行列式

    X=det(A)

    X=

    1

    注: 在求的逆和行列式时,一定要求是一个方,否则会出错!

    例如,>>X=inv(u)

    ??? Error using ==> inv

    Matrix must be square。

    再如,X=det(u)

    ??? Error using ==> det

    Matrix must be square。

    三、的常用函数运算

    1.的特征值运算

    在线性代数中,计算特征值及特征向量的过程相当麻烦,但在MATLAB中,特征值运算只需要函数“eig”或“eigs”即可。

    例11.求A的特征值及特征向量

    >>[b,c]=eig(A)

    b=

       -0.5438   -0.8165    0.1938

        0.7812   -0.4082    0.4722

       -0.3065    0.4082    0.8599

    c=

        0.1270         0         0

             0    1.0000         0

             0         0    7.8730

    上例中的bc分别为特征向量和特征值

    2.的秩运算

    的秩在求解线性方程组中应用非常广泛,而在线性代数中计算的秩也非常复杂,但在MATLAB中,的秩只需要用函数“rank”即可。

    例12.求A的秩

    >>x=rank(A)

    x=

    3

    3.的正交化运算

    MATLAB中,的正交化运算可由函数“orth”计算得到。下面的例子用来求的一组正交基,有了正交基就可以对进行正交化了。

    例13.求A的正交基

    >>x=orth(A)

    x=

       -0.1938    0.8165 0.5438

       -0.4722    0.4082   -0.7812

       -0.8599   -0.4082    0.3065

    4.的迹运算

    的迹是指主对角线上所有元素的和,在MATLAB中,的迹可由函数“trace”计算得到。

    例14.求A的迹

    >>x=trace(A)

    x=

         9

    四、特殊的生成

    MATLAB中提供了几个特殊,主要包括如下:

    1.空

    用“[]”表示,空的大小为零,但变量名存在于工作空间中。

    例15

    >>[]

    ans=

       []

    2.单位

    MATLAB中,单位可用函数“eye(n,m)”实现,其中n表行数,m表列数。

    例16

    >>x=eye(4,3)

    x=

         1     0     0

         0     1     0

         0     0     1

         0     0     0

    3.全部元素为1的

    MATLAB中,全部元素为1的可用函数“ones(n,m)”实现。

    例17

    >>x=ones(4,3)

    x=

         1     1     1

         1     1    1

         1     1     1

    1     1     1

    4.全部元素为0的

    MATLAB中,全部元素为0的可用函数“zeros(n,m)”实现。

    例18

    >>x=zeros(4,3)

    x=

         0     0     0

         0     0     0

         0     0     0

    0     0     0

    5.魔方

    魔方有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等MATLAB提供了求魔方的函数“magic(n)”,其功能是生成一个n阶魔方

    6.伴随

    MATLAB中,某个的伴随可用函数“compan(A)”实现。

    例20

    >>u=[1 0 -7 6];

    >>x=compan(u)

    x=

         0     7    -6

         1     0     0

    0     1     0

    注: 函数compan()中的变量必须是向量形式,而不能是

    7.随机

    随机在数理统计的研究中非常重要,它们表示元素服从某个分布如均匀分布、正态分布的。在MATLAB中,随机可用函数“rand(n,m)”实现。

    例21

    >>x=rand(4,3)

    x=

        0.9501    0.8913    0.8214

        0.2311    0.7621    0.4447

        0.6068    0.4565    0.6154

    0.4860    0.0185    0.7919

      8.帕斯卡
      我们知道,二次项展开后的系数随n的增大组成一个三角形表,称为

    杨辉三角形。由杨辉三角形表组成的称为帕斯卡(Pascal),函数pascal(n)生成一个n阶帕斯卡

    例22

    >>x=pascal(3)

    x=

         1     1     1

         1     2     3

         1     3     6

    9.范得蒙

    MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙

     

    原帖:http://hi.baidu.com/%B6%AC%CC%EC%C0%EF%B5%C4%D2%BB%BF%C3%B2%DD/blog/item/3d2190878d6d662fc75cc371.html

  • 相关阅读:
    KDiff
    如何用Javascript检测到所有的IE版本
    Chrome中的哪些端口是限制使用的?
    如何防止XSRF攻击
    External component has thrown an exception
    OpenGL中的原子操作需要注意的地方
    Unable to create new web application
    How to Redirect in ASPNET Web API
    图形转换的组合(注意从右向左读)
    如何用Client OM获取页面上一个Content web part的内容
  • 原文地址:https://www.cnblogs.com/begtostudy/p/1792565.html
Copyright © 2020-2023  润新知