您的位置:首页 > 编程语言 > MATLAB

数学建模与MATLAB-11

2020-07-22 19:21 495 查看

前言

世事苍苍,谁能真正掌握自己的命运呢?我现在能做的就是尽量让我的弥留之际能少一点后悔多一些坦然与从容。
以上都是些最近的所思所想,大家自行略去
今天我们来讲矩阵更深一部分的知识!有难度的,需要一定的基本的!大家要注意哦!
当然大家放心,我是会尽可能地讲清楚的!

矩阵的特征与线性代数

下面介绍矩阵的一些基本操作,包括矩阵的特征值、三角阵、对角阵、矩阵的翻转等,例如矩阵的迹、矩阵的秩和矩阵的范数等,最后介绍了矩阵的超越函数。

方阵的行列式

把一个方阵看成一个行列式,对其按行列式的规制求值,所得到的值就称为矩阵所对应行列式的值。
在MATLAB中,采用函数det()求矩阵的行列式,该函数的调用格式为:det(X),得到方阵X的行列式。

我们下面来看一个示例:

clear all;
A=magic(3)
B=[1:3;2 5 7;3 8 7]
y1=det(A)
y2=det(B)

结果为:
A =

8     1     6
3     5     7
4     9     2

B =

1     2    32     5     7
3     8     7

y1 =

-360

y2 =

-4

由上面我们可以看到行列式是具体的一个值。

特征值、特征向量和特征多项式

在MATLAB中,计算矩阵A特征值和特征向量的函数是eig(),该函数的调用格式为:

下面我们来看一个程序,

clear all;
A=magic(3)
E=eig(A)
[V,D]=eig(A)

结果为:

A =

8     1     6
3     5     7
4     9     2

E =

15.00004.8990
-4.8990

V =

-0.5774   -0.8131   -0.3416
-0.5774    0.4714   -0.4714
-0.5774    0.3416    0.8131

D =

15.0000         0         0
0       4.8990       0
0          0    -4.8990

此外呢!这个还可以求方程的根。

clear all;
p=[3 5 2 1]
A=compan(p)
x1=eig(A)
x2=roots(p)

结果为:
p =

3     5     2     1

A =

-1.6667   -0.6667   -0.3333
1.0000         0         0
0    1.0000         0

x1 =

-1.3563 + 0.0000i
-0.1552 + 0.4708i
-0.1552 - 0.4708i

x2 =

-1.3563 + 0.0000i
-0.1552 + 0.4708i
-0.1552 - 0.4708i

对于上面的示例,我们应该知道的是A是他的伴随矩阵,X1 X2的结果是一样的。

对角阵

下面我们来看一个程序:

clear all;
A=rand(3,4)
b1=diag(A)
b2=diag(A,1)
b3=diag(A,2)

结果为:

A =

0.8147    0.9134    0.2785    0.9649
0.9058    0.6324    0.5469    0.1576
0.1270    0.0975    0.9575    0.9706

b1 =

0.8147
0.6324
0.9575

b2 =

0.9134
0.5469
0.9706

b3 =

0.2785
0.1576

上三角阵和下三角阵

我们来看一个程序:

clear all;
A=rand(3,3)
B1=triu(A)
B2=tril(A)
B3=tril(A,1)

结果为:

A =

0.9572    0.1419    0.7922
0.4854    0.4218    0.9595
0.8003    0.9157    0.6557

B1 =

0.9572    0.1419    0.7922
0    0.4218    0.9595
0         0    0.6557

B2 =

0.9572         0         0
0.4854    0.4218         0
0.8003    0.9157    0.6557

通过这个结果就可以和容易地发现上三角阵和下三角阵是以对角线进行划分的!

矩阵的逆和伪逆

我们再来看一个示例:

clear all;
A=magic(3)
B=[1 3;2 6]
C=inv(A)
C*A
inv(B)
D=pinv(B)
B*D*B

结果为:
A =

8     1     6
3     5     7
4     9     2

B =

1    32     6

C =

0.1472   -0.1444    0.0639
-0.0611    0.0222    0.1056
-0.0194    0.1889   -0.1028

ans =

1.0000   -0.0000   -0.0000
0    1.0000         0
0    0.0000    1.0000

警告: 矩阵为奇异工作精度。

In chap3_64 (line 9)

ans =

Inf   Inf
Inf   Inf

D =

0.0200    0.0400
0.0600    0.1200

ans =

1.0000    3.0000
2.0000    6.0000

矩阵的秩

下面我们来看一个示例:

clear all;
A=magic(3)
B=[1 2 4;2 3 5;2 4 8]
r1=rank(A)
r2=rank(B)

结果为:
A =

8     1     6
3     5     7
4     9     2

B =

1     2     4
2     3     5
2     4     8

r1 =

3

r2 =

2

矩阵的迹

下面我们来看一个示例:

clear all;
A=magic(3)
t1=trace(A)
eig(A)
t2=sum(eig(A))

结果为:
A =

8     1     6
3     5     7
4     9     2

t1 =

15

ans =

15.00004.8990
-4.8990

t2 =

15.0000

由上面可知,对角线元素之和与特征值之和是相等的!

矩阵的范数

下面我们来看一个示例:

clear all;
A=[1 2 3;3 5 7;2 5 8]
n1=norm(A,1)
n2=norm(A)
n3=norm(A,inf)
n4=norm(A,'fro')
n5=normest(A)

结果为:

A =

 1     2    33     5     7
2     5     8

n1 =

18

n2 =

13.7529

n3 =

 15

n4 =

13.7840

n5 =

13.7529

矩阵的条件数

我们来看一个示例:

clear all;
A=[1 2 3;3 5 7;9 5 8]
c1=cond(A,1)
c2=cond(A,2)
c3=cond(A,inf)

结果为:
A =

 1     2    33     5     7
9     5     8

c1 =

190.2857

c2 =

124.5801

c3 =

188.5714

矩阵的标准正交基

下面我们来看一个程序:

clear all;
A=[1 2 3;3 5 7;9 5 8]
B=magic(3)
C=orth(A)
D=orth(B)
C'*C
eye(rank(A))

结果为:
A =

 1     2    33     5     7
9     5     8

B =

8     1     6
3     5     7
4     9     2

C =

-0.2210   -0.3608   -0.9061
-0.5489   -0.7220    0.4213
-0.8062    0.5904   -0.0385

D =

-0.5774    0.7071    0.4082
-0.5774    0.0000   -0.8165
-0.5774   -0.7071    0.4082

ans =

1.0000   -0.0000   -0.0000
-0.0000    1.0000   -0.0000
-0.0000   -0.0000    1.0000

ans =

1     0     0
0     1     0
0     0     1

矩阵的超越函数

下面我们来看一下程序:

clear all;
A=[3 2 3;6 5 7;9 5 8]
X=sqrtm(A)
B=X*X

结果为
A =

 3     2    36     5     7
9     5     8

X =

0.6630 + 0.0000i   0.5409 - 0.0000i   0.7619 - 0.0000i
-0.1565 + 0.0000i   1.8958 - 0.0000i   1.8436 - 0.0000i
3.4717 - 0.0000i   0.8085 + 0.0000i   1.9658 + 0.0000i

B =

3.0000 + 0.0000i   2.0000 + 0.0000i   3.0000 + 0.0000i
6.0000 + 0.0000i   5.0000 + 0.0000i   7.0000 + 0.0000i
9.0000 - 0.0000i   5.0000 - 0.0000i   8.0000 - 0.0000i

下面我们再来看一个示例:

clear all;
A=[3 2 3;6 5 7;9 5 8]
X1=expm(A)
Y1=logm(X1)
X2=logm(A)
Y2=expm(X2)
[V,D]=eig(A)
V*diag(exp(diag(D)))/V

j结果为
A =

 3     2    36     5     7
9     5     8

X1 =

1.0e+06 *

1.2615    0.8142    1.2347
2.9253    1.8880    2.8631
3.3824    2.1830    3.3105

Y1 =

3.0000    2.0000    3.0000
6.0000    5.0000    7.0000
9.0000    5.0000    8.0000

警告: 没有为包含非正实数特征值的 A 定义主矩阵对数。返回了非主矩阵对数。

In logm (line 78)
In chap3_71 (line 8)

X2 =

-32.6991 + 3.1416i   6.9543 - 0.6283i   7.2079 - 0.6283i
-95.1864 + 9.4248i  19.3856 - 1.8850i  21.1166 - 1.8850i
98.9900 - 9.4248i -18.0737 + 1.8850i -18.5368 + 1.8850i

Y2 =

3.0000 + 0.0000i   2.0000 + 0.0000i   3.0000 + 0.0000i
6.0000 + 0.0000i   5.0000 + 0.0000i   7.0000 + 0.0000i
9.0000 + 0.0000i   5.0000 + 0.0000i   8.0000 + 0.0000i

V =

-0.2715   -0.2294   -0.0459
-0.6296   -0.6882   -0.8118
-0.7279    0.6882    0.5822

D =

15.6811         0         0
0   -0.0000         0
0         0    0.3189

ans =

1.0e+06 *

1.2615    0.8142    1.2347
2.9253    1.8880    2.8631
3.3824    2.1830    3.3105

总结

本文涉及到了一些数学知识,但是难度并不是很高。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: