matlab矩阵的简单运算

发布时间:2019-01-31 20:20:45   来源:文档文库   
字号:

特殊矩阵的实现

单位阵的生成

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

本文来源:https://www.2haoxitong.net/k/doc/dfa95ca5185f312b3169a45177232f60dccce778.html

《matlab矩阵的简单运算.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式