matlab在科学计算中的应用3章节

上传人:E**** 文档编号:91298108 上传时间:2019-06-27 格式:PPT 页数:109 大小:2.76MB
返回 下载 相关 举报
matlab在科学计算中的应用3章节_第1页
第1页 / 共109页
matlab在科学计算中的应用3章节_第2页
第2页 / 共109页
matlab在科学计算中的应用3章节_第3页
第3页 / 共109页
matlab在科学计算中的应用3章节_第4页
第4页 / 共109页
matlab在科学计算中的应用3章节_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《matlab在科学计算中的应用3章节》由会员分享,可在线阅读,更多相关《matlab在科学计算中的应用3章节(109页珍藏版)》请在金锄头文库上搜索。

1、第三章 微积分问题的计算机求解,微积分问题的解析解 函数的级数展开与级数求和问题求解 数值微分 数值积分问题 曲线积分与曲面积分的计算,3.1 微积分问题的解析解 3.1.1 极限问题的解析解,单变量函数的极限 格式1: L= limit( fun, x, x0) 格式2: L= limit( fun, x, x0, left 或 right),例: 试求解极限问题 syms x a b; f=x*(1+a/x)x*sin(b/x); L=limit(f,x,inf) L = exp(a)*b 例:求解单边极限问题 syms x; limit(exp(x3)-1)/(1-cos(sqrt(x-

2、sin(x),x,0,right) ans = 12,在(-0.1,0.1)区间绘制出函数曲线: x=-0.1:0.001:0.1; y=(exp(x.3)-1)./(1-cos(sqrt(x-sin(x); Warning: Divide by zero. (Type “warning off MATLAB: divideByZero“ to suppress this warning.)? plot(x,y,-,0, 12,o),多变量函数的极限: 格式: L1=limit(limit(f,x,x0),y,y0) 或 L1=limit(limit(f,y,y0), x,x0) 如果x0 或

3、y0不是确定的值,而是另一个变量的函数,如x-g(y),则上述的极限求取顺序不能交换。,例:求出二元函数极限值 syms x y a; f=exp(-1/(y2+x2) *sin(x)2/x2*(1+1/y2)(x+a2*y2); L=limit(limit(f,x,1/sqrt(y),y,inf) L = exp(a2),3.1.2 函数导数的解析解,函数的导数和高阶导数 格式: y=diff(fun,x) %求导数 y= diff(fun,x,n) %求n阶导数 例: 一阶导数: syms x; f=sin(x)/(x2+4*x+3); f1=diff(f); pretty(f1),cos

4、(x) sin(x) (2 x + 4) - - - 2 2 2 x + 4 x + 3 (x + 4 x + 3) 原函数及一阶导数图: x1=0:.01:5; y=subs(f, x, x1); y1=subs(f1, x, x1); plot(x1,y,x1,y1,:) 更高阶导数: tic, diff(f,x,100); toc elapsed_time = 4.6860,原函数4阶导数 f4=diff(f,x,4); pretty(f4) 2 sin(x) cos(x) (2 x + 4) sin(x) (2 x + 4) - + 4 - - 12 - 2 2 2 2 3 x + 4

5、 x + 3 (x + 4 x + 3) (x + 4 x + 3) 3 sin(x) cos(x) (2 x + 4) cos(x) (2 x + 4) + 12 - - 24 - + 48 - 2 2 2 4 2 3 (x + 4 x + 3) (x + 4 x + 3) (x + 4 x + 3) 4 2 sin(x) (2 x + 4) sin(x) (2 x + 4) sin(x) + 24 - - 72 - + 24 - 2 5 2 4 2 3 (x + 4 x + 3) (x + 4 x + 3) (x + 4 x + 3),多元函数的偏导: 格式: f=diff(diff(f,

6、x,m),y,n) 或 f=diff(diff(f,y,n),x,m) 例: 求其偏导数并用图表示。 syms x y z=(x2-2*x)*exp(-x2-y2-x*y); zx=simple(diff(z,x) zx = -exp(-x2-y2-x*y)*(-2*x+2+2*x3+x2*y-4*x2-2*x*y), zy=diff(z,y) zy = (x2-2*x)*(-2*y-x)*exp(-x2-y2-x*y) 直接绘制三维曲面 x,y=meshgrid(-3:.2:3,-2:.2:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y); surf(x,y,z), a

7、xis(-3 3 -2 2 -0.7 1.5), contour(x,y,z,30), hold on % 绘制等值线 zx=-exp(-x.2-y.2-x.*y).*(-2*x+2+2*x.3+x.2.*y-4*x.2-2*x.*y); zy=-x.*(x-2).*(2*y+x).*exp(-x.2-y.2-x.*y); % 偏导的数值解 quiver(x,y,zx,zy) % 绘制引力线,例 syms x y z; f=sin(x2*y)*exp(-x2*y-z2); df=diff(diff(diff(f,x,2),y),z); df=simple(df); pretty(df) 2 2

8、 2 2 2 -4 z exp(-x y - z ) (cos(x y) - 10 cos(x y) y x + 4 2 4 2 2 4 2 2 sin(x y) x y+ 4 cos(x y) x y - sin(x y),多元函数的Jacobi矩阵: 格式:J=jacobian(Y,X) 其中,X是自变量构成的向量,Y是由各个函数构成的向量。,例: 试推导其 Jacobi 矩阵 syms r theta phi; x=r*sin(theta)*cos(phi); y=r*sin(theta)*sin(phi); z=r*cos(theta); J=jacobian(x; y; z,r th

9、eta phi) J = sin(theta)*cos(phi), r*cos(theta)*cos(phi), -r*sin(theta)*sin(phi) sin(theta)*sin(phi), r*cos(theta)*sin(phi), r*sin(theta)*cos(phi) cos(theta), -r*sin(theta), 0 ,隐函数的偏导数: 格式:F=-diff(f,xj)/diff(f,xi),例: syms x y; f=(x2-2*x)*exp(-x2-y2-x*y); pretty(-simple(diff(f,x)/diff(f,y) 3 2 2 -2 x

10、+ 2 + 2 x + x y - 4 x - 2 x y - - x (x - 2) (2 y + x),3.1.3 积分问题的解析解,不定积分的推导: 格式: F=int(fun,x) 例: 用diff() 函数求其一阶导数,再积分,检验是否可以得出一致的结果。 syms x; y=sin(x)/(x2+4*x+3); y1=diff(y); y0=int(y1); pretty(y0) % 对导数积分 sin(x) sin(x) - 1/2 - + 1/2 - x + 3 x + 1,对原函数求4 阶导数,再对结果进行4次积分 y4=diff(y,4); y0=int(int(int(i

11、nt(y4); pretty(simple(y0) sin(x) - 2 x + 4 x + 3,例:说明 syms a x; f=simple(int(x3*cos(a*x)2,x) f = 1/16*(4*a3*x3*sin(2*a*x)+2*a4 *x4+6*a2*x2*cos(2*a*x)-6*a*x*sin(2*a*x)-3*cos(2*a*x)-3)/a4 f1=x4/8+(x3/(4*a)-3*x/(8*a3)*sin(2*a*x)+. (3*x2/(8*a2)-3/(16*a4)*cos(2*a*x); simple(f-f1) % 求两个结果的差 ans = -3/16/a4

12、,定积分与无穷积分计算: 格式: I=int(f,x,a,b) 格式: I=int(f,x,a,inf),例: syms x; I1=int(exp(-x2/2),x,0,1.5) 无解 I1 = 1/2*erf(3/4*2(1/2)*2(1/2)*pi(1/2) vpa(I1,70) ans = 1.085853317666016569702419076542265042534236293532156326729917229308528 I2=int(exp(-x2/2),x,0,inf) I2 = 1/2*2(1/2)*pi(1/2),多重积分问题的MATLAB求解 例: syms x y

13、 z; f0=-4*z*exp(-x2*y-z2)*(cos(x2*y)-10*cos(x2*y)*y*x2+. 4*sin(x2*y)*x4*y2+4*cos(x2*y)*x4*y2-sin(x2*y); f1=int(f0,z);f1=int(f1,y);f1=int(f1,x); f1=simple(int(f1,x) f1 = exp(-x2*y-z2)*sin(x2*y), f2=int(f0,z); f2=int(f2,x); f2=int(f2,x); f2=simple(int(f2,y) f2 =2*exp(-x2*y-z2)*tan(1/2*x2*y)/(1+tan(1/2

14、*x2*y)2) ? f2=sin(x2*y)/exp(y*x2 + z2) simple(f1-f2) ans = 0 顺序的改变使化简结果不同于原函数,但其误差为0,表明二者实际完全一致。这是由于积分顺序不同,得不出实际的最简形式。,例: syms x y z int(int(int(4*x*z*exp(-x2*y-z2),x,0,1),y,0,pi),z,0,pi) ans = (Ei(1,4*pi)+log(pi)+eulergamma+2*log(2)*pi2*hypergeom(1,2,-pi2) ? Ei(n,z)为指数积分,无解析解,但可求其数值解: vpa(ans,60) ans = 3.10807940208541272283461464767138521019142306317021863483588,3.2 函数的级数展开与 级数求和问题求解,3.2.1 Taylor 幂级数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号