Presentation is loading. Please wait.

Presentation is loading. Please wait.

第7章 MATLAB工程计算.

Similar presentations


Presentation on theme: "第7章 MATLAB工程计算."— 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个非零元素。 针对不同的情况,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 结果:

24

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

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

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

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

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

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

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

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

33 三、计算数值向量的数值差分 差分可以用diff()函数求出 语法:Y=diff(F,n,dim)

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

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

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


Download ppt "第7章 MATLAB工程计算."

Similar presentations


Ads by Google