Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB 在教学中的应用.

Similar presentations


Presentation on theme: "MATLAB 在教学中的应用."— Presentation transcript:

1 MATLAB 在教学中的应用

2 MATLAB简介 MATLAB是MATrix LABoratory 的缩写,是由美国MathWorks公司开发的工程计算软件,迄今MATLAB已推出了6.5版. 1984年MathWorks公司正式将MATLAB推向市场,从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能.在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件.在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具.

3 MATLAB的功能 功能强大 MATLAB产品组是从支持概念设计、算法开发、建模仿真, 到实时实现的集成环境,可用来进行: 数据分析
数值与符号计算 工程与科学绘图 控制系统设计 数字图像信号处理 建模、仿真、原型开发 财务工程、应用开发、图形用户界面设计 功能强大

4 MATLAB语言特点 语言简洁 编程效率高,允许用数学的语言来编写程序 用户使用方便,把程序的编辑、编译、连接和执行融为一体
高效方便的矩阵和数组运算 语句简单,内涵丰富 扩充能力强,交互性,开放性 方便的绘图功能 该软件由c语言编写,移植性好 语言简洁

5 MATLAB的环境 菜单项; 工具栏; 【Command Window】命令窗口; 【Launch Pad】分类帮助窗口;
【Workspace】工作区窗口; 【Command History】指令历史记录窗口; 【Current Directory】当前目录选择窗口;

6 MATLAB操作窗口 双击桌面快捷键,启动软件。 接受命令的窗口

7 M文件的编写与应用 MATLAB的M文件就是用户把要实现的命令写在 一个以m作为文件扩展名的文件中,然后由MATLAB 系统进行解释,运行出结果。即为实现某种功能的命 令集。从而使得MATLAB具有强大的可开发性与可扩 展性。 MATLAB是由C语言开发而成,因此,M文件的 语法规则与C语言几乎完全一样。 M文件可在命令窗口直接调用,只需键入文件名。

8 不在命令窗口显示结果

9 调用M文件shili.m

10 MATLAB在《微积分》中的应用 1、求函数值 例1 在命令窗口中键入表达式 并求 时的函数值。 >> x=2,y=4 >>z=x^2+exp(x+y)-y*log(x)-3 命令窗口显示结果: x = 2 y = 4 z =

11 例2 用循环语句编写M文件计算ex的值,其中x,n为输入
function y=e(x,n) y=1;s=1; for i=1:n s=s*i; y=y+x^i/s; end y >> y=e(1,100) ans = y y = 2.7183 调用函数 M文件

12 >>limit(sqrt(n+sqrt(n))-sqrt(n),n,inf)
MATLAB在《微积分》中的应用 2、求极限 例3 求极限 LIMIT Limit of an expression. LIMIT(F,x,a) takes the limit of the symbolic expression F as x -> a. LIMIT(F,x,a,'right') or LIMIT(F,x,a,'left') specify the direction of a one-sided limit. 定义符号变量 >> syms n; >>limit(sqrt(n+sqrt(n))-sqrt(n),n,inf) ans = 1/2

13 MATLAB在《微积分》中的应用 3、求导数 例4 设 ,求 定义X为符号变量 >> syms x >> y=10^x+x^10+log(x) y = x^10+10^x+log(x) >> diff(y) Difference:差分 Differential:微分的 ans = 10*x^9+10^x*log(10)+1/x

14 例5 设 >> syms x; >> y=log(1+x); >> a=diff(y,x,2) a = -1/(1+x)^2 >> x=1;eval(a) ans = 将符号表达式 转换成数值表达式

15 例6 设 ,求 >> syms x y; z=exp(2*x)*(x+y^2+2*y); a=diff(z,x) b=diff(z,y) c=diff(z,x,2) d=diff(z,y,2) e=diff(a,y)

16 a =2*exp(2*x)*(x+y^2+2*y)+exp(2*x)
b =exp(2*x)*(2*y+2) c =4*exp(2*x)*(x+y^2+2*y)+4*exp(2*x) d =2*exp(2*x) e =2*exp(2*x)*(2*y+2)

17 MATLAB在《微积分》中的应用 4、求极值和零点 例7 已知 ,求 (1)函数的零点;(2)函数在[-1,2]上的最小值 >> fzero('3*x^5-x^4+2*x^3+x^2+3',0) 命令函数 函数 起始点 ans = >> fminbnd('3*x^5-x^4+2*x^3+x^2+3',-1,2) ans = e-005

18 MATLAB在《微积分》中的应用 4、求极值和零点 ,求 例8 已知 函数在点(1,-1,0)附近的最小值 >> [X,FVAL]= FMINSEARCH('x(1)^2+2.5*sin(x(2))- x(3)*x(1)*x(2)^2',[1 -1 0]) X = FVAL =

19 MATLAB在《微积分》中的应用 5、求积分 例9 求不定积分 Integrate:积分 >> int(cos(2*x)*cos(3*x)) ans =1/2*sin(x)+1/10*sin(5*x) 例10 求定积分 >> x=1:0.01:exp(1); >> y=x.^2.*log(x); >> trapz(x,y) ans = >> eval(int(x^2*log(x),1,exp(1))) ans =

20 例10 求定积分 >> int(exp(-x^2/2),0,1) ans = 1/2*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/2) >> x=0:0.01:1; y=exp(-x.^2/2); trapz(x,y) ans = >> y='exp(-x.^2/2)'; >> quadl(y,0,1) ans = 梯形法数值积分 变步长数值积分

21 MATLAB在《微积分》中的应用 5、求积分 例11 求二重积分 >> syms x y; >> f=y^2/x^2; >> int(int(f,x,1/2,2),y,1,2) ans =7/2 >> f='(y.^2)./(x.^2)'; >> dblquad(f,1/2,2,1,2) ans = 符号积分 数值计算

22 MATLAB在《微积分》中的应用 6、解微分方程 例12 计算初值问题: >> dsolve('Dy=x+y','y(0)=1','x') ans =-x-1+2*exp(x) 一定要大写

23 MATLAB在《微积分》中的应用 7、级数问题 例13 求函数 的泰勒展开式,并计算该 函数在x=3.42时的近似值。 >> syms x; >> taylor(sin(x)/x,x,10) >> x=3.42; >> eval(ans) ans = ans = 1-1/6*x^2+1/120*x^4-1/5040*x^6+1/362880*x^8

24 MATLAB在《线性代数》中的应用 1、矩阵的基本运算 例1 已知 >> a=[4 -2 2;-3 0 5;1 5 3]; b=[1 3 4; ;2 -1 1]; >> a*b ans = =AB

25 MATLAB在《线性代数》中的应用 1、矩阵的基本运算 例1 已知 >> inv(a) ans =

26 MATLAB在《线性代数》中的应用 1、矩阵的基本运算 例1 已知 >> rank(a) ans = 3

27 MATLAB在《线性代数》中的应用 1、矩阵的基本运算 例1 已知 >> a/b ans =

28 MATLAB在《线性代数》中的应用 1、矩阵的基本运算 例1 已知 >> a\b ans =

29 MATLAB在《线性代数》中的应用 2、解线性方程组 >> a=[ ; ; ; ]; >> rref(a) 将矩阵A化为最简阶梯形 RREF Reduced row echelon form ans = R(A)=4=n; 所以方程组只有零解。

30 MATLAB在《线性代数》中的应用 2、解线性方程组

31 >> a=[2 3 1;1 -2 4;3 8 -2;4 -1 9]; >> b=[4;-5;13;-6]; >> c=null(a,'r') c = -2 1 >> [l u]=lu(a); >> x0=u\(l\b) x0 = -3124/135 3529/270 2989/270 求齐次方程组 的基础解系 求非齐次方程组 的一个特解 所以方程组的一般解为

32 3、将矩阵对角化 >> a=[-1 2 0;-2 3 0;3 0 2]; >> [v,d]=eig(a) v = / /1257 / /1257 / /419 d = A的特征值为2,1,1

33 4、用正交变换化二次型为标准形 >> a=[ ]; >> format >> [u t]=schur(a) u = t =

34 >> a=[ ; ; ; ]; format rat [u t]=schur(a) FORMAT RAT Approximation by ratio of small integers. u = 596/ / / /2 596/ / / /2 -1198/ / /2 1079/ / /2 t = * * “*”表示 近似于零

35 4、用正交变换化二次型为标准形 结论:作正交变换 则有

36 再见


Download ppt "MATLAB 在教学中的应用."

Similar presentations


Ads by Google