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