演算法學習 自適應辛普森

2022-07-24 12:00:11 字數 1386 閱讀 5737

【定義】

【定積分】

【解決問題】

在計算機中計算出定積分的值,有可能有直接的數學題,也有可能應用到其他方面

主要就是算定積分的值(攤手)

【演算法分析】

實際上就是嘗試得到乙個

定積分 f(x)函式約等於 定積分 g(x) 函式

而令g(x)為乙個二項式 ax^2 +bx + c ,然後我們直接對他進行定積分得到公式

這個對這個函式在區間【a,b】區間上的積分,不斷細分最終會得到乙個無限接近答案的值

而在題目中,往往會有最後輸出的精度要求

所以我們只需要讓最終的結果滿足這個精度要求即可

有點問題,就是這個精度的要求最後會不會不斷的累加最後輸出又有問題

【題目】

【luogu 4525】

求 【**】

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

double eps = 1e-9;7

double

a, b, c, d, l, r;

8double f(doublex)9

12double simp(double l, double

r)13

17double ans(double l, double r,double

ret)

1824

intmain()

25

view code

【luogu 4526】

【思路分析】

用數學分析函式發散時,a的情況hu

然後在用打表或者驗算的方式找到,x>10之後,函式的值小於eps

可以忽略不計

【**】

1 #include2 #include3 #include4 #include5 #include6

using

namespace

std;

7const

double eps = 1e-9;8

double

a, b, c, d, l, r;

9double f(double

x)10

13double simp(double l, double

r)14

18double ans(double l, double r,double

ret)

1925

intmain()

2635 }

view code

【**】

自適應辛普森

辛普森定理 對於一段函式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 範圍內看做乙個二次函式來算的,所以精度並不高。因此,我們需要一種可以...

數值方法 自適應辛普森演算法

對於定積分的計算 int f x 常規的方法是求 f x 的原函式 f x 於是只需計算 f b f a 即可。然而大部分函式的原函式並不存在,或者求解過程比較複雜,在這種情況下可以使用 自適應 辛普森法 adaptive simpson s rule 遞迴近似求解。simpson函式 1 doub...

自適應辛普森積分

寫在前面方便複習 例題 題目大意 給定 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...