§2.4 求解线性方程组

68
§2.4 求求求求求求求 求求求求求求求求求 一、 AX=0 此此此此此此此此此此此此 AX=0 此此此此此 此此此 此此 此此此 一。 此此此此此此 此此此此此此此此此此 ,。 此此此此此此此 此此此此此此此此此此 :。 此此null(A) 此 null(A, ’r’)

Upload: kendis

Post on 10-Feb-2016

84 views

Category:

Documents


3 download

DESCRIPTION

§2.4 求解线性方程组. 一、求解齐次线性方程组 AX=0. 方法: null(A) 或 null(A, ’r’). 注:. 此命令给出齐次线性方程组 AX=0 的基础解系, 即 解空间的一组基。 前者是数值解,后者是有理形式的基。 从而可写出通解:基础解系的线性组合。. 例、. 解:. >> A=[1 1 2 -1;2 1 1 -1;2 2 1 2]; >> null(A ). ans = 0.3621 - 0.8148 0.3621 0.2716. 解: >>A=[1 1 2 -1 ; 2 1 1 -1 ; 2 2 1 2] ; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: §2.4 求解线性方程组

§2.4 求解线性方程组一、求解齐次线性方程组 AX=0

• 此命令给出齐次线性方程组 AX=0 的基础解系,即解空间的一组基。• 前者是数值解,后者是有理形式的基。• 从而可写出通解:基础解系的线性组合。

方法: null(A) 或 null(A, ’r’)注:

Page 2: §2.4 求解线性方程组

例、

.0222,02,02

4321

4321

4321

xxxxxxxxxxxx

>> A=[1 1 2 -1;2 1 1 -1;2 2 1 2];>> null(A)

解:ans = 0.3621 -0.8148 0.3621 0.2716

Page 3: §2.4 求解线性方程组

解: >>A=[1 1 2 -1 ; 2 1 1 -1 ; 2 2 1 2] ;

>>null(A,’r’)ans = 4/3 -3 4/3 1

通解为 X=k(4/3 -3 4/3 1)^T , k 为任意常数 .

Page 4: §2.4 求解线性方程组

注:其中的‘ r’ 表示格式以有理数的形式显示,即是将系数矩阵化成简化行简阶梯形求得的基础解系。若使用 null(A) 命令,得到的是解空间的一组标准正交基,即 X’*X=E. 此时的 X 是近似值,待入有 AX 不等于零 , 近似为零。

Page 5: §2.4 求解线性方程组

>>x= null(A)x = 0.3621 -0.8148 0.3621 0.2716

如上例 >> A*x

>> x'*xans = 1.0000

ans = 1.0e-15 * 0 -0.3886 -0.6661

Page 6: §2.4 求解线性方程组

例、

.05105,0363

,02

4321

4321

4321

xxxxxxxx

xxxx

解: >> A=[1 2 1 -1;3 6 -1 -3;5 10 1 -5]; >> null(A,'r') ans = -2 1 1 0 0 0 0 1

Page 7: §2.4 求解线性方程组

B=null(A) B = -0.3229 0.8538 -0.2891 -0.4997 -0.0000 -0.0000 -0.9012 -0.1456

>> B'*Bans = 1.0000 -0.0000 -0.0000 1.0000

Page 8: §2.4 求解线性方程组

1 、当 AX=b 有唯一解时, X=A\b 给出唯 一解;特别当 A 是方阵时也可用X=inv(A)*b

例、

二、求解非齐次线性方程组

3523,3532,2294

,342

4321

4321

4321

421

xxxxxxxxxxxx

xxx

bXA nm

Page 9: §2.4 求解线性方程组

解: >>A =[1 2 0 -4;1 -1 -4 9;2 -3 1 5;3 -2 -5 1]; >> b=[-3;22;-3;3];

>> rank(A),rank([A,b])ans = 4ans = 4

>> X=A\b (或inv(A)*b )X = -1 3 -2 2

Page 10: §2.4 求解线性方程组

>> A=[1 2 3;4 5 6;7 8 0;2 5 8];>> b=[6 15 15 15]';>> rank(A),rank([A,b])ans = 3ans= 3

例、

>> A\bans = 1.0000 1.0000 1.0000

Page 11: §2.4 求解线性方程组

2 、当 AX=b 有无穷多解时,用pinv(A)*b 给出一个特解 .

例、

.5192483,13254,24653,1342

4321

4321

4321

4321

xxxxxxxxxxxxxxxx

Page 12: §2.4 求解线性方程组

>> b=[1;2;1;5];>> A=[1 2 4 -3;3 5 6 -4;4 5 -2 3;3 8 24 -19];

>> rank(A),rank([A,b])ans = 2 ans= 2

>> pinv(A)*bans = 0.1173 0.1732 0.1006 -0.0447

解:

Page 13: §2.4 求解线性方程组

注:这是它的一个特解,可以检验:A*(pinv(A)*b)=b, 用 null 命令可求到对应的齐次线性方程组的基础解系,从而可求到通解 .

>> null(A,'r')ans = 8 -7 -6 5 1 0 0 1

1057

,

0168

21

即为基础解系。

Page 14: §2.4 求解线性方程组

若想用线代教材中的高斯消元法求解,我们可以把增广矩阵化成简化行阶梯形,从而得到通解。如上例 >> B=[A,b];

>> rref(B)ans = 1 0 -8 7 -1 0 1 6 -5 1 0 0 0 0 0 0 0 0 0 0

Page 15: §2.4 求解线性方程组

对应的齐次的基础解系为:

1057

,

0168

21

非齐次的特解为:

0011

0

Page 16: §2.4 求解线性方程组

故通解为:

.,

,

0011

1057

0168

21

21

02211

为任意常数kk

kk

kkX

Page 17: §2.4 求解线性方程组

69413283542432

321

321

321

321

xxxxxxxxxxxx

例、求解下面的非齐次线性方程组

Page 18: §2.4 求解线性方程组

解: >> A=[2 3 1;1 -2 4;3 8 -2;4 -1 9];>> b=[4;-5;13;-6];>> rref([A,b])

ans =

1 0 2 -1 0 1 -1 2 0 0 0 0 0 0 0 0

Page 19: §2.4 求解线性方程组

由此可得通解为:

.,021

112

RkkX

Page 20: §2.4 求解线性方程组

.12,2224

,12

4321

4321

4321

xxxxxxxx

xxxx例、

>> A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1];>> b=[1;2;1];>> rank(A),rank([A,b])ans = 2ans = 2

解:

Page 21: §2.4 求解线性方程组

>> pinv(A)*bans = 0.3333 0.1667 -0.1667 -0.0000>> A*pinv(A)*bans = 1.0000 2.0000 1.0000

注:pinv(A)*b给出它的一个特解 .

Page 22: §2.4 求解线性方程组

>> x=A\bWarning: Rank deficient, rank = 2, tol = 1.884111e-15. x = 0.5000 0 0 0.0000>> A*xans = 1.0000 2.0000 1.0000

注: A\b也给出它的一个特解 .

Page 23: §2.4 求解线性方程组

>> null(A,'r')

ans =

-0.5000 0.5000 1.0000 0 0 1.0000 0 0

给出对应的齐次基础解系。从而得通解

Page 24: §2.4 求解线性方程组

可用 pinv(A)*b 给出一个最小二乘解,即使误差向量 AX-b 的平方和最小化的解。

3 、当求解非齐次线性方程组无解时

例、 AX=b

>> b=[1;2;1];>> A=[1 2 3;4 5 6;2 4 6;];

Page 25: §2.4 求解线性方程组

>> pinv(A)*bans = 0.3222 0.1556 -0.0111

>> B=[A,b];>> rank(A),rank(B)ans = 2ans= 3

最小二乘解!

解:

Page 26: §2.4 求解线性方程组

例、>> A=[1 2 3;4 5 6;7 8 0;2 5 8];>> b=[366 804 351 514]';>> rank(A),rank([A,b])ans = 3ans= 4

注:可知 AX=b 无解。

Page 27: §2.4 求解线性方程组

>> pinv(A)*b

ans =

247.9818 -173.1091 114.9273

最小二乘解!

Page 28: §2.4 求解线性方程组

作业 1 、至少用三种方法解方程组AX=b, 如矩阵除法、求逆矩阵、初等变换等,其中

6120

5407395012818053

bA

Page 29: §2.4 求解线性方程组

2 、判断 AX=b 的解,并用适当命令求解,其中

61354

914283421132

)1( bA

Page 30: §2.4 求解线性方程组

.353,2522,132

)2(321

321

321

xxxxxxxxx

.8311,1023,224

)3(21

321

321

xxxxxxxx

Page 31: §2.4 求解线性方程组

;12,34,32

,1253,1453

)4(

54321

54321

54321

54321

4321

xxxxxxxxxxxxxxxxxxxx

xxxx

Page 32: §2.4 求解线性方程组

3 、解方程组 , 并验证得出的解满足原方程 .

0174

5112123152212913237

)1( X

Page 33: §2.4 求解线性方程组

60151403514436136349624

5432141097539108627810715675

)2( X

Page 34: §2.4 求解线性方程组

§2.5 、特征值、特征向量的计算一、如何理解矩阵 A 的特征值、 特征向量

?在 Matlab 中可用命令 eigshow 来显示 X 和 AX 在单位圆周上的运动效果

Page 35: §2.4 求解线性方程组

例、

430

045

)1( A

>> A=[5/4 0;0 3/4];>> eigshow(A)

若 X 为单位特征向量,则 X 与 AX 共线,且 AX 的长就是相应的特征值。

Page 36: §2.4 求解线性方程组

1001)2( A

0110)3( A

Page 37: §2.4 求解线性方程组

二、二维和三维图形1 、命令: plot(x,y)

例、 y=sin(x)

>> x=0:pi/100:2*pi;>> y=sin(x);>> plot(x,y)

Page 38: §2.4 求解线性方程组

注:可增加注记。

Page 39: §2.4 求解线性方程组

>> plot(x,y),...xlabel('x'),ylabel('sin(x)'),title('plot of the Sine function')

>> plot(x,y),...xlabel('x'),...ylabel('sin(x)'),...title('plot of Sine function')

Page 40: §2.4 求解线性方程组
Page 41: §2.4 求解线性方程组

注:可在同一坐标系下画出不同函数图形例、 y=sin(x) , y=cos(x)

>> x=0:pi/100:2*pi;y=sin(x);plot(x,y)>> hold on % 添加到同一张图中>> y2=cos(x);>> plot(x,y2,'r:'),...legend('sin','cos')

Page 42: §2.4 求解线性方程组
Page 43: §2.4 求解线性方程组

2 、三维图形命令:[x,y]=meshgrid( 初值:步长:终值 ) ; z=f(x,y); surf(x,y,z)

例、 22 yxxez

>> [x,y]=meshgrid(-2:.2:2);>> z=x.*exp(-x.^2-y.^2);>> surf(x,y,z)

Page 44: §2.4 求解线性方程组
Page 45: §2.4 求解线性方程组

三、 eig(A): 表示求矩阵 A 的特征值。>> A=[0 1;-1 0];1. >> eig(A)

ans =

0.0000 + 1.0000i 0.0000 - 1.0000i

例、

Page 46: §2.4 求解线性方程组

注:我们知道矩阵 A 的特征值是它的特征多项式的根,所有我们也可求出它的特征多项式。2 . >> p=poly(A) p = 1 0 1

注:输出的这些数是特征多项式中各项的系数,按降幂排列。

Page 47: §2.4 求解线性方程组

>> x=-8:0.1:8;>> y=polyval(p,x);>> plot(x,y)

Page 48: §2.4 求解线性方程组

>> syms a>> f=a^2+1;>> solve(f==0,a)

ans = i -i

Page 49: §2.4 求解线性方程组

例、

201034011

A

>> A=[-1 1 0;-4 3 0;1 0 2];>> poly(A)

ans = 1 -4 5 -2

Page 50: §2.4 求解线性方程组

>> x=-4:1:4;>> y=polyval(p,x);>> plot(x,y)

Page 51: §2.4 求解线性方程组

>> syms a;>> f=a^3-4*a^2+5*a-2;>> solve(f==0,a) ans = 1 1 2

Page 52: §2.4 求解线性方程组

二、 [ 变量名 , 矩阵名 ]=eig(A): 表示求矩阵 A 的特征值和特征向量。>> [X,D]=eig(A)

注:结果中 D 的主对角线上 的元素是 特征值, X 的列是相应的特征向量

例、

Page 53: §2.4 求解线性方程组

X = 0.7071 + 0.0000i 0.7071 + 0.0000i 0.0000 + 0.7071i 0.0000 - 0.7071i

D = 0.0000 + 1.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 1.0000i

Page 54: §2.4 求解线性方程组

注:在 Matlab 中,如没有特殊声明,所以的运算都是进行数值计算,结果会自动以近似值的形式给出。若需要得到精确的表达式,可声明为symbolic 对象, ( 符号对象,需要有symbolic math toolbox 工具箱的支持 ) 。命令为 sym

Page 55: §2.4 求解线性方程组

1222212222122221

A

例、求矩阵 A 的特征值与特征向量

Page 56: §2.4 求解线性方程组

>> A=[1 -2 -2 -2;-2 1 -2 -2;-2 -2 1 -2;-2 -2 -2 1];>> [V,D]=eig(A)

V = 0.5000 -0.2113 0.7887 0.2887 0.5000 0.7887 -0.2113 0.2887 0.5000 -0.5774 -0.5774 0.2887 0.5000 0 0 -0.8660

Page 57: §2.4 求解线性方程组

D =

-5 0 0 0 0 3 0 0 0 0 3 0 0 0 0 3

Page 58: §2.4 求解线性方程组

>> A=sym([1 -2 -2 -2;-2 1 -2 -2;-2 -2 1 -2;- 2 -2 -2 1]);

>> [V,D]=eig(A)

V =[ 1, -1, -1, -1][ 1, 1, 0, 0][ 1, 0, 1, 0][ 1, 0, 0, 1]

D = -5 0 0 0 0 3 0 0 0 0 3 0 0 0 0 3

Page 59: §2.4 求解线性方程组

注:对于重特征值的,可由给出的特征 向量判断该矩阵是否可对角化。例、 >> A=[5 6 -3;-1 0 1;1 2 1];

>> [V,D]=eig(A)

D =

2.0000 0 0 0 2.0000 0 0 0 2.0000

Page 60: §2.4 求解线性方程组

V =

0.9045 -0.9045 -0.8393 -0.3015 0.3015 0.5116 0.3015 -0.3015 0.1840

注:显然第一列、第二列相同,线性相关,所以它没有三个线性无关特征向量,故矩阵 A 不可对角化。

Page 61: §2.4 求解线性方程组

作业 1 、考虑矩阵

5335,

5335 BA

( 1 )使用 Matlab 计算 A,B 的特征值,并判断是否是相同 类型特征值。

Page 62: §2.4 求解线性方程组

( 2 )使用命令分别形成它们的特征多项式,并画出它们的图形,x=-8:0.1:8.

(3) 从图形看,关于 B 的特征值你能得到什么结论?

Page 63: §2.4 求解线性方程组

2 、求出矩阵 A 和 B 的特征值和特征向量,并判断是否可对角化 .其中

16151413121110987654321

A

Page 64: §2.4 求解线性方程组

1097591086781075675

B

Page 65: §2.4 求解线性方程组

3 、设矩阵 A

384252120

A

( 1 )求矩阵 A 的特征值;( 2 )问 A 能否相似于对角阵,若相似,求可逆矩阵 P ,使得 APP 1

为对角阵;( 3 )求 100A

Page 66: §2.4 求解线性方程组

4 、按如下方式构造一个对称矩阵: A=round(5*rand(6));A=A+A'

并完成如下操作:( 1 )用合适的命令求 A 的特征 值、特征值的和、特征值的乘积、 A 的行列式及 A的 迹,并比较这些结果,哪些是相等的;

Page 67: §2.4 求解线性方程组

( 2 )用命令 [X,D] 求 A 的特征 向量,并计算 X^(-1)AX 并比 较此结果和 D 的关系;计算 A^(-1) 和 XD^(-1)X^(-1)比较这两个结果。

Page 68: §2.4 求解线性方程组

5 、令A=ones(10)+eye(10),求 A 的特征值、 A-E 的秩及 A的 迹,并从理论上解释为什么 1是它的九重特征值,而另一个特征值是 11 ,写出你的理由。