自適應辛普森積分

2021-10-11 02:48:34 字數 3631 閱讀 6311

寫在前面方便複習:

例題:題目大意:

給定 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

2∫lr​b

1−a2

x2​​

dx具體細節見**:.

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define inf 0x3f3f3f3f

using

namespace std;

intread()

while

(ch>=

'0'&& ch<=

'9')

return res*flag;

}const

int maxn =

1e5+5;

const

int mod =

1e9+7;

const

double pi =

acos(-

1);const

double eps =

1e-6

;double a,b,l,r;

doublef(

double x)

double

simpson

(double l,

double r)

double

solve

(double l,

double r,

double ans,

double eps)

intmain()

return0;

}

題目大意:

給定 a,b

,c,d

,l,r

a,b,c,d,l,r

a,b,c,

d,l,

r 求:

∫ lr

cx+d

ax+b

\int_l^r\frac

∫lr​ax

+bcx

+d​具體細節見**:

const

double eps =

1e-8

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

doublef(

double x)

double

simpson

(double l,

double r)

double

solve

(double l,

double r,

double ans,

double eps)

intmain()

題目大意:

給定 a

aa 求:

∫ 0∞

xax−

xd

x\int_0^x^dx

∫0∞​xx

a​−x

dx若積分發散輸出 orz

orzor

z題目分析:

先看其在什麼情況下發散收斂:

lim ⁡x

→0+x

a−x2

x=

elim⁡x

→0+a

−x2x

ln⁡x=

x^}=e^\frac \ln x}= \begin e^=+\infty ,a<0 \\ e^0=1 ,a=0 \\ e^=0,a>0 \\ \end

x→0+

lim​xx

a−x2

​=elimx→

0+​x

a−x2

​lnx=

⎩⎪⎨⎪

⎧​e+

∞=+∞

,a<0e

0=1,

a=0e

−∞=0

,a>0​

所以 a

<

0a<0

a<

0 時積分發散

lim ⁡x

→+∞x

2xa−

x2x=

elim⁡x

→+∞a

−x2+

2xxln

⁡x

\lim_x^2x^}=e^ \frac\ln x}

x→+∞

lim​x2

xxa−

x2​=

elimx→

+∞​x

a−x2

+2x​

lnx=

elim⁡x

→+∞(

−2x+

2)ln⁡

x+a−

x2+2

xx=e

−∞=0

=e^(-2x+2)\ln x+\frac}=e^=0

=elimx→+

∞​(−

2x+2

)lnx+

xa−x

2+2x

​=e−

∞=0所以在 +

∞+\infty

+∞處收斂

因此,∫0∞

xax−

xd

x\int_0^x^dx

∫0∞​xx

a​−x

dx在 a

<

0a<0

a<

0 時發散,在 a≥0

a\ge 0

a≥0 時收斂

因此在 a≥0

a\ge 0

a≥0 時用自適應辛普森積分計算即可

具體細節見**:

const

double eps =

1e-6

;double a,l,r;

doublef(

double x)

double

simpson

(double l,

double r)

double

solve

(double l,

double r,

double ans,

double eps)

intmain()

l = eps,r =15;

//注意此處

printf

("%.5f\n"

,solve

(l,r,

simpson

(l,r)

,eps));

return0;

}

自適應辛普森積分

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

自適應辛普森積分

自適應辛普森積分是一種解決定積分求解問題的演算法。給出乙個函式 f x 求 int l rf x x 我們考慮用一條拋物線來近似這個函式,設 g x ax 2 bx c 那麼可得 begin fraca r 3 l 3 fracb r 2 l 2 c r l frac frac end 那麼這個玩意...

辛普森積分(自適應辛普森公式求積分)

自適應辛普森公式求積分 第一回接觸辛普森積分,至於這個辛普森是幹嘛的呢,在這裡就有必要好好地講一講了。應用 立體幾何中用來求擬柱體體積的公式。這裡就不詳細說辛普森公式了,有需要的朋友可以看這裡 接下來我們好好的說說自適應辛普森公式求積分,自適應辛普森公式求積分是很重要的乙個知識點,弄懂了自適應辛普森...