MATLAB矩阵操作_让真诚的爱陪我们一生!_百度空间

特殊矩阵的实现

  • 单位阵的生成

    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中,构造的方法有两种。一种是直接法,就是通过键盘输入的方式直接构造。另一种是利用函数产生

例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

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

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

Matrix dimensions must agree。

例7.的乘法

X=A*B

X=

15    15    15

26    38    26

41    70    39

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

例如,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为基础向量的范得蒙



郑重声明:资讯 【MATLAB矩阵操作_让真诚的爱陪我们一生!_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——