對于積分間隔[a,b]
成立了
辛普森公式
辛普森公式可以看作是改進的梯形公式。
梯形公式是以直線逼近實際曲線,而辛普森公式則以二次曲線(即拋物線)逼近。以二次曲線逼近實際曲線
根據(jù)辛普森公式可得各積分小區(qū)間內(nèi)的積分值如下式所示:
其中
于是,全積分區(qū)間[a, b]的積分值為
為便于計算機計算,上式可寫成
其中
C語言程序?qū)崿F(xiàn)辛普森公式計算積分
- 計算積分
- 代碼
#include <;
#include <ma;
/*函數(shù)定義*/
double f(double x)
{
return )*exp(-1*x);
}
/*辛普森公式計算積分*/
double simpson(
double a, double b, int n)
{
double h = (b-a)/n;
double s0,s1=0.0,s2=0.0;
double S;
double x;
int i;
s0 = f(a) + f(b);
for( i = 1; i < n; i += 2 )
{
x = a + h * i;
s1 += f(x);
}
for( i = 2; i < n; i += 2 )
{
x = a + h * i;
s2 += f(x);
}
S = h*(s0+4*s1+2*s2)/3;
return S;
}
int main(void)
{
//積分區(qū)間[a, b]
double a = -1.0, b = 1.0;
//區(qū)間分割數(shù)
int N[5]={10,20,30,50,100};
int i = 0;
for( i = 0; i < 5; i++ )
printf("[%3d等分]積分近似值:\n\
I = %.7lf\n",
N[i], simpson(a, b, N[i]));
return 0;
}
- 編譯?執(zhí)行
$ gcc -lm -o simpson
$ ./simpson
[ 10等分]積分近似值:
I = 3.0862715
[ 20等分]積分近似值:
I = 3.0861682
[ 30等分]積分近似值:
I = 3.0861626
[ 50等分]積分近似值:
I = 3.0861614
[100等分]積分近似值:
I = 3.0861613
1.《全積分怎么算?總結(jié)很全面速看!積分近似計算之辛普森公式》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《全積分怎么算?總結(jié)很全面速看!積分近似計算之辛普森公式》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3123257.html