定积分算法java_变步长梯形积分算法求解函数定积分

算法基本原理:把原区间分为一系列小期间(n份),在每个小区间上都用小的梯形面积来近似代替原函数的积分,当小区间足够小时,就可以得到原来积分的近似值。但是这个过程中有一个问题是步长的取值,步长太大精度难以保证,步长太小会导致计算量的增加,所以,实际计算中常常采用变步长的方法,使得在步长逐次减小的过程中,求得的积分结果满足要求的精度为止。

首先,给出两个计算公式

(1)

ddbb8670d8c386b02029739867a07906.png //计算步长为h的积分

(2)

4df6ada0ae16b5497a53d8cc3a2b4ae9.png //将步长h二分,计算以h/2为步长的积分

步骤:

取n=1,利用公式(1)计算积分值

进行二分,利用新的公式(2)计算新的积分值

进行判断,如果两次计算积分值的差在给定的误差范围之内,二分后的积分值就是所需的结果,计算结束,否则返回第二步继续运行

因此,主要计算的问题有两个

一. 被积函数值的运算(设置Function类)

二. 变步长梯形积分的实现(设置Trapz类)

#ifndef _TRAPZINT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值