辛普森定理:
對於一段函式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...