Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
§2.4 求解线性方程组 PowerPoint Presentation
Download Presentation
§2.4 求解线性方程组

§2.4 求解线性方程组

162 Vues Download Presentation
Télécharger la présentation

§2.4 求解线性方程组

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. §2.4求解线性方程组 • 一、求解齐次线性方程组AX=0 • 方法:null(A) 或 null(A, ’r’) 注: • 此命令给出齐次线性方程组AX=0的基础解系,即解空间的一组基。 • 前者是数值解,后者是有理形式的基。 • 从而可写出通解:基础解系的线性组合。

  2. 例、 • 解: >> A=[1 1 2 -1;2 1 1 -1;2 2 1 2]; >> null(A) ans = 0.3621 -0.8148 0.3621 0.2716

  3. 解:>>A=[112-1;211-1;2212]; • >>null(A,’r’) ans = 4/3 -3 4/3 1 • 通解为X=k(4/3 -3 4/3 1)^T, • k为任意常数.

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

  5. 如上例 >>x= null(A) x = 0.3621 -0.8148 0.3621 0.2716 >> A*x ans = 1.0e-15 * 0 -0.3886 -0.6661 >> x'*x ans = 1.0000

  6. 例、 解:>> 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

  7. B=null(A) B = -0.3229 0.8538 -0.2891 -0.4997 -0.0000 -0.0000 -0.9012 -0.1456 >> B'*B ans = 1.0000 -0.0000 -0.0000 1.0000

  8. 二、求解非齐次线性方程组 • 1、当AX=b有唯一解时,X=A\b给出唯 一解;特别当A是方阵时也可用 X=inv(A)*b 例、

  9. 解:>>A =[120-4;1-1-49;2-315;3 -2 -5 1]; >> b=[-3;22;-3;3]; >> rank(A),rank([A,b]) ans = 4 ans = 4 >> X=A\b(或inv(A)*b) X = -1 3 -2 2

  10. 例、 >> A=[1 2 3;4 5 6;7 8 0;2 5 8]; >> b=[61515 15]'; >> rank(A),rank([A,b]) ans = 3 ans= 3 >> A\b ans = 1.0000 1.0000 1.0000

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

  12. 解: >> 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)*b ans = 0.1173 0.1732 0.1006 -0.0447

  13. 注:这是它的一个特解,可以检验:A*(pinv(A)*b)=b,用null命令可求到对应的齐次线性方程组的基础解系,从而可求到通解.注:这是它的一个特解,可以检验:A*(pinv(A)*b)=b,用null命令可求到对应的齐次线性方程组的基础解系,从而可求到通解. >> null(A,'r') ans = 8 -7 -6 5 1 0 0 1 • 即为基础解系。

  14. 若想用线代教材中的高斯消元法求解,我们可以把增广矩阵化成简化行阶梯形,从而得到通解。若想用线代教材中的高斯消元法求解,我们可以把增广矩阵化成简化行阶梯形,从而得到通解。 • 如上例 >> 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

  15. 对应的齐次的基础解系为: • 非齐次的特解为:

  16. 故通解为:

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

  18. 解: >> 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

  19. 由此可得通解为:

  20. 例、 解: >> A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1]; >> b=[1;2;1]; >> rank(A),rank([A,b]) ans = 2 ans = 2

  21. >> pinv(A)*b ans = 0.3333 0.1667 -0.1667 -0.0000 >> A*pinv(A)*b ans = 1.0000 2.0000 1.0000 • 注:pinv(A)*b给出它的一个特解.

  22. >> x=A\b Warning: Rank deficient, rank = 2, tol = 1.884111e-15. x = 0.5000 0 0 0.0000 >> A*x ans = 1.0000 2.0000 1.0000 • 注:A\b也给出它的一个特解.

  23. >> null(A,'r') ans = -0.5000 0.5000 1.0000 0 0 1.0000 0 0 • 给出对应的齐次基础解系。从而得通解

  24. 3、当求解非齐次线性方程组无解时 可用pinv(A)*b给出一个最小二乘解,即使误差向量AX-b的平方和最小化的解。 • 例、AX=b >> b=[1;2;1]; >> A=[1 2 3;4 5 6;246;];

  25. 解: >> B=[A,b]; >> rank(A),rank(B) ans = 2 ans= 3 >> pinv(A)*b ans = 0.3222 0.1556 -0.0111 • 最小二乘解!

  26. 例、 >> A=[1 2 3;4 5 6;7 8 0;2 5 8]; >> b=[366 804 351 514]'; >> rank(A),rank([A,b]) ans = 3 ans= 4 注:可知AX=b无解。

  27. >> pinv(A)*b ans = 247.9818 -173.1091 114.9273 • 最小二乘解!

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

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

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

  31. §2.5、特征值、特征向量的计算 • 一、如何理解矩阵A的特征值、 • 特征向量 • ? • 在Matlab中可用命令eigshow来显示X和AX在单位圆周上的运动效果

  32. 例、 >> A=[5/4 0;0 3/4]; >> eigshow(A) • 若X为单位特征向量,则X与AX共线,且AX的长就是相应的特征值。

  33. 二、二维和三维图形 • 1、命令:plot(x,y) • 例、y=sin(x) >> x=0:pi/100:2*pi; >> y=sin(x); >> plot(x,y)

  34. 注:可增加注记。

  35. >> 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')

  36. 注:可在同一坐标系下画出不同函数图形 • 例、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')

  37. 2、三维图形 • 命令: • [x,y]=meshgrid(初值:步长:终值); • z=f(x,y); • surf(x,y,z) 例、 >> [x,y]=meshgrid(-2:.2:2); >> z=x.*exp(-x.^2-y.^2); >> surf(x,y,z)

  38. 三、eig(A): 表示求矩阵A的特征值。 >> A=[0 1;-1 0]; 1. >> eig(A) 例、 ans = 0.0000 + 1.0000i 0.0000 - 1.0000i

  39. 注:我们知道矩阵A的特征值是它的 • 特征多项式的根,所有我们也可求出它的特征多项式。 2 . >> p=poly(A) p = 1 0 1 • 注:输出的这些数是特征多项式中各项的系数,按降幂排列。

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

  41. >> syms a >> f=a^2+1; >> solve(f==0,a) ans= i -i

  42. 例、 >> A=[-1 1 0;-4 3 0;1 0 2]; >> poly(A) ans = 1 -4 5 -2

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