如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
4.1数值微积分例4.1-3legend('x(t)','dxdt_{grad}','dxdt_{diff}','Location','North')xlabel('t'),boxoffholdoffsubplot(1,2,2)kk=(length(t)-10):length(t);holdonplot(t(kk),dxdt_grad(kk),'om','MarkerSize',8)plot(t(kk-1),dxdt_diff(kk-1),'.k','MarkerSize',8)title('[end-10,end]')legend('dxdt_{grad}','dxdt_{diff}','Location','SouthEast')xlabel('t'),boxoffholdoff4.1.2数值求和与近似数值积分sx=sum(X)沿列方向求和scs=cumsum(X)沿列方向累计求和st=trapz(x,y)采样梯形法沿列方向求函数y关于自变量x的积分sct=cumtrapz(x,y)采样梯形法沿列方向求函数y关于自变量x的累计积分>>clear>>d=pi/8;>>t=0:d:pi/2;>>y=0.2+sin(t);>>s=sum(y);>>s_sa=d*s;>>s_ta=trapz(t,y);>>……%图形显示指令图4.1-4sum和trapz求积模式示意说明:(1)本例中的指令s_ta=d*trapz(y);可以用s_ta=trapz(t,y)替换,即计算由t,y所绘折线下的面积。(2)s=sum(y);s_sa=d*s;用作近似积分是错误的。阶梯虚线所占的自变量区间比积分区间多一个采样子区间。即不能把d*sum(y)看作“矩形近似积分”。(3)实际使用中,应该把子区间划分得相当小以便获取较高精度的近似积分。显然,采样点愈多,积分精度愈高,但精度无法定量确定。4.1.3计算精度可控的数值积分数值积分有闭型(closed-type)算法、开型(open-type)算法,其主要区别在于:是否需要计算积分区间端点处的函数值。S1=quad(fun,a,b,tol)Simpson法S1=quadl(fun,a,b,tol)Lobatto法S2=dblquad(fun,xmin,xmax,ymin,ymax,tol)S3=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)说明:(1)fun是被积函数,可以是字符串、内联对象、匿名函数和M函数文件的函数句柄。(2)要保证对于向量形式的自变量(一般为字母x)输入,输出为长度相同的函数值向量。(3)a,b为一重积分的下限和上限;xmin,xmax,ymin,ymax,zmin,zmax是多重积分由内向外的积分限。(4)tol是个标量,用来控制绝对误差。默认时,积分的绝对精度为10-6.(1e-6)symsxIsym=vpa(int(exp(-x^2),x,0,1))Isym=.74682413281242702539946743613185formatlongd=0.001;x=0:d:1;Itrapz=trapz(x,exp(-x.*x))Itrapz=0.74682407149919fx='exp(-x.^2)';Ic=quad(fx,0,1,1e-8)Ic=0.74682413285445formatlongfx1=‘x.^2’%采用字符串表示被积函数fx2=inline('x.^y')%采用内联对象表示被积函数fx3=@(x,y)x.^y%采用匿名函数表示被积函数s1=dblquad(fx1,0,1,1,2)s2=dblquad(fx2,0,1,1,2)s3=dblquad(fx3,0,1,1,2)s4=dblquad(@fx4,0,1,1,2)sn=0.405466267243514.1.4函数极值的数值求解[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options)求一元函数在区间(x1,x2)中的极小值。[x,fval,exitflag,output]=fminsearch(fun,x0,options)单纯形法求多元函数的极值点fun—字符串、内联对象、匿名函数、函数文件句柄;输出量x,fval分别是极值点和相应的目标函数极值;输出量exitflag若给出大于0的数,说明成功搜索;输出量output给出具体的优化算法和迭代次数。【例4.1-7】已知,在区间,求函数的极