matlab 复化求积公式,matlab复化Simpson求积公式计算数值积分

积分公式

复化Simpson求积公式计算数值积分 一·复化Simpson求积公式的数学理论 如果用分段二次插值函数近似被积函数,即在小区间上用Simpson公式计算积分近似值,就可导出复化Simpson公式。 二·复化Simpson求积公式的算法和流程图 将积分区间[a,b]分成n=2m等分,分点为 ,积分,则有 在每个小区间[](k=0,1,…,n-1)上。用Simpson公式求 求和得 整理后得到 xx

(5-21) 式(5-21)称为复化Simpson公式。 如果差为 ,则由Simpson插值余项公式可得复化公式的截断误因为为连续,故存在,使得 代入上式得 式(5-22)表明,步长h越小,截断误差越小。与复化梯度公式的分析相类似,可以证明,当n=2m→∞时,用复化Simpson公式所得的近似值收敛于积分值,而且算法具有数值稳定性。

1程序中需要选择的积分函数F1,F2,F3 F1表示函数f(x)0sinxdx。

x bf( (5-22)

F2表示函数f(x)245xex2x21lnx12x11dx。 F3表示函数f(x)0cosxsinxdx。

41cosx 操作流程图:

三·复化Simpson求积公式的Matlab实现 function I=squad(x,y) %复化Simpson求积公式,其中, %x为向量,被积函数自变量的等距结点; %y为向量,被积函数在结点出的函数值; n=length(x); m=length(y); %积分自变量的结点数应与它的函数值的个数相同 If rem(n-1,2)~=0 I=tquad(x,y); return; end N=(n-1)/2; H=(x(n)-x(1))/N; a=zeros(1,n); for k=1 :N; a(2*k-1)=a(2k-1)+1; a(2*k)=a(2*k)+4; a(2*k+1)=a(2*k+1)+1; end I=h/6*sum(a.*y);

四·复化Simpson求积公式的算例实现 利用程序计算积分 解:先用M文件定义一个名为myfun的函数: function y=f(x); y=1/(1+x^2); 在MATLAB命令窗口中输入 .>>Q = quad(@myfun,-1,1) Q = 1.5708 故

积分公式。

Tags: 积分公式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值