自適應辛普森

2022-05-11 02:19:09 字數 755 閱讀 5619

辛普森定理:

對於一段函式f在[l,r]範圍內的面積∫(r,l)f(x)dx,我們可以由辛普森定理得到下列式子(∫是積分的意思)。

即:∫(r,l)f(x)dx=(r-l)/6*(f(l)+4f((l+r)/2)+f(r))。

但問題是這樣做是把f(x)在[l,r]範圍內看做乙個二次函式來算的,所以精度並不高。因此,我們需要一種可以在較複雜函式中正確算出面積的自適應希普森。

自適應辛普森其實就是二分遞迴用辛普森定理來求面積。

s(l,r)=s(l,m)+s(m,r)

首先我們先算出s(l,r),s(l,m),s(m,r)

如果|s(l-r)-s(l,m)-s(m,r)|《你需要的精度,就返回s(l,r),否則返回f(l,m)+f(m,r)。

還蠻好理解的,下面是**:

#include#include

#include

#include

#include

#define ll long long

#define il inline

#define db double

using

namespace

std;

il db f(db x)

il db simpson(db l,db r)

db asr(db l,db r,db eps,db sum)

//eps是精度,sum是simpson(l,r)

intmain()

自適應辛普森積分

寫在前面方便複習 例題 題目大意 給定 a,b l,r a,b,l,r a,b,l,r 求橢圓 x2a 2 y2 b2 1 frac frac 1 a2x2 b2y2 1 在 l,r l,r l,r 的積分 題目分析 題目所求即為 2 l rb1 x2a2 dx 2 int l rb sqrt dx...

自適應辛普森積分

乙個完全不會計算幾何的蒟蒻的自我拯救 有的時候會有一些毒瘤計算幾何題,要求的圖形面積邊緣是一段函式,而這個函式解析式通常非常繁瑣,沒辦法直接用公式積分,所以就需要用辛普森積分求近似值。辛普森積分的用途就是在精度要求不高的時候 通常是求圖形面積 求函式積分的近似值,大概步驟就是在積分區間 a,b 中不...

自適應辛普森法

自適應辛普森法通過 simpson 公式,用二次函式來擬合,實現時用二分遞迴來自動控制區間分割的大小,既保證精度,又保證速度 simpson 公式推導 int a bf x dx frac b 3 a 3 frac b 2 a 2 c b a frac 2ab 2 2aab 2aa 2 3bb 3b...