中科院-matlab在科学计算中的应用优秀PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《中科院-matlab在科学计算中的应用优秀PPT.ppt》由会员分享,可在线阅读,更多相关《中科院-matlab在科学计算中的应用优秀PPT.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 微积分问题的计算机求解微积分问题的解析解微积分问题的解析解函数的级数绽开与级数求和问题求解函数的级数绽开与级数求和问题求解数值微分数值微分数值积分问题数值积分问题曲线积分与曲面积分的计算曲线积分与曲面积分的计算13.1 微积分问题的解析解 3.1.1 极限问题的解析解单变量函数的极限格式1:L=limit(fun,x,x0)格式2:L=limit(fun,x,x0,left 或 right)2例:试求解极限问题 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(x
2、3)-1)/(1-cos(sqrt(x-sin(x),x,0,right)ans=123在(-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)4多变量函数的极限:格式:L1=limit(limit(f,x,x0),y,y0)或 L1=limit(limit(f,y,y0),x,x0)假如x0
3、 或y0不是确定的值,而是另一个变量的函数,如x-g(y),则上述的极限求取依次不能交换。5例:求出二元函数极限值 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)63.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)7 cos(x)sin(x)(2 x+4
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);tocelapsed_time=4.68608原函数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 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-+
5、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)9多元函数的偏导:格式:f=diff(diff(f,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-
6、4*x2-2*x*y)10 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),axis(-3 3-2 2-0.7 1.5)11 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.*
7、y);%偏导的数值解 quiver(x,y,zx,zy)%绘制引力线12例 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 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 2sin(x y)x y+4 cos(x y)x y -sin(x y)13多元函数的Jacobi矩阵:格式:J=jacobian(Y,X)其中,X是自变量构成的向量,Y是由各个函数构成的向量。14例:试推导
8、其 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 theta 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 15隐函数的偏导数:格式:F=-diff(f,
9、xj)/diff(f,xi)16例: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+2+2 x +x y-4 x -2 x y -x(x-2)(2 y+x)173.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+
10、3 x+118对原函数求对原函数求4 4 阶导数,再对结果进行阶导数,再对结果进行4 4次积分次积分 y4=diff(y,4);y0=int(int(int(int(y4);pretty(simple(y0)sin(x)-2 x +4 x+319例:说明明 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*
11、x2/(8*a2)-3/(16*a4)*cos(2*a*x);simple(f-f1)%求两个结果的差ans=-3/16/a420定积分与无穷积分计算:格式:I=int(f,x,a,b)格式:I=int(f,x,a,inf)21例: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=I2=int(exp(-x2/2),x,0,inf)I2=1/2*2(1/2)*pi(1/2)22多重积分问题的MATLAB求解例:syms x y z;f0=-4*z*exp(-x2*y-z2
12、)*(cos(x2*y)-syms x y z;f0=-4*z*exp(-x2*y-z2)*(cos(x2*y)-10*cos(x2*y)*y*x2+.10*cos(x2*y)*y*x2+.4*sin(x2*y)*x4*y2+4*cos(x2*y)*x4*y2-sin(x2*y);4*sin(x2*y)*x4*y2+4*cos(x2*y)*x4*y2-sin(x2*y);f1=int(f0,f1=int(f0,z z);f1=int(f1,);f1=int(f1,y y);f1=int(f1,);f1=int(f1,x x););f1=simple(int(f1,f1=simple(int(f
13、1,x x)f1=f1=exp(-x2*y-z2)*sin(x2*y)exp(-x2*y-z2)*sin(x2*y)23 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*x2*y)2)?f2=sin(x2*y)/exp(y*x2+z2)simple(f1-f2)ans=0 依次的变更使化简结果不同于原函数,但其误差为0,表明二者实际完全一样。这是由于积分依次不同,得不出实际的最简形式。24例:syms x y z int(int(int(4
14、*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=25263.2 函数的级数绽开与 级数求和问题求解3.2.1 Taylor 幂级数绽开3.2.2 Fourier 级数绽开3.2.3 级数求和的计算273.2.1 Taylor 幂级数绽开 3.2.1.1 单变量函数的 Taylor 幂级数绽开2829例:syms x;f=sin(x)/(x2+4*
15、x+3);y1=taylor(f,x,9);pretty(y1)23 34 4087 3067 515273 386459 1/3 x-4/9 x2 +-x3 -x4 +-x5 -x6 +-x7 -x8 54 81 9720 7290 1224720 91854030 taylor(f,x,9,2)ans=syms a;taylor(f,x,5,a)%结果较冗长,显示从略ans=sin(a)/(a2+3+4*a)+(cos(a)-sin(a)/(a2+3+4*a)*(4+2*a)/(a2+3+4*a)*(x-a)+(-sin(a)/(a2+3+4*a)-1/2*sin(a)-(cos(a)*a
16、2+3*cos(a)+4*cos(a)*a-4*sin(a)-2*sin(a)*a)/(a2+3+4*a)2*(4+2*a)/(a2+3+4*a)*(x-a)2+31例:对y=sinx进行Taylor幂级数绽开,并视察不同阶次的近似效果。x0=-2*pi:0.01:2*pi;y0=sin(x0);syms x;y=sin(x);plot(x0,y0,r-.),axis(-2*pi,2*pi,-1.5,1.5);hold on for n=8:2:16 p=taylor(y,x,n),y1=subs(p,x,x0);line(x0,y1)endp=x-1/6*x3+1/120*x5-1/5040
17、*x7p=x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9p=x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9-1/39916800*x11p=x-1/6*x3+1/120*x5-1/5040*x7+1/362880*x9-1/39916800*x11+1/6227020800*x13 32p=333.2.1.2 多变量函数的Taylor 幂级数绽开多变量函数 在的Taylor幂级数的绽开34例:?syms x y;f=(x2-2*x)*exp(-x2-y2-x*y);F=maple(mtaylor,f,x,y,8)F=mtaylor
18、(x2-2*x)*exp(-x2-y2-x*y),x,y,8)35 maple(readlib(mtaylor);读库,把函数调入内存 F=maple(mtaylor,f,x,y,8)F=-2*x+x2+2*x3-x4-x5+1/2*x6+1/3*x7+2*y*x2+2*y2*x-y*x3-y2*x2-2*y*x4-3*y2*x3-2*y3*x2-y4*x+y*x5+3/2*y2*x4+y3*x3+1/2*y4*x2+y*x6+2*y2*x5+7/3*y3*x4+2*y4*x3+y5*x2+1/3*y6*x syms a;F=maple(mtaylor,f,x=1,y=a,3);F=maple
19、(mtaylor,f,x=a,3)F=(a2-2*a)*exp(-a2-y2-a*y)+(a2-2*a)*exp(-a2-y2-a*y)*(-2*a-y)+(2*a-2)*exp(-a2-y2-a*y)*(x-a)+(a2-2*a)*exp(-a2-y2-a*y)*(-1+2*a2+2*a*y+1/2*y2)+exp(-a2-y2-a*y)+(2*a-2)*exp(-a2-y2-a*y)*(-2*a-y)*(x-a)2363.2.2 Fourier 级数绽开37function A,B,F=fseries(f,x,n,a,b)if nargin=3,a=-pi;b=pi;endL=(b-a)/
20、2;if a+b,f=subs(f,x,x+L+a);end变量区域互换A=int(f,x,-L,L)/L;B=;F=A/2;%计算a0for i=1:n an=int(f*cos(i*pi*x/L),x,-L,L)/L;bn=int(f*sin(i*pi*x/L),x,-L,L)/L;A=A,an;B=B,bn;F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);endif a+b,F=subs(F,x,x-L-a);end 换回变量区域38例:syms x;f=x*(x-pi)*(x-2*pi);A,B,F=fseries(f,x,6,0,2*pi)A=0,0,0,
21、0,0,0,0 B=-12,3/2,-4/9,3/16,-12/125,1/18 F=12*sin(x)+3/2*sin(2*x)+4/9*sin(3*x)+3/16*sin(4*x)+12/125*sin(5*x)+1/18*sin(6*x)39例:syms x;f=abs(x)/x;%定义方波信号 xx=-pi:pi/200:pi;xx=xx(xx=0);xx=sort(xx,-eps,eps);%剔除零点 yy=subs(f,x,xx);plot(xx,yy,r-.),hold on%绘制出理论值并保持坐标系 for n=2:20 a,b,f1=fseries(f,x,n),y1=sub
22、s(f1,x,xx);plot(xx,y1)end40a=0,0,0b=4/pi,0f1=4/pi*sin(x)a=0,0,0,0 b=4/pi,0,4/3/pif1=4/pi*sin(x)+4/3/pi*sin(3*x)413.2.3 级数求和的计算是在符号工具箱中供应的42例:计算 format long;sum(2.0:63)%数值计算ans=1.844674407370955e+019 sum(sym(2).0:200)%或 syms k;symsum(2k,0,200)把2定义为符号量可使计算更精确更精确ans=syms k;symsum(2k,0,200)ans=43例:试求解无穷
23、级数的和 syms n;s=symsum(1/(3*n-2)*(3*n+1),n,1,inf)%接受符号运算工具箱s=1/3 m=1:10000000;s1=sum(1./(3*m-2).*(3*m+1);%数值计算方法,双精度有效位16,“大数吃小数”,无法精确 format long;s1%以长型方式显示得出的结果s1=0.3333333222216544例:求解 syms n x s1=symsum(2/(2*n+1)*(2*x+1)(2*n+1),n,0,inf);simple(s1)%对结果进行化简,MATLAB 6.5 及以前版本因本身 bug 化简很麻烦ans=log(2*x+1
24、)2)(1/2)+1)/(2*x+1)2)(1/2)-1)%实际应为log(x+1)/x)45例:求 syms m n;limit(symsum(1/m,m,1,n)-log(n),n,inf)ans=eulergamma vpa(ans,70)%显示 70 位有效数字ans=46符号函数计算器 单变量符号函数计算器 Taylor 靠近计算器 47单变量符号函数计算器(1/3)在叮嘱窗口中执行 funtool 即可调出单变量符号函数计算器。单变量符号函数计算器用于对单变量函数进行操作,可以对符号函数进行化简、求导、绘制图形等。该工具的界面如图所示。函数 f 的图形窗口 函数 g 的图形窗口 限
25、制窗口 48单变量符号函数计算器(2/3)1输入框的功能如图:函数函数 f 的编辑框的编辑框函数函数 g 的编辑框的编辑框显示绘制显示绘制 f 和和 g 的图像的的图像的 x 区间区间用于修改用于修改 f 的常数因子的常数因子0函数 f 自身的操作函数 f 与常数 a 的操作函数 f 与函数 g 的操作系统操作49单变量符号函数计算器(3/3)单变量符号函数计算器应用示例在 f 函数输入栏中输入 cos(x3)cos(x3)(1+x2)在 g 函数输入栏中输入(1+x2)点击50Taylor 靠近计算器 Taylor 靠近计算器用于实现函数的 taylor 靠近。在叮嘱窗口中输入 taylor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中科院 matlab 科学 计算 中的 应用 优秀 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内