MATLAB编程基础第6讲--数值微积分、多项式.ppt

MATLAB编程基础第6讲--数值微积分、多项式.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

MATLAB编程根底

之数值微积分、多项式第六讲5/20/20241

3.7MATLAB数值积分与微分3.7.1差分和偏导数1.差分在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数diff,其调用格式为:DX=diff(X):计算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,…,n-1。DX=diff(X,n):计算X的n阶向前差分。例如,diff(X,2)=diff(diff(X))。DX=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(缺省状态),按列计算差分;dim=2,按行计算差分。5/20/20242

例1差分运算例如命令如下:A=[123456789101112131415161718];%生成1维矩阵A1=reshape(A,6,3)%转换为3×6维矩阵A1=123456789101112131415161718B1=diff(A1)%求1维1阶差分B1=666666666666B2=diff(A1,1,2)%求2维1阶差分B2=111111111111111B3=diff(A1,2)%求1维2阶差分B3=0000005/20/20243

2.梯度和偏导数二元及多元函数F(x,y,…)的求导FX=gradient(F)[FX,FY]=gradient(F)[…]=gradient(F,h)5/20/20244

例2求二元函数的偏导数%生成二元函数v=-2:0.2:2;[x,y]=meshgrid(v);z=x.*exp(-x.^2-y.^2);%绘制曲面,如图3-4所示figure(1)mesh(x,y,z);[px,py]=gradient(z,.2,.2);%求偏导数figure(2)contour(v,v,z)%绘制等高线,如图3-5所示holdonquiver(v,v,px,py)%绘制矢量场图,小箭头表示梯度holdoff5/20/20245

数值积分数值积分根本原理求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿-柯特斯(Newton-Cotes)法等都是经常采用的方法。它们的根本思想都是将整个积分区间[a,b]分成n个子区间[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。5/20/20246

3.7.2一元函数的数值积分数值积分的实现方法1.变步长辛普生〔Simpson〕法〔精度较高,较常使用〕基于变步长辛普生法,MATLAB给出了quad函数来求定积分。该函数的调用格式为:[I,n]=quad(fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,假设取非0那么展现积分过程,取0那么不展现,缺省时取trace=0。返回参数I即定积分值,n为被积函数的调用次数。5/20/20247

函数局部functionf=quad1(x)f=1./(x.^3-2*x-5);%编制函数m文件调用命令Q=quad(quad1,0,2)%在同一目录下,计算积分值Q=-0.46055/20/20248

求定积分。(1)建立被积函数文件fesin.m。functionf=fesin(x)f=exp(-0.5*x).*sin(x+pi/6);(2)调用数值积分函数quad求定积分。[S,n]=quad(fesin,0,3*pi)S=0.9008n=775/20/20249

2.自适应Lobatto法(精度较高,最常使用)q=quadl(fun,a,b)q=quadl(fun,a,b,tol)%采用内联函数形式,第二个参数为变量例3-25求Q=sin2x+cosx从2*pi到0的定积分f=inline(sin(2*x)+cos(x).

文档评论(0)

181****7662 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档