基于MATLAB的算法

一、自适应梯形求积法二、龙贝格求积法自适应梯形求积法1、梯形公式和辛普森公式对于数值积分,我们最容易想到的就是梯形公式了,也就是取该段函数的起点终点的平均值作为整段函数的估计值。2、复化梯形公式有时候,为了提高精度,而不愿意改变算法,我们可以采用复化的形式,也就是把函数分成多段,每一段用梯形公式进行计算得到该段的估计值,再进行累加。3、自适应复合梯形公式推导但是,我们往往碰到的函数可能一段上很均匀,但是在另一段上波动很大,例如我们这里测试用的函数,这时候我们的自适应梯形公式就可以派上用场了,它
摘要由CSDN通过智能技术生成

基于MATLAB的算法

一、自适应梯形求积法
二、龙贝格求积法

自适应梯形求积法
1、梯形公式和辛普森公式
对于数值积分,我们最容易想到的就是梯形公式了,也就是取该段函数的起点终点的平均值作为整段函数的估计值。
2、复化梯形公式
有时候,为了提高精度,而不愿意改变算法,我们可以采用复化的形式,也就是把函数分成多段,每一段用梯形公式进行计算得到该段的估计值,再进行累加。
3、自适应复合梯形公式推导
但是,我们往往碰到的函数可能一段上很均匀,但是在另一段上波动很大,例如我们这里测试用的函数,这时候我们的自适应梯形公式就可以派上用场了,它的实现手段就是在波动较大的地方多进行分段,而波动较小的地方则较少的分段足以达到精度要求。而如何检验波动大小就成了问题的痛点所在,下面我们重点放在如何分析现有估计的误差,并作出合理的判断是否继续细分。

我们求的积分为:
1.0/(1.0+25.0xx) (-1 1)
以下是相关代码:

自适应梯形求积法
format long
f1 = @(x)1.0/(1.0+25.0*x*x);	% 测试函数(the test function)
% 积分上下限和精度要求,注意这里是整体的精度要求
a=-1;
b=1;
e=1e-6;

p=[a,b];
p0=p;
ep=[e];
m=0;	%分点数
q=0;
I=0;	%最后的结果
while(1)
    n1=length(ep);
    n=length(p0);
    if n==1
        break;
    end
    h=p0(2)-p0(1);
    whole=h/2*(f1(p0(1))+
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值