线性代数实验Word文件下载.docx

上传人:b****5 文档编号:19710172 上传时间:2023-01-09 格式:DOCX 页数:31 大小:200.96KB
下载 相关 举报
线性代数实验Word文件下载.docx_第1页
第1页 / 共31页
线性代数实验Word文件下载.docx_第2页
第2页 / 共31页
线性代数实验Word文件下载.docx_第3页
第3页 / 共31页
线性代数实验Word文件下载.docx_第4页
第4页 / 共31页
线性代数实验Word文件下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

线性代数实验Word文件下载.docx

《线性代数实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《线性代数实验Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。

线性代数实验Word文件下载.docx

010-1

0013

所以x=2,y=-1,z=3

例1.6:

求解方程

A=[1-213;

2-3-17;

5-8-120];

rref(A)

10-50

01-30

0001

对应的方程为

显然,方程无解.

例1.7 求解方程

A=[34-3-6;

-1-124;

1212];

10-5-10

0136

0000

对应的方程为:

Z取任意值,得到的x,y,z都是方程的解,所以方程有无穷多个解.

(3)

2.用高斯消元法解下列方程组

(1)

(2)

 

2.7矩阵运算实验

Matlab语言的基本计算对象是向量和矩阵,而把数看作一维向量.

1.向量的表示

在Matlab中,向量的赋值可用下列分式:

a=[1,2,3,4,5],>

b=[678910]

两种方法是等价的.还可以用生成的方法表示向量:

c=1:

2:

10

上面的式子生成以1开头,以2为步长,一直到小于等于10的最大整数

即c=[1,3,5,7,9]

一般,c=a:

c:

b生成向量

[a,a+c,a+2c,a+Nc]N为整数

使得b在a+Nc与a+(N+1)c之间

c=3:

-0.1:

2.53

生成[3,2.9,2.8,2.7,2.6,2.5]

2.矩阵的与运算

在Matlan中输入一个矩阵A=

在Matlab提示符〉〉后面键入:

回车可得

A(i,j)表示矩阵中的元

,如

A(2,3)

6

再对变量B赋值一个矩阵

B=[1,3,2;

4,3,2;

6,4,5]

B=

132

432

645

求B的转置矩阵可键入:

B'

146

334

225

在Matlan中,矩阵的运算非常简单,如A+B,3B,A*B,可直接键入算式便可的结果:

A+B

255

888

131214

3*B

396

1296

181215

A*B

272121

605148

938175

2.特殊矩阵的输入

在Matlan中

A=zeros(n),B=ones(n),C=eye(n)

分别表示生成n阶零矩阵,n阶全1矩阵,n阶单位矩阵。

A=zeros(m,n),B=ones(m,n),C=eyem,(n)

分别表示生成m×

n阶零矩阵,m×

n阶全1矩阵,m×

n阶主对角线为1,其余为0的矩阵

例如:

eye(3,4)

1000

0100

0010

A=rand(n),B=rand(m,n)

分别生成n阶标准均匀分布的伪随机矩阵和m×

n阶标准均匀分布的伪随机矩阵

A=rand(3)。

0.95010.48600.4565

0.23110.89130.0185

0.60680.76210.8214

(1)如c为一个向量,diag(c)生成对角矩阵,例如:

5

c=

12345

diag(c)

10000

02000

00300

00040

00005

(2)C=[AB]表示把A和B合并成一个矩阵(%号后面为注释语句,在程序中不运行)

例如

A=eye(3);

%语句后面打分号,表示不显示结果,

B=ones(3,4);

C=[AB]

C=

1001111

0101111

0011111

(3)size(C)为检查矩阵C的阶数语句,例如:

size(c)

36

从结果可知C为3×

6阶矩阵.

(4)求矩阵A的n次冪,可用A^n

A=[123;

213;

3,1,6];

A^3

10962225

11061225

193107396

(5)求A的逆矩阵,用函数inv(A),例如:

3,1,6]

213

316

B=inv(A)

-0.50001.5000-0.5000

0.50000.5000-0.5000

0.1667-0.83330.5000

检证一下:

100

010

001

例2.13求解矩阵方程

解:

A=[1,3,2;

3,-4,1;

-3,6,7];

B=[3,4,-1;

2,-3,6;

3,0,2];

C=[156,-91,281;

-162,44,-228;

324,-100,494];

X=inv(A)*C*inv(B)

X=

-2.00003.00001.0000

3.000012.00004.0000

2.00003.0000-1.0000

3.6行列式计算的Matlab实验

求方阵A的行列式调用函数det(A)行列式

例3.15求矩阵

A=[1,3,5;

2,4,2;

6,3,9]

A=

135

242

639

det(A)

-94

例3.16解下列方程组:

A=[1,1,1,1;

1,2,-1,4;

2,-3,-1,-5;

3,1,2,11]

1111

12-14

2-3-1-5

31211

b=[4,6,-7,17]'

b=

4

-7

17

x=inv(A)*b

x=

1.0000

Matlab可以进行符号运算,首先将式子将用到的符号用语句syms定义。

例3.17求行列式

的值

symsabcd

A=[a,b;

c,d]

[a,b]

[c,d]

a*d—b*c

例3.18求行列式

>

symsa

A=[1-a,a,0,0,0;

-1,1-a,a,0,0;

0,-1,1-a,a,0;

0,0,-1,1-a,0;

0,0,0,-1,1-a]

A=

[1-a,a,0,0,0]

[-1,1-a,a,0,0]

[0,-1,1-a,a,0]

[0,0,-1,1-a,0]

[0,0,0,-1,1-a]

ans=

1-2*a+2*a^2-2*a^3+2*a^4-a^5

4.7秩的计算、向量的正交化实验

1矩阵秩的计算

矩阵秩的计算是调用函数rank()

A=[-10,4,-6,8;

4,-1,6,-2;

5,7,9,-6;

0,9,6,-2]

-104-68

4-16-2

579-6

096-2

rank(A)

3

向量组abcd的秩可用下列语句求出:

rank([abcd])

2向量组的线性相关性与最大无关组

对于一个m个向量组A是否线性相关,我们可以通过求向量组的秩来判断,如果rank(A)=m,则线性无关,如果rank(A)<

m,则线性相关.

例如,键入a,b,c,d四个向量

a=[1-124]'

;

b=[0312]'

c=[-33714]'

d=[4-1918]'

将a,b,c,d并为一个矩阵u:

u=[abcd]

rank(u)

u的秩为3,所以组a,b,c,d线性相关。

而使用下列语句,不仅可以求出t的行标准阶梯矩阵,还给出了线性无关向量组在原矩阵中的列数,这实际上就是最大无关组.

[tip]=rref(t)

u=

1004

0101

ip=

123

这表明u中第1,2,3列向量线性无关,即向量a,b,c线性无关

3.向量的内积与正交性

(1)求两个向量a,b的内积,可把a设为行向量,将b设为列向量,a与b作矩阵乘法求出a与b的内积。

a=[12-34]'

b=[2,-348]'

p=

16

(2)求向量a的模可调用函数norm()

norm(a)

5.4772

(1)求向量a和b之间的交角

thita=acos((a*b'

)/(norm(a)*norm(b)))

thita=

1.2630

要将线性无关的向量组a,b,c,d化为标准正交基,可先将向量组并为一个矩阵u,再调用正交分解程序[Q,R]=qr(),结果将矩阵u分解为一个正交矩阵Q和一个上三角矩阵的乘积.Q中前4个行向量,相当于施密特正交化方法得到的标准正交向量,加上最后一行补充的标准正交向量,构成五维线性空间的标准正交基.

例:

将线性无关的向量组a,b,c,d正交化,先对a,b,c,d赋值:

a=[1-1-111]'

b=[214-42]'

c=[5-4-371]'

d=[3,246-1]’;

再补充一个与a,b,c,d线性无关的向量e:

e=[23156]’;

合并个向量,再调用语句[Q,R]=qr[u]

u=[abcde]

[Q,R]=qr(u)

u=

12513

-11-423

-14-3-23

1-473-1

1213-1

Q=

-0.4472-0.5000-0.5000-0.0245-0.5472

0.4472-0.00000.0000-0.8320-0.3283

0.4472-0.5000-0.50000.02450.5472

-0.44720.5000-0.5000-0.39150.3830

-0.4472-0.50000.5000-0.39150.3830

R=

-2.23612.2361-8.9443-3.13052.2361

0-6.00002.00000.5000-3.0000

00-4.00000.5000-3.0000

000-4.0866-1.7129

0000-1.7510

验证:

Q'

*Q

1.0000-0.0000-0.0000-0.0000-0.0000

-0.00001.0000-0.00000-0.0000

-0.0000-0.00001.0000-0.0000-0.0000

-0.00000-0.00001.00000

-0.0000-0.0000-0.000001.0000

5.3解线性方程组的Matlab实验

线性方程组AX=b的解,可以由其增广矩阵B=[Ab]确定.

1.适定方程求解

n元线性方程组AX=b有惟一解的充分必要条件是R(B)=R(B)=n.

如A是n阶方阵,则

键入x=inv(A)*b便可得到解向量X;

还可以用矩阵的除法求解,x=A\b,这种方法的解的精度与运算时间都优于用逆阵方法求解.

如A不是n阶方阵,则用A的广义逆矩阵求解,A的广义逆矩阵用函数pinv(A)得到,键入x=pinv(A)*b便可得到解向量X.也可以用矩阵的除法求解,x=A\b.还可以将B化为阶梯矩阵T=rref(B),T的最后一列前n行元便是解,

键入T=rref(B);

X=T(1:

n,n)

例如,赋值一个方程组的增广矩阵B

B=[12341

02351

00351

000-10-20

1494-17]

A=B(1:

5,1:

4);

b=B(:

5);

%将系数矩阵与常数向量分离出来

x1=pinv(A)*b

x2=A\b

T=rref(B)

X3=T(1:

4,5)

三种方法都可求得方程组的解:

x1=

2.0000

0.0000

-3.0000

x2=

x3=

2

0

-3

2.超定方程求解

线性方程组AX=b,当R([Ab])>

R(A)时方程无解,令e=AX-b,既不存在X使得e=0.在实际工程应用中,常常要求X,使得向量误差向量e的模达到最小,X被称为最小二乘解.用语句X=pinv(A)*b或X=a\b求方程组AX=b的最小二乘解,两种方法的结果可能不同,但误差向量e的模相等.

例5.7求超定方程AX=b的最小二乘解

其中A=

A=[1234;

1494;

1234];

b=[123]’;

x2=A\b

e1=A*x1-b

m1=norm(e1)

e2=A*x2-b

m2=norm(e2)

0.1117

0.1006

-0.0335

0.4469

0.5000

e1=

1.0000

-0.0000

-1.0000

m1=

1.4142

e2=

m2=

1.4142

3.欠定方程求解

欠定方程有无穷解,n元线性方程组AX=b有无穷解的充分必要条件是R(B)=R(A)<

n

方程组AX=b的通解由相应的齐次方程的通解加上非齐次方程的特解组成.

在Matlab函数null(A)可得到齐次方程解的基础解系,用y=pinv(A)*b可求出非齐次方程的特解.

例5.8求齐次线性方程组

的基础解系.

A=[11-1-1;

2-532;

7-731];

c=null(A,'

r'

)%‘r’表示输出结果以有理数的方式

0.28570.4286

0.71430.5714

1.00000

01.0000

说明:

c的两个行向量就是基础解系.

例5.9求非齐次线性方程组

的通解

A=[1-1-11;

1-11-3;

1-1-23];

b=[00-0.5]’

c=nul(A,’r’)

x=pinv(A)*b

11

10

02

01

0.1364

-0.1364

0.0455

-0.2273

由以上显示结果,可得方程组的通解为

6.6特征值、特征向量的计算与

矩阵对角化的Matlab实验

6.1求矩阵的特征值与特征向量

1.特征值与特征向量

求矩阵A的特征值调用函数d=eig(A),如要求特征值与特征向量,则调用函数[V,D]=eig(A),V为方阵,D为由特征值构成的对角矩阵,V的第i列向量就是D的第i个对角元即第i个特征值所对应的特征向量.

例6.20求矩阵

的特征值与特征向量

A=[3-1-2;

20-2;

2-1-1]

eig(A)'

%转量是为了将特征值写成行向量形式.

[V,D]=eig(A);

3-1-2

20-2

2-1-1

1.00000.00001.0000

V=

0.7276-0.57740.6230

0.4851-0.5774-0.2417

0.4851-0.57740.7439

D=

1.000000

000

001.0000

2.正定矩阵的判断

求出矩阵A的特征值,如特征值全大于零,则矩阵A为正定矩阵;

如特征值全小于零,则矩阵A为负定矩阵.

6.6.2矩阵的对角化

矩阵A可对角化的充要条件是,A是方阵,且A有n个线性无关的特征向量.

调用函数[V,D]=eig(A),如果矩阵V的行列式不等于零,则矩阵V可通过相似变换化为对角矩阵,即有

是对角矩阵.

如果矩阵V的行列式不等于零,矩阵A不能对角化,但仍可以通过相似变换化为Jordan矩阵.实现这一目的可调用函数[P,J]=jordan(A),P是可逆方阵,J是Jordan矩阵.

例6.21化矩阵

为对角矩阵

A=[122;

212;

221]

[V,D]=eig(A)

122

212

221

0.60150.55220.5774

0.1775-0.79700.5774

-0.77890.24480.5774

D=

-1.000000

0-1.00000

005.0000

计算V的行列式:

det(V)

Ans=

-1.000

由于

所以矩阵A可对角化,即

例6.22求矩阵

的Jordan标准型.

A=[-1-26;

-103;

-1-14]

[P,J]=jordan(A)

-1-26

-103

-1-14

P=

-243

-100

-111

J=

110

如果矩阵A可对角化,调用[P,J]=jordan(A)后所得到的J将是对角矩阵.

如果A是对称矩阵,调用函数[P,D]=eig(A)的结果,P是正交矩阵,D是对角矩阵.可用正交矩阵P化A为对角矩阵.

例6.23用正交变换化对称矩

A=[122;

[P,D]=eig(A)

验证P为正交矩阵:

E=P'

*P

E=

1.0000-0.0000-0.0000

-0.00001.00000.0000

-0.00000.00001.0000

6.6.3求二次型的标准型

通过正交变换将二次型化为标准型,要先将二次型所对应的对称矩阵A求出,调用函数[P,D]=eig(A)将A对角化.

例6.24化二次型

为标准型.

A=[011-1;

10-11;

1-101;

-1110]

011-1

10-11

1-101

-1110

-0.50000.28870.78870.2113

0.5000-0.28870.21130.7887

0.5000-0.28870.5774-0.5774

-0.5000-0.866000

-3.0000000

01.000000

001.00000

0001.0000

d=P'

*A*P

d=

01.00000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1