1 / 92

数学实验简明教程

MATLAB 入门. 数学实验简明教程. 前 言 第 1 章 初识 MATLAB 1.1 MATLAB 界面 1.2 简单的计算与图形功能 第 2 章 矩阵及其基本运算 2.1 矩阵的输入与生成 2.2 矩阵运算 第 3 章 线性方程组 3.1 求线性方程的唯一解或特解 3.2 求线性方程的通解 第 4 章 二维绘图和三维绘图 4.1 二维图形的绘制 4.2 三维图形的绘制 附 录 实验报告模板. 前 言. MATLAB: 美国 MathWorks 公司. 20 世纪 80 年代中期.

ashtyn
Download Presentation

数学实验简明教程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB入门 数学实验简明教程

  2. 前 言 第1章 初识MATLAB 1.1 MATLAB界面 1.2简单的计算与图形功能 第2章 矩阵及其基本运算 2.1矩阵的输入与生成 2.2矩阵运算 第3章 线性方程组 3.1求线性方程的唯一解或特解 3.2求线性方程的通解 第4章 二维绘图和三维绘图 4.1二维图形的绘制 4.2三维图形的绘制 附 录 实验报告模板

  3. 前 言 MATLAB: 美国MathWorks公司 20世纪80年代中期 • 优秀的数值计算/符号计算能力 • 卓越的数据可视化能力 在欧美等高校,MATLAB已经成为 线性代数/自动控制理论/概率论及数理统计/ 数字信号处理/时间序列分析/动态系统仿真 等高级课程的基本教学工具, 是攻读学位的 大学生/硕士生/博士生 必须掌握的基本技能。 

  4. 前言 MATLAB的主要特点是: • 有高性能数值计算的高级算法,特别适合矩阵代数领域; • 有大量事先定义的数学函数和很强的用户自定义函数的能力; • 有强大的绘图功能; • 具有教育/科学和艺术学的图解和可视化的二维/三维图; • 基于HTML的完整的帮助功能; • 适合个人应用的强有力的面向矩阵(向量)的高级程序设计语言; • 与其它语言编写的程序结合和输入输出格式化数据的能力; • 有在多个应用领域解决难题的工具箱。 

  5. 前言 关于本教程: • 提供了使用MATLAB的入门指导, • 基于MATLAB7.0.4版, • 内容较浅, • 针对大一的《几何与代数》的课程需要, • 对一些基本命令的格式作了简单的说明, • 并配备了例题说明其用法, • 安排了两个实验报告模板, • 对于初学者自学是有帮助的。 

  6. 前言 需要了解MATLAB的更多内容的读者可 以使用MATLAB软件自带的帮助系统,也可 以参考有关书籍,如 [1] 李继成: 数学实验, 高等教育出版社, 2006年10月, 第1版. [2] 罗建军: MATLAB教程, 电子工业出版社, 2005年7月, 第1版. [3] 徐金明等: MATLAB实用教程, 清华大学出版社, 2005年7月, 第1版. [4] 张圣勤: MATLAB7.0实用教程, 机械工业出版社, 2006年7月, 第1版. 

  7. 第一章 初识MATLAB §1.1 MATLAB界面 一. 安装MATLAB7.0.4 • 和安装大多数软件一样, • 把MATLAB7.0.4安装盘插入光驱, • 它就会自动启动安装程序, • 用户可根据安装程序的提示和个人需要 • 顺利地完成MATLAB7.0.4的安装。 • 这里假定用户的硬件和软件系统是符合 • MATLAB7.0.4的安装需求的。 

  8. §1.1 MATLAB界面 第一章 初识MATLAB 二. 打开MATLAB • 桌面快捷按钮 • 开始菜单 

  9. §1.1 MATLAB界面 第一章 初识MATLAB 三. MATLAB7.0.4界面 标题栏 菜单栏 工具栏 当前路径窗口 命令窗口 命令历史记录窗口 

  10. §1.1 MATLAB界面 第一章 初识MATLAB 四. 获取帮助 

  11. §1.1 MATLAB界面 第一章 初识MATLAB 五. 自由探索 如果不小心关闭了当前路径窗口、命令历史记录 窗口或命令窗口 

  12. §1.2 简单的计算与图形功能 第一章 初识MATLAB §1.2 简单的计算与图形功能 一. 大材小用 1.369^2+sin(7/10*pi)*sqrt(26.48)/2.9 

  13. §1.2 简单的计算与图形功能 第一章 初识MATLAB 二. 打开简单的图形窗口 funtool 

  14. §1.2 简单的计算与图形功能 第一章 初识MATLAB 

  15. X_Data = 2.3200 3.4300 4.3700 5.9800 >> 第二章 矩阵及其基本运算 §2.1 矩阵的输入与生成 一. 实数值矩阵的输入 X_Data=[2.32 3.43; 4.37 5.98] %这是一个2阶方阵 

  16. 智能ABC输入法5.0版的几种输入状态 §2.1 矩阵的输入与生成 第二章 矩阵及其基本运算 

  17. B = zeros(2,3) %生成23全零阵 >> §2.1 矩阵的输入与生成 第二章 矩阵及其基本运算 二. 特殊矩阵的生成 B = zeros(3) %生成33全零阵 

  18. §2.1 矩阵的输入与生成 第二章 矩阵及其基本运算 和前面生成全零矩阵的方法类似, 我们可以用函数ones生成全1矩阵. 格式: Y=ones(n) %生成n×n全1阵 Y=ones(m,n) %生成m×n全1阵 Y=ones(size(A))%生成与A相同大小的全1阵 此外, 我们还可以用函数eye生成单位矩阵. 

  19. ans = 1 0 0 1 >> §2.1 矩阵的输入与生成 第二章 矩阵及其基本运算 >> eye(2) %生成2×2的单位阵 eye(size(A)) %生成与A同阶的单位阵 ??? Undefined function or variable 'A'. >> 

  20. C = 6 8 10 12 注意:分号的作用. >> §2.2 矩阵运算 第二章 矩阵及其基本运算 §2.2 矩阵运算 一. 加、减运算(+,-) >> A=[1,2;3,4];B=[5,6;7,8];C=A+B 

  21. 注意:逗号的作用. §2.2 矩阵运算 第二章 矩阵及其基本运算 >> A=[1,2;3,4],B=[5,6;7,8],D=A-B >> A=[1,2;3,4],B=[5,6;7,8],D=A-B A = 1 2 3 4 B = 5 6 7 8 D = -4 -4 -4 -4 

  22. §2.2 矩阵运算 第二章 矩阵及其基本运算 二. 乘法(*) >> [1,2;-1,0]*[1,2,3;4,5,6] %两个矩阵的乘积 >> [1,2;-1,0]*[1,2,3;4,5,6] %两个矩阵的乘积 ans = 9 12 15 -13 -2 -3 >> >> [1,2;-1,0]*[1,2,3;4,5,6] %两个矩阵的乘积 ans = 9 12 15 -13 -2 -3 >> A=[1,2;-1,0];B=[1,2,3;4,5,6];C=A*B >> [1,2;-1,0]*[1,2,3;4,5,6] %两个矩阵的乘积 ans = 9 12 15 -13 -2 -3 >> A=[1,2;-1,0];B=[1,2,3;4,5,6];C=A*B C = 9 12 15 -13 -2 -3 

  23. §2.2 矩阵运算 第二章 矩阵及其基本运算 >> A=[1,2,3;4,5,6];B=-2*A %矩阵的数乘 >> A=[1,2,3;4,5,6];B=-2*A %矩阵的数乘 B = -2 -4 -6 -8 -10 -12 >> >> A=[1,2,3;4,5,6];B=-2*A %矩阵的数乘 B = -2 -4 -6 -8 -10 -12 >> A=[1,2,3;4,5,6];C=A*(-2) %矩阵的数乘 >> A=[1,2,3;4,5,6];B=-2*A %矩阵的数乘 B = -2 -4 -6 -8 -10 -12 >> A=[1,2,3;4,5,6];C=A*(-2) %矩阵的数乘 C = -2 -4 -6 -8 -10 -12 

  24. §2.2 矩阵运算 第二章 矩阵及其基本运算 >> a=[1,2];b=[3,4];d_1=dot(a,b) %向量的点积 >> a=[1,2];b=[3,4];d_1=dot(a,b) %向量的点积 d_1 = 11 >> >> a=[1,2];b=[3,4];d_1=dot(a,b) %向量的点积 d_1 = 11 >> c=[3;4];d_2=dot(a,c),d_3=a*c >> a=[1,2];b=[3,4];d_1=dot(a,b) %向量的点积 d_1 = 11 >> c=[3;4];d_2=dot(a,c),d_3=a*c d_2 = 11 d_3= 11 

  25. §2.2 矩阵运算 第二章 矩阵及其基本运算 >> a=[1,0,-1];b=[0,1,2]; >> >> a=[1,0,-1];b=[0,1,2]; >> c_1=cross(a,b) %向量的叉积 >> a=[1,0,-1];b=[0,1,2]; >> c_1=cross(a,b) %向量的叉积 c_1 = 1 -2 1 >> >> a=[1,0,-1];b=[0,1,2]; >> c_1=cross(a,b) %向量的叉积 c_1 = 1 -2 1 >> c_2=cross(b,a) >> a=[1,0,-1];b=[0,1,2]; >> c_1=cross(a,b) %向量的叉积 c_1 = 1 -2 1 >> c_2=cross(b,a) c_2 = -1 2 -1 >> 

  26. §2.2 矩阵运算 第二章 矩阵及其基本运算 >> a=[1,0,-1];b=[0,1,2];c=[1,1,0]; >> >> a=[1,0,-1];b=[0,1,2];c=[1,1,0]; >> d_1=dot(cross(a,b),c) %向量的混合积 >> a=[1,0,-1];b=[0,1,2];c=[1,1,0]; >> d_1=dot(cross(a,b),c) %向量的混合积 d_1 = -1 >> >> a=[1,0,-1];b=[0,1,2];c=[1,1,0]; >> d_1=dot(cross(a,b),c) %向量的混合积 d_1 = -1 >> d_2=dot(a,cross(b,c)) >> a=[1,0,-1];b=[0,1,2];c=[1,1,0]; >> d_1=dot(cross(a,b),c) %向量的混合积 d_1 = -1 >> d_2=dot(a,cross(b,c)) d_2 = -1 >> >> a=[1,0,-1];b=[0,1,2];c=[1,1,0]; >> d_1=dot(cross(a,b),c) %向量的混合积 d_1 = -1 >> d_2=dot(a,cross(b,c)) d_2 = -1 >> d_3=dot(cross(c,a),b) 

  27. §2.2 矩阵运算 第二章 矩阵及其基本运算 三. 除法(左除\, 右除/) >> A=[1,2;0,1];B=[3,2,1;1,2,3];C=[-2,1]; >> >> A=[1,2;0,1];B=[3,2,1;1,2,3];C=[-2,1]; >> X_1=A\B %AX=B的解, X=A-1B, B左除以A >> A=[1,2;0,1];B=[3,2,1;1,2,3];C=[-2,1]; >> X_1=A\B %AX=B的解, X=A-1B, B左除以A X_1 = 1 -2 -5 1 2 3 >> >> A=[1,2;0,1];B=[3,2,1;1,2,3];C=[-2,1]; >> X_1=A\B %AX=B的解, X=A-1B, B左除以A X_1 = 1 -2 -5 1 2 3 >> X_2=C/A %XA=B的解, X=BA-1, B右除以A >> A=[1,2;0,1];B=[3,2,1;1,2,3];C=[-2,1]; >> X_1=A\B %AX=B的解, X=A-1B, B左除以A X_1 = 1 -2 -5 1 2 3 >> X_2=C/A %XA=B的解, X=BA-1, B右除以A X_2 = -2 5 

  28. §2.2 矩阵运算 第二章 矩阵及其基本运算 四. 方阵的乘方(^) >> A=[1,2;2,1];B=A^10 %乘方 >> A=[1,2;2,1];B=A^10 %乘方 B = 29525 29524 29524 29525 >> >> A=[1,2;2,1];B=A^10 %乘方 B = 29525 29524 29524 29525 >> C=[1,2;2,1]^(-2) %相当于inv(A^2) >> A=[1,2;2,1];B=A^10 %乘方 B = 29525 29524 29524 29525 >> C=[1,2;2,1]^(-2) %相当于inv(A^2) C = 0.5556 -0.4444 -0.4444 0.5556 

  29. §2.2 矩阵运算 第二章 矩阵及其基本运算 五. 矩阵的转置(’) >> A=[1,2;3,4;5,6],B=A’ %B为A的转置 >> A=[1,2;3,4;5,6],B=A’ %B为A的转置 A = 1 2 3 4 5 6 B = 1 3 5 2 4 6 

  30. §2.2 矩阵运算 第二章 矩阵及其基本运算 >> A=[1,2+i;3-2i,4;5,6+5i],B=A’ %B为A的共轭转置 >> A=[1,2+i;3-2i,4;5,6+5i],B=A’ %B为A的共轭转置 A = 1.0000 2.0000+1.0000i 3.0000-2.0000i 4.0000 5.0000 6.0000+5.0000i B = 1.0000 3.0000+2.0000i 5.0000 2.0000-1.0000i 4.0000 6.0000-5.0000i >> >> A=[1,2+i;3-2i,4;5,6+5i],B=A.’ %B为A的转置 >> A=[1,2+i;3-2i,4;5,6+5i],B=A.’ %B为A的转置 A = 1.0000 2.0000+1.0000i 3.0000-2.0000i 4.0000 5.0000 6.0000+5.0000i B = 1.0000 3.0000-2.0000i 5.0000 2.0000+1.0000i 4.0000 6.0000+5.0000i >> 

  31. §2.2 矩阵运算 第二章 矩阵及其基本运算 六. 方阵的行列式(det) >> det([1,2;3,4]) %行列式 >> det([1,2;3,4]) %行列式 ans = -2 >> >> det([1,2;3,4]) %行列式 ans = -2 >> A=[1,2,3;4,5,6;7,8,9];D=det(A) >> det([1,2;3,4]) %行列式 ans = -2 >> A=[1,2,3;4,5,6;7,8,9];D=det(A) D = 0 

  32. §2.2 矩阵运算 第二章 矩阵及其基本运算 七. 逆矩阵(inv) >> inv([1,2;3,4]) %逆矩阵 >> inv([1,2;3,4]) %逆矩阵 ans = -2.0000 1.0000 1.5000 -0.5000 >> 

  33. §2.2 矩阵运算 第二章 矩阵及其基本运算 注意: 若A的行列式的值为0,则MATLAB在执 行inv(A)这个命令时会给出警告信息。 例如 >> A=[1,2,3;4,5,6;7,8,9];B=inv(A) >> A=[1,2,3;4,5,6;7,8,9];B=inv(A) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.203039e-018. B = 1.0e+016 * 0.3152 -0.6304 0.3152 -0.6304 1.2609 -0.6304 0.3152 -0.6304 0.3152 >> 

  34. §2.2 矩阵运算 第二章 矩阵及其基本运算 也可以用初等变换的方法来求逆矩阵。例如: >> A=[1,2;3,4]; >> >> A=[1,2;3,4]; >> B=[1,2,1,0;3,4,0,1]; %这是A的增广矩阵 >> >> A=[1,2;3,4]; >> B=[1,2,1,0;3,4,0,1]; %这是A的增广矩阵 >> C=rref(B); %用矩阵的初等行变换把B化为行最简形 >> >> A=[1,2;3,4]; >> B=[1,2,1,0;3,4,0,1]; %这是A的增广矩阵 >> C=rref(B); %用矩阵的初等行变换把B化为行最简形 >> C,X=C(:,3:4) %输出C和X,其中X为A的逆, 即C的3-4列 >> A=[1,2;3,4]; >> B=[1,2,1,0;3,4,0,1]; %这是A的增广矩阵 >> C=rref(B); %用矩阵的初等行变换把B化为行最简形 >> C,X=C(:,3:4) %输出C和X,其中X为A的逆, 即C的3-4列 C = 1.0000 0 -2.0000 1.0000 0 1.0000 1.5000 -0.5000 X = -2.0000 1.0000 1.5000 -0.5000 

  35. §2.2 矩阵运算 第二章 矩阵及其基本运算 用format rat命令可以使输出格式为分数格式。 例如: >> A=[2 1 -1;2 1 2;1 -1 1]; >> >> A=[2 1 -1;2 1 2;1 -1 1]; >> format rat%用分数格式输出 >> >> A=[2 1 -1;2 1 2;1 -1 1]; >> format rat%用分数格式输出 >> B=inv(A) %求A的逆矩阵 >> A=[2 1 -1;2 1 2;1 -1 1]; >> format rat%用分数格式输出 >> B=inv(A) %求A的逆矩阵 B = 1/3 0 1/3 0 1/3 -2/3 -1/3 1/3 0 >> 

  36. §2.2 矩阵运算 第二章 矩阵及其基本运算 八. 方阵的迹(trace) >> trace([1,2;3,4]) %迹, 主对角线元素之和 >> trace([1,2;3,4]) %迹, 主对角线元素之和 ans = 5 

  37. §2.2 矩阵运算 第二章 矩阵及其基本运算 九. 矩阵的秩(rank) >> A=[2,1,-1,0;0,1,1,-3;2,2,0,-3],r=rank(A) >> A=[2,1,-1,0;0,1,1,-3;2,2,0,-3],r=rank(A) A = 2 1 -1 0 0 1 1 -3 2 2 0 -3 r = 2 

  38. 第三章 线性方程组 §3.1 求线性方程组的唯一解或特解 一. 用克拉默法则 例3.1.1. 求方程组 的解. 

  39. §3.1 求线性方程组的唯一解或特解 第三章 线性方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> D=det([a_1,a_2,a_3,a_4,a_5]); >> D_1=det([b,a_2,a_3,a_4,a_5]); >> D_2=det([a_1,b,a_3,a_4,a_5]); >> D_3=det([a_1,a_2,b,a_4,a_5]); >> D_4=det([a_1,a_2,a_3,b,a_5]); >> D_5=det([a_1,a_2,a_3,a_4,b]); >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> D=det([a_1,a_2,a_3,a_4,a_5]); >> D_1=det([b,a_2,a_3,a_4,a_5]); >> D_2=det([a_1,b,a_3,a_4,a_5]); >> D_3=det([a_1,a_2,b,a_4,a_5]); >> D_4=det([a_1,a_2,a_3,b,a_5]); >> D_5=det([a_1,a_2,a_3,a_4,b]); >> x_1=D_1/D;x_2=D_2/D;x_3=D_3/D;x_4=D_4/D; >> x_5=D_5/D; >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> D=det([a_1,a_2,a_3,a_4,a_5]); >> D_1=det([b,a_2,a_3,a_4,a_5]); >> D_2=det([a_1,b,a_3,a_4,a_5]); >> D_3=det([a_1,a_2,b,a_4,a_5]); >> D_4=det([a_1,a_2,a_3,b,a_5]); >> D_5=det([a_1,a_2,a_3,a_4,b]); >> x_1=D_1/D;x_2=D_2/D;x_3=D_3/D;x_4=D_4/D; >> x_5=D_5/D; >> format rat,X=[x_1,x_2,x_3,x_4,x_5] >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> D=det([a_1,a_2,a_3,a_4,a_5]); >> D_1=det([b,a_2,a_3,a_4,a_5]); >> D_2=det([a_1,b,a_3,a_4,a_5]); >> D_3=det([a_1,a_2,b,a_4,a_5]); >> D_4=det([a_1,a_2,a_3,b,a_5]); >> D_5=det([a_1,a_2,a_3,a_4,b]); >> x_1=D_1/D;x_2=D_2/D;x_3=D_3/D;x_4=D_4/D; >> x_5=D_5/D; >> format rat,X=[x_1,x_2,x_3,x_4,x_5] X = 1507/665 -229/133 37/35 -79/133 212/665 

  40. §3.1 求线性方程组的唯一解或特解 第三章 线性方程组 >> %我们也可以编写如下程序来解上述方程组 >> %我们也可以编写如下程序来解上述方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> %我们也可以编写如下程序来解上述方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> A=[a_1,a_2,a_3,a_4,a_5];D=det(A); >> %我们也可以编写如下程序来解上述方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> A=[a_1,a_2,a_3,a_4,a_5];D=det(A); >> X=[]; %空矩阵 >> %我们也可以编写如下程序来解上述方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> A=[a_1,a_2,a_3,a_4,a_5];D=det(A); >> X=[]; %空矩阵 >> for i=1:5 A=[a_1,a_2,a_3,a_4,a_5]; A(:,i)=b;X=[X,det(A)/D]; i=i+1; end >> %我们也可以编写如下程序来解上述方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> A=[a_1,a_2,a_3,a_4,a_5];D=det(A); >> X=[]; %空矩阵 >> for i=1:5 A=[a_1,a_2,a_3,a_4,a_5]; A(:,i)=b;X=[X,det(A)/D]; i=i+1; end >> format rat,X >> %我们也可以编写如下程序来解上述方程组 >> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0]; >> a_3=[0;6;5;1;0];a_4=[0;0;6;5;1]; >> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; >> A=[a_1,a_2,a_3,a_4,a_5];D=det(A); >> X=[]; %空矩阵 >> for i=1:5 A=[a_1,a_2,a_3,a_4,a_5]; A(:,i)=b;X=[X,det(A)/D]; i=i+1; end >> format rat,X X = 1507/665 -229/133 37/35 -79/133 212/665 

  41. §3.1 求线性方程组的唯一解或特解 第三章 线性方程组 二. 用矩阵除法 >> %把该方程组记为AX=b,则X=A\b >> A=[5,6,0,0,0; 1,5,6,0,0; 0,1,5,6,0; 0,0,1,5,6; 0,0,0,1,5]; >> b=[1;0;0;0;1];format rat,X=A\b >> %把该方程组记为AX=b,则X=A\b >> A=[5,6,0,0,0; 1,5,6,0,0; 0,1,5,6,0; 0,0,1,5,6; 0,0,0,1,5]; >> b=[1;0;0;0;1];format rat,X=A\b X = 1507/665 -229/133 37/35 -79/133 212/665 

  42. §3.1 求线性方程组的唯一解或特解 第三章 线性方程组 三. 用矩阵的初等变换 >> A=[5,6,0,0,0;1,5,6,0,0;0,1,5,6,0; 0,0,1,5,6;0,0,0,1,5]; >> b=[1;0;0;0;1]; >> B=[A,b]; %增广矩阵 >> A=[5,6,0,0,0;1,5,6,0,0;0,1,5,6,0; 0,0,1,5,6;0,0,0,1,5]; >> b=[1;0;0;0;1]; >> B=[A,b]; %增广矩阵 >> format rat >> A=[5,6,0,0,0;1,5,6,0,0;0,1,5,6,0; 0,0,1,5,6;0,0,0,1,5]; >> b=[1;0;0;0;1]; >> B=[A,b]; %增广矩阵 >> format rat >> C=rref(B); %用初等行变换把B化为行最简形 >> A=[5,6,0,0,0;1,5,6,0,0;0,1,5,6,0; 0,0,1,5,6;0,0,0,1,5]; >> b=[1;0;0;0;1]; >> B=[A,b]; %增广矩阵 >> format rat >> C=rref(B); %用初等行变换把B化为行最简形 >> X=C(:,6) %取C的最后一列 >> A=[5,6,0,0,0;1,5,6,0,0;0,1,5,6,0; 0,0,1,5,6;0,0,0,1,5]; >> b=[1;0;0;0;1]; >> B=[A,b]; %增广矩阵 >> format rat >> C=rref(B); %用初等行变换把B化为行最简形 >> X=C(:,6) %取C的最后一列 X = 911/402 -229/133 37/35 -79/133 95/298 思考: 为什么与前一种 方法所得到的结 果不一样? 

  43. §3.1 求线性方程组的唯一解或特解 第三章 线性方程组 例3.1.2. 求方程组 的一个特解. 解: 先用MATLAB把该方程组的增广矩阵 化为行最简形 

  44. §3.1 求线性方程组的唯一解或特解 第三章 线性方程组 >> A=[1,1,-1,-1;3,-1,-3,4;1,5,-9,-8]; >> b=[1;4;0]; >> B=[A,b]; %增广矩阵 >> C=rref(B); %用初等行变换把B化为行最简形 >> A=[1,1,-1,-1;3,-1,-3,4;1,5,-9,-8]; >> b=[1;4;0]; >> B=[A,b]; %增广矩阵 >> C=rref(B); %用初等行变换把B化为行最简形 C = 1.0000 0 0 0.7500 1.2500 0 1.0000 0 -1.7500 -0.2500 0 0 1.0000 0 0 从中可以看出该方程组有无数多解,而且 X=[1.25, – 0.25,0,0]T 就是该方程组的一个特解. 

  45. §3.2 求线性方程组的通解 第三章 线性方程组 §3.2 求线性方程组的通解 一. 求齐次线性方程组的通解 例3.2.1. 求方程组 的通解. 解: 先用函数null求系数矩阵 的零空间的一组基: 

  46. §3.2 求线性方程组的通解 第三章 线性方程组 >> A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]; %系数矩阵 >> B=null(A) %求A的零空间的标准正交基 >> A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]; %系数矩阵 >> B=null(A) %求A的零空间的标准正交基 B = 0.7177 -0.0286 -0.6084 0.2725 0.0857 -0.6241 0.3277 0.7317 >> A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]; %系数矩阵 >> C=null(A,’r’) %求A的零空间的基 >> A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]; %系数矩阵 >> C=null(A,’r’) %求A的零空间的基 C = 2.0000 1.6667 -2.0000 -1.3333 1.0000 0 0 1.0000 >> A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]; %系数矩阵 >> format rat, D=null(A,’r’) >> A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]; %系数矩阵 >> format rat, D=null(A,’r’) D = 2 5/3 -2 -4/3 1 0 0 1 再写出该方程组的通解: 

  47. §3.2 求线性方程组的通解 第三章 线性方程组 D = 2 5/3 -2 -4/3 1 0 0 1 >> sym k1 k2%说明k1,k2为符号变量 D = 2 5/3 -2 -4/3 1 0 0 1 >> sym k1 k2%说明k1,k2为符号变量 >> X=k1*D(:,1)+k2*D(:,2) %通解 D = 2 5/3 -2 -4/3 1 0 0 1 >> sym k1 k2%说明k1,k2为符号变量 >> X=k1*D(:,1)+k2*D(:,2) %通解 X = 2*k1+5/3*k2 -2*k1-4/3*k2 k1 k2 

  48. §3.2 求线性方程组的通解 第三章 线性方程组 X = 2*k1+5/3*k2 -2*k1-4/3*k2 k1 k2 >> >> pretty(X) %让通解表达式更加精美 [2 k1 + 5/3 k2 ] [ ] [-2 k1 – 4/3 k2] [ ] [ k1 ] [ ] [ k2 ] 

  49. §3.2 求线性方程组的通解 第三章 线性方程组 二. 求非齐次线性方程组的通解 例3.2.2. 求解方程组 

  50. §3.2 求线性方程组的通解 第三章 线性方程组 >> A=[1 -2 3 -1;3 -1 5 -3;2 1 2 -2]; %系数矩阵 >> b=[1 2 3]’; >> >> A=[1 -2 3 -1;3 -1 5 -3;2 1 2 -2]; %系数矩阵 >> b=[1 2 3]’; >> B=[A b]; %增广矩阵 >> >> n=4; %未知量的个数 >> R_A=rank(A); %系数矩阵的秩 >> R_B=rank(B); %增广矩阵的秩 >> if R_A==R_B&R_A==n, X=A\b %这是有唯一解的情况 elseif R_A==R_B&R_A<n, C=rref(B) %这是有无穷多个解的情况 else X=‘Equation has no solves’%无解的情况 end%MATLAB运行后得到如下结果 X = Equation has no solves 

More Related