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

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

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB编程基础第6讲--数值微积分、多项式研讨

MATLAB编程基础 之 数值微积分、多项式 3.7 MATLAB数值积分与微分 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,按行计算差分。 例1 差分运算示例 命令如下: A = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]; % 生成1维矩阵 A1 = reshape(A,6,3) % 转换为3×6维矩阵 A1 = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 B1 = diff(A1) % 求1维1阶差分 B1 = 6 6 6 6 6 6 6 6 6 6 6 6 B2 = diff(A1,1,2) % 求2维1阶差分 B2 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B3 = diff(A1,2) % 求1维2阶差分 B3 = 0 0 0 0 0 0 2. 梯度和偏导数 二元及多元函数F(x,y,…)的求导 FX=gradient(F) [FX,FY]=gradient(F) […]=gradient(F,h) 例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所示 hold on quiver(v,v,px,py) % 绘制矢量场图,小箭头表示梯度 hold off 数值积分 数值积分基本原理 求解定积分的数值方法多种多样,如简单的梯形法、辛普生(Simpson)法、牛顿-柯特斯(Newton-Cotes)法等都是经常采用的方法。 它们的基本思想都是将整个积分区间[a,b]分成n个子区间[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。 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为被积函数的调用次数。 函数部分 function f=quad1(x) f=1./(x.^3-2*x-5); %编制函数m文件 调用命令 Q = quad(quad1,0,2) % 在同一目录下,计算积分值 Q = -0.4605 求定积分。 (1) 建立被积函数文件fesin.m。 function f=fesin(x) f=exp(-0.5*x).*sin(x+pi/6); (2) 调用数值积分函数quad求定积分。 [S,n]=quad(fesin,0,3*pi) S = 0.9008 n = 77 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)

yy558933 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档