




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章微积分问题的计算机求解,微积分问题的解析解函数的级数展开与级数求和问题求解*数值微分数值积分问题曲线积分与曲面积分的计算*,4.1微积分问题的解析解4.1.1极限问题的解析解,单变量函数的极限格式1:L=limit(fun,x,x0)格式2:L=limit(fun,x,x0,left或right),例:试求解极限问题symsxab;f=x*(1+a/x)x*sin(b/x);L=limit(f,x,inf)L=exp(a)*b例:求解单边极限问题symsx;limit(exp(x3)-1)/(1-cos(sqrt(x-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:Dividebyzero.(TypewarningoffMATLAB:divideByZerotosuppressthiswarning.)plot(x,y,-,0,12,o),多变量函数的极限:格式:L1=limit(limit(f,x,x0),y,y0)或L1=limit(limit(f,y,y0),x,x0)如果x0或y0不是确定的值,而是另一个变量的函数,如x-g(y),则上述的极限求取顺序不能交换。,例:求出二元函数极限值symsxya;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),4.1.2函数导数的解析解,函数的导数和高阶导数格式:y=diff(fun,x)%求导数y=diff(fun,x,n)%求n阶导数例:一阶导数:symsx;f=sin(x)/(x2+4*x+3);f1=diff(f);pretty(f1),cos(x)sin(x)(2x+4)-222x+4x+3(x+4x+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.6860,原函数4阶导数f4=diff(f,x,4);pretty(f4)2sin(x)cos(x)(2x+4)sin(x)(2x+4)-+4-12-22223x+4x+3(x+4x+3)(x+4x+3)3sin(x)cos(x)(2x+4)cos(x)(2x+4)+12-24-+48-222423(x+4x+3)(x+4x+3)(x+4x+3)42sin(x)(2x+4)sin(x)(2x+4)sin(x)+24-72-+24-252423(x+4x+3)(x+4x+3)(x+4x+3),多元函数的偏导:格式:f=diff(diff(f,x,m),y,n)或f=diff(diff(f,y,n),x,m)例:求其偏导数并用图表示。symsxyz=(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),axis(-33-22-0.71.5),contour(x,y,z,30),holdon%绘制等值线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)%绘制引力线,例symsxyz;f=sin(x2*y)*exp(-x2*y-z2);df=diff(diff(diff(f,x,2),y),z);df=simple(df);pretty(df)22222-4zexp(-xy-z)(cos(xy)-10cos(xy)yx+42422422sin(xy)xy+4cos(xy)xy-sin(xy),多元函数的Jacobi矩阵:格式:J=jacobian(Y,X)其中,X是自变量构成的向量,Y是由各个函数构成的向量。,例:试推导其Jacobi矩阵symsrthetaphi;x=r*sin(theta)*cos(phi);y=r*sin(theta)*sin(phi);z=r*cos(theta);J=jacobian(x;y;z,rthetaphi)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),例:symsxy;f=(x2-2*x)*exp(-x2-y2-x*y);pretty(-simple(diff(f,x)/diff(f,y)322-2x+2+2x+xy-4x-2xy-x(x-2)(2y+x),参数方程的导数已知参数方程,求格式:diff(f,t,k)/diff(g,t,k)例:symst;y=sin(t)/(t+1)3;x=cos(t)/(t+1)3;pretty(diff(y,t,4)/diff(x,t,4),4.1.3积分问题的解析解,不定积分的推导:格式:F=int(fun,x)例:用diff()函数求其一阶导数,再积分,检验是否可以得出一致的结果。symsx;y=sin(x)/(x2+4*x+3);y1=diff(y);y0=int(y1);pretty(y0)%对导数积分sin(x)sin(x)-1/2-+1/2-x+3x+1,对原函数求4阶导数,再对结果进行4次积分y4=diff(y,4);y0=int(int(int(int(y4);pretty(simple(y0)sin(x)-2x+4x+3,例:证明symsax;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)/a4f1=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,定积分与无穷积分计算:格式:I=int(f,x,a,b)格式:I=int(f,x,a,inf),多重积分问题的MATLAB求解例:symsxyz;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*x2*y)2)simple(f1-f2)ans=0顺序的改变使化简结果不同于原函数,但其误差为0,表明二者实际完全一致。这是由于积分顺序不同,得不出实际的最简形式。,例:symsxyzint(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,4.2数值微分4.2.1数值微分算法,两种中心差分:,4.2.2中心差分方法及其MATLAB实现,functiondy,dx=diff_ctr(y,Dt,n)yx1=y00000;yx2=0y0000;yx3=00y000;yx4=000y00;yx5=0000y0;yx6=00000y;switchncase1dy=(-diff(yx1)+7*diff(yx2)+7*diff(yx3)-diff(yx4)/(12*Dt);L0=3;case2dy=(-diff(yx1)+15*diff(yx2)-15*diff(yx3)+diff(yx4)/(12*Dt2);L0=3;,case3dy=(-diff(yx1)+7*diff(yx2)-6*diff(yx3)-6*diff(yx4)+.7*diff(yx5)-diff(yx6)/(8*Dt3);L0=5;case4dy=(-diff(yx1)+11*diff(yx2)-28*diff(yx3)+28*diff(yx4)-11*diff(yx5)+diff(yx6)/(6*Dt4);L0=5;enddy=dy(L0+1:end-L0);dx=(1:length(dy)+L0-2-(n2)*Dt;调用格式:y为等距实测数据,dy为得出的导数向量,dx为相应的自变量向量。,例:求导数的解析解,再用数值微分求取原函数的14阶导数,并和解析解比较精度。h=0.05;x=0:h:pi;symsx1;y=sin(x1)/(x12+4*x1+3);%求各阶导数的解析解与对照数据yy1=diff(y);f1=subs(yy1,x1,x);yy2=diff(yy1);f2=subs(yy2,x1,x);yy3=diff(yy2);f3=subs(yy3,x1,x);yy4=diff(yy3);f4=subs(yy4,x1,x);,y=sin(x)./(x.2+4*x+3);%生成已知数据点y1,dx1=diff_ctr(y,h,1);subplot(221),plot(x,f1,dx1,y1,:);y2,dx2=diff_ctr(y,h,2);subplot(222),plot(x,f2,dx2,y2,:)y3,dx3=diff_ctr(y,h,3);subplot(223),plot(x,f3,dx3,y3,:);y4,dx4=diff_ctr(y,h,4);subplot(224),plot(x,f4,dx4,y4,:)求最大相对误差:norm(y4-f4(4:60)./f4(4:60)ans=3.5025e-004,4.2.3插值多项式的导数,基本思想:当已知函数在一些离散点上的函数值时,该函数可用插值多项式来近似,然后对多项式进行微分求得导数。选取x=0附近的少量点进行插值多项式拟合g(x)在x=0处的k阶导数为,通过坐标变换用上述方法计算任意x点处的导数值令将g(x)写成z的表达式导数为可直接用拟合节点得到系数d=polyfit(x-a,y,length(xd)-1),例:数据集合如下:xd:00.20000.40000.60000.80001.000yd:0.39270.56720.69820.79410.86140.9053计算x=a=0.3处的各阶导数。xd=00.20000.40000.60000.80001.000;yd=0.39270.56720.69820.79410.86140.9053;a=0.3;L=length(xd);d=polyfit(xd-a,yd,L-1);fact=1;fork=1:L-1;fact=factorial(k),fact;endderiv=d.*factderiv=1.8750-1.37501.0406-0.97100.65330.6376,建立计算插值多项式各阶导数的poly_drv.mfunctionder=poly_drv(xd,yd,a)m=length(xd)-1;d=polyfit(xd-a,yd,m);c=d(m:-1:1);fact(1)=1;fori=2:m;fact(i)=i*fact(i-1);endder=c.*fact;例:xd=00.20000.40000.60000.80001.000;yd=0.39270.56720.69820.79410.86140.9053;a=0.3;der=poly_drv(xd,yd,a)der=0.6533-0.97101.0406-1.37501.8750,4.2.4二元函数的梯度计算,格式:若z矩阵是建立在等间距的形式生成的网格基础上,则实际梯度为,例:计算梯度,绘制引力线图:x,y=meshgrid(-3:.2:3,-2:.2:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);fx,fy=gradient(z);fx=fx/0.2;fy=fy/0.2;contour(x,y,z,30);holdon;quiver(x,y,fx,fy)%绘制等高线与引力线图,绘制误差曲面: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);surf(x,y,abs(fx-zx);axis(-33-220,0.08)figure;surf(x,y,abs(fy-zy);axis(-33-220,0.11),为减少误差,对网格加密一倍:x,y=meshgrid(-3:.1:3,-2:.1:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);fx,fy=gradient(z);fx=fx/0.1;fy=fy/0.1;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);surf(x,y,abs(fx-zx);axis(-33-220,0.02)figure;surf(x,y,abs(fy-zy);axis(-33-220,0.06),4.3数值积分问题4.3.1由给定数据进行梯形求积,Sum(2*y(1:end-1,:)+diff(y).*diff(x)/2,格式:S=trapz(x,y)例:x1=0:pi/30:pi;y=sin(x1)cos(x1)sin(x1/2);x=x1x1x1;S=sum(2*y(1:end-1,:)+diff(y).*diff(x)/2S=1.99820.00001.9995S1=trapz(x1,y)%得出和上述完全一致的结果S1=1.99820.00001.9995,例:画图x=0:0.01:3*pi/2,3*pi/2;%这样赋值能确保3*pi/2点被包含在内y=cos(15*x);plot(x,y)%求取理论值symsx,A=int(cos(15*x),0,3*pi/2)A=1/15,随着步距h的减小,计算精度逐渐增加:h0=0.1,0.01,0.001,0.0001,0.00001,0.000001;v=;forh=h0,x=0:h:3*pi/2,3*pi/2;y=cos(15*x);I=trapz(x,y);v=v;h,I,1/15-I;endvv=0.10000.05390.01280.01000.06650.00010.00100.06670.00000.00010.06670.00000.00000.06670.00000.00000.06670.0000,4.3.2单变量数值积分问题求解,格式:y=quad(Fun,a,b)y=quadl(Fun,a,b)%求定积分y=quad(Fun,a,b,)y=quadl(Fun,a,b,)%限定精度的定积分求解,默认精度为106。,例:,第三种:匿名函数(MATLAB7.0),第二种:inline函数,第一种,一般函数方法,函数定义被积函数:y=quad(c3ffun,0,1.5)y=0.9661用inline函数定义被积函数:f=inline(2/sqrt(pi)*exp(-x.2),x);y=quad(f,0,1.5)y=0.9661运用符号工具箱:symsx,y0=vpa(int(2/sqrt(pi)*exp(-x2),0,1.5),60)y0=.966105146475310713936933729949905794996224943257461473285749y=quad(f,0,1.5,1e-20)%设置高精度,但该方法失效,例:提高求解精度:y=quadl(f,0,1.5,1e-20)y=0.9661abs(y-y0)ans=.6402522848913892e-16formatlong16位精度y=quadl(f,0,1.5,1e-20)y=0.96610514647531,例:求解绘制函数:x=0:0.01:2,2+eps:0.01:4,4;y=exp(x.2).*(x2);y(end)=0;x=eps,x;y=0,y;fill(x,y,g),调用quad():f=inline(exp(x.2).*(x2)./(4-sin(16*pi*x),x);I1=quad(f,0,4)I1=57.76435412500863调用quadl():I2=quadl(f,0,4)I2=57.76445016946768symsx;I=vpa(int(exp(x2),0,2)+int(80/(4-sin(16*pi*x),2,4)I=57.764450125053010333315235385182,4.3.3Gauss求积公式,为使求积公式得到较高的代数精度对求积区间a,b,通过变换有,以n=2的高斯公式为例:functiong=gauss2(fun,a,b)h=(b-a)/2;c=(a+b)/2;x=h*(-0.7745967)+c,c,h*0.7745967+c;g=h*(0.55555556*(gaussf(x(1)+gaussf(x(3)+0.88888889*gaussf(x(2);functiony=gaussf(x)y=cos(x);gauss2(gaussf,0,1)ans=0.8415,4.3.4基于样条插值的数值微积分运算,基于样条插值的数值微分运算格式:Sd=fnder(S,k)该函数可以求取S的k阶导数。格式:Sd=fnder(S,k1,kn)可以求取多变量函数的偏导数,例:symsx;f=(x2-3*x+5)*exp(-5*x)*sin(x);ezplot(diff(f),0,1),holdonx=0:.12:1;y=(x.2-3*x+5).*exp(-5*x).*sin(x);sp1=csapi(x,y);dsp1=fnder(sp1,1);fnplt(dsp1,-)sp2=spapi(5,x,y);dsp2=fnder(sp2,1);fnplt(dsp2,:);axis(0,1,-0.8,5),例:拟合曲面x0=-3:.3:3;y0=-2:.2:2;x,y=ndgrid(x0,y0);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);sp=spapi(5,5,x0,y0,z);dspxy=fnder(sp,1,1);fnplt(dspxy),理论方法:symsxy;z=(x2-2*x)*exp(-x2-y2-x*y);ezsurf(diff(diff(z,x),y),-33,-22),基于样条插值的数值积分运算格式:f=fnint(S)其中S为样条函数。例:考虑中较稀疏的样本点,用样条积分的方式求出定积分及积分函数。x=0,0.4,12,pi;y=sin(x);sp1=csapi(x,y);a=fnint(sp1,1);xx=fnval(a,0,pi);xx(2)-xx(1)ans=2.0191,sp2=spapi(5,x,y);b=fnint(sp2,1);xx=fnval(b,0,pi);xx(2)-xx(1)ans=1.9999绘制曲线ezplot(-cos(t)+2,0,pi);holdonfnplt(a,-);fnplt(b,:),4.3.5双重积分问题的数值解,矩形区域上的二重积分的数值计算格式:矩形区域的双重积分:y=dblquad(Fun,xm,xM,ym,yM)限定精度的双重积分:y=dblquad(Fun,xm,xM,ym,yM,),例:求解f=inline(exp(-x.2/2).*sin(x.2+y),x,y);y=dblquad(f,-2,2,-1,1)y=1.57449318974494,任意区域上二元函数的数值积分(调用工具箱)格式:一般双重积分J=quad2dggen(fun,ymin,ymax,xlower,xupper)限定精度的双重积分J=quad2dggen(fun,ymin,ymax,xlower,xupper,),例,fh=inline(sqrt(1-x.2/2),x);%内积分上限fl=inline(-sqrt(1-x.2/2),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西北农林科技大学专业技术人员招聘(5人)模拟试卷及答案详解(考点梳理)
- 2025湖南怀化市红花园投资开发有限公司招聘10人模拟试卷及答案详解(名师系列)
- 浙江国企招聘2025宁波人才投资有限公司第二批人员招聘4人笔试历年参考题库附带答案详解
- 江西省萍乡市湘通建设发展投资集团有限公司2025年度公开招聘笔试笔试历年参考题库附带答案详解
- 2025青海诺德新材料有限公司专场招聘笔试历年参考题库附带答案详解
- 2025广西桂林工程职业学院人才招聘考前自测高频考点模拟试题及完整答案详解
- 2025陕投集团校园招聘(100余人)笔试历年参考题库附带答案详解
- 2025广东广州市黄埔区人民政府长岭街道办事处招聘社区党建专职组织员和政府聘员3人考前自测高频考点模拟试题及答案详解(易错题)
- 2025重庆两江新区金山社区卫生服务中心招聘1人笔试历年参考题库附带答案详解
- 2025年安徽建工医院第一批招聘95人考前自测高频考点模拟试题带答案详解
- 2025年东风校招测评题库及答案
- 蘑菇中毒中医处理
- 医疗数据安全管理办法
- 2025年广东省中考语文试卷真题(含答案解析)
- 有奖竞猜题目及答案有趣
- 骨科引流管护理
- 四川省成都市外国语学校2024-2025学年高一上学期10月月考英语试题含解析
- 主动脉瘤护理措施
- 2025年学宪法、讲宪法知识竞赛题库及答案
- 可信数据空间解决方案星环科技
- 【课件】虚拟现实技术在《现代物流管理》教学中的应用
评论
0/150
提交评论