1 / 36

第 7 章 MATLAB 工程计算

第 7 章 MATLAB 工程计算. 本章内容. 第四节 M 文件及其语言基础 第五节 MATLAB 线性方程组求解 第六节 数值分析. 第一节 MATLAB 概述. MATLAB 是“矩阵实验室” (MATrix LABoratory) 的缩写。 最初是 Cleve More 博士用 FORTRAN 语言开发的矩阵分析软件, 80 年代初, Moler 和 John Little 用 C 改写,不久他们成立 MathWorks 公司, 84 年推向市场, 2000 年推出了 MATLAB 6.0 版本。

alima
Download Presentation

第 7 章 MATLAB 工程计算

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. 第7章 MATLAB工程计算

  2. 本章内容 • 第四节 M文件及其语言基础 • 第五节 MATLAB线性方程组求解 • 第六节 数值分析

  3. 第一节 MATLAB概述 • MATLAB是“矩阵实验室”(MATrix LABoratory)的缩写。 • 最初是Cleve More博士用FORTRAN语言开发的矩阵分析软件, 80年代初, Moler和John Little用C改写,不久他们成立MathWorks公司,84年推向市场,2000年推出了MATLAB 6.0版本。 • MATLAB是应用最广泛的工程计算软件,发达国家理工类学生必须掌握的数学分析工具。

  4. 第四节 M文件及其语言基础 • 在命令窗口下,键入一行命令后,系统立即执行。这种方法程序可读性差且难以存储。对于复杂的问题,应编成程序文件。 • 由MatLab语句构成的文件称作M文件,它将m作为文件的扩展名,可以用任何文件编辑器进行调试。

  5. 一、建立主程序文件 • 选择File—>New->M-file,即进入M文件编辑器。 • 输入程序,完成后,在当前目录下保存文件名。 • 在命令窗口,输入文件名,即执行程序。

  6. 主程序格式特征 • 以%开始为注释 • 全局变量定义: Global 变量名1 变量名2 • 人机交互语句: x= input(‘n=’) % 将值付给x,屏幕显示’n=‘

  7. 二、常量

  8. 三、变量 变量命名规则 • 必须以字母为开头 • 可以由字母、数字和下划线混合组成,区分大小写 • 字符长度不大于31个

  9. 变量数据类型 MatLab有五种基本数据类型, • 数值数组(double array) • 字符串(char array) • 符号对象(Symbolic object) • 单元数组(Cell array) • 结构(Structure)

  10. 四、关系与逻辑运算 <小于 <= 小于等于 > 大于 >= 大于等于 = = 等于 ~ = 不等于 &与 |或 ~ 非

  11. 五、矩阵运算符

  12. 六、数学函数 • log10 • log2 • log • round • fix • gcd • lcm • sin • cos • tan • cot • asin • exp • sqrt

  13. 七、程序控制语句 For 循环 • 基本格式为: for 循环变量=起始值:步长:终止值 循环体 end

  14. While 循环 • While 逻辑表达式 • 循环体 • end

  15. 求从1+2+3+…+100之和 • sum=0; • i=1; • while i<=100 • sum=sum+I; • i=i+1; • End • sum

  16. 条件转移语句 if 逻辑表达式 • 执行语句1 • else • 执行语句2 • end

  17. 多重条件分支 • Switch 语句 • switch • Case 值1 • 语句1 • Case 值2 • 语句2 • Otherwise • 语句3 • end

  18. 例题 • 编写一个M文件,画出分段函数所表示的曲面

  19. 第5节 线性方程式的求解

  20. 第5节 线性方程式的求解 • MATLAB采用除法运算符“/”和“\”求解 X=A\b’ 表示求矩阵方程AX=B的解 X=A/b’ 表示求矩阵方程XA=B的解 • 对方程X=A\B,要求矩阵A和B有相同的行数, X和B有相同的列数,它的行数等于矩阵A的列数。 • 方程X=B/A同理

  21. 如果矩阵A不是方阵,其维数是m×n,则有: • m=n 恰定方程,寻求精确解 • m>n 超定方程,寻求最小二乘解 • m<n 不定方程,寻求基本解,其中至多有m个非零元素。 针对不同的情况,matlab采用不同的算法。

  22. 一 、恰定方程组 • 恰定方程组由n个未知数的n个方程构成,方程有唯一的一组解。其形式: Ax=b 其中,A是方阵,b是一个列向量。 在线性代数中,最常用的方程解法有: • 利用crammer公式求解 • 利用矩阵求逆法求解 • 利用gaussian消去法 • 利用lu法求解 在MATLAB中,直接采用表达式:x=A\b’

  23. 求解方程组 2x1-x2+3x3=3 4x1+2x2+5x3=4 2x1 +2x3=6 A=[2 -1 3;4 2 5; 2 0 2]; b=[3 4 6]’; X=A\b 结果: 7.6667 -1.6667 -4.6667

  24. 二、超定方程组 • 对于方程组Ax=b,A为n×m矩阵,如果A列满秩,且n>m,则方程没有精确解,此时方程组称为超定方程组。 • 线性超定方程经常遇到的问题是数据的曲线拟合。对于超定方程组,在MatLab中,利用左除命令x=A\b,来寻求它的最小二乘解,还可以用广义逆来求,即x=pinv(A),所得到的解不一定满足Ax=b,x只是最小二乘意义上的解。

  25. 求超定方程组 A=[2 -1 3;3 1 -5;4 -1 1;1 3 -13] b=[3 0 3 -6]’ x1=A\b %左除解方程 x1 = 1.0000 2.0000 1.0000 X2=pinv(A)*b %广义逆求解

  26. A*x1-b %验证最小二乘解 显示: • 1.0e-014 * • -0.0888 • -0.0888 • -0.1332 • 0 • 说明x1不是方程Ax=b的精确解。

  27. 第六节 数值分析 • Matlab提供符号运算,可进行多种数值分析,包括因式分解、求极限值、求微分、求导数等

  28. 符号变量 • 在使用符号运算工具箱之前,需要把一些变量声明为“符号变量”,以区别于常规的数值变量。 • 例如声明a,b,c,d 为符号变量: syms a b c d

  29. 一、因式分解 • Factor函数 • Syms x • s=x^9-1 • Factor(s)

  30. 二、求极限值 • 极限可以用limit函数求得 • Limit(f,x,a) 求符号表达式f当x->a时的极限 • Limit(f,a) 对系统默认变量且该变量x->a时的极限

  31. 例如 • 求下式中默认变量->2时的极限 • Syms x • Limit((x-2)/(x^2-4),2)

  32. 三、计算数值向量的数值差分 • 差分可以用diff()函数求出 • 语法:Y=diff(F,n,dim) • F是向量;n是差分阶数;dim是指沿着数组的哪一维进行差分

  33. 例如 • F=[(1:6).^3] • diff(F)

  34. 二、一维数值积分 • Quad: 采用simpson法计算积分。 • 调用格式: • q=quad(‘fun’,a,b,tol,trace,p1,p2,…) • fun:被积函数, • a,b:上限 下限 • tol: 误差,缺省 0.0001 • Trace:画图 • p1,p2:传递参数

  35. 求数值积分 • function y=funq(x) • y=x^3+x^2+2 • q=quad(‘funq’,-1,1,1e-4,1)

More Related