Matlab数值积分和数值微分.pdfVIP

  • 19
  • 0
  • 约1.42万字
  • 约 11页
  • 2020-07-13 发布于湖北
  • 举报
M a t l a b 数 值 积 分 与 数 值 微 分 Matlab 数值积分 1. 一重数值积分的实现方法 变步长辛普森法、高斯 - 克朗罗德法、梯形积分法 1.1 变步长辛普森法 Matlab 提供了 quad 函数和 quadl 函数用于实现变步长 辛普森法求数值积分 . 调用格式为 : [I,n]=Quad(@fname,a,b,tol,trace) [I,n]=Quadl(@fname,a,b,tol,trace) Fname 是函数文件名, a,b 分别为积分下限、积分上限; tol 为精度控制,默认为 1.0 ×10 -6 ,trace 控制是否展 开积分过程, 若为 0 则不展开, 非 0 则展开, 默认不展开 . 返回值 I 为积分数值; n 为调用函数的次数 . 例如:求 3 π ??.???? ?? ∫ ?? ??????(??+ ) ???? 0 ?? 的值 . 先建立函数文件 fesin.m function f=fesin(x) f=exp(-0.5*x).*sin(x+(pi/6)); 再调用 quad 函数 [I,n]=quad(@fesin,0,3*pi,1e-10) I= 0.9008 n= 365 例如:分别用 quad 函数和 quadl 函数求积分 3 π ?? ??.???? ∫ ?? ??????(??+ ) ???? ?? 0 的近似值,比较函数调用的次数 . 先建立函数文件 fesin.m function f=fesin(x) f=exp(-0.5*x).*sin(x+(pi/6)); formatlong [I,n]=quadl(@fesin,0,3*pi,1e-10) I= n= 198 [I,n]=quad(@fesin,0,3*pi,1e-10) I= n= 365 可以发现 quadl 函数调用原函数的次数比 quad 少,并 且比 quad 函数求得的数值解更精确 . 1.2 高斯 - 克朗罗德法 Matlab 提供了自适应高斯 - 克朗罗德法的 quadgk 函数来 求震荡函数的定积分,函数的调用格式为: [I,err]=quadgk(@fname,a,b)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档