1.8 求定積分近似值
試求定積分
的近似值(積分限a,b從鍵盤輸入)。
算法分析如下:
求定積分的近似值常有矩形法與梯形法,其實(shí)質(zhì)都是面積求和。
矩形法是把所要求的面積垂直x軸分成n個(gè)小矩形,然后把這n個(gè)小矩形的面積相加,即為所求的定積分的值。
梯形法是把所要求的面積垂直分成n個(gè)小梯形,然后作面積求和。
這兩種近似求值的精度隨分割個(gè)數(shù)n的增加而增加,對(duì)于相同的n個(gè)數(shù),相對(duì)來(lái)說,梯形法的精度比矩形法的要高一些。
程序代碼如下:
#include
#include
void main()
{
int i,n=1000;
float a,b,h,t1,t2,s1,s2,x;
printf("請(qǐng)輸入積分限a,b:");
scanf("%f,%f",&a,&b);
h=(b-a)/n;
for(s1=0,s2=0,i=1;i<=n;i++)
{
x=a+(i-1)*h;
t1=(float)exp(-x*x/2);t2(float)=exp(-(x+h)*(x+h)/2);
s1=s1+t1*h; /*矩形面積累加*/
s2=s2+(t1+t2)*h/2; /*梯形面積累加*/
}
printf("矩形法算得積分值:%f.\n",s1);
printf("梯形法算得積分值:%f.\n",s2);
}
程序運(yùn)行結(jié)果如下:
矩形法算得積分值:0.855821
梯形法算得積分值:0.855624
由上面的比較可知,梯形法的精度要高于矩形法。
試求定積分
的近似值(積分限a,b從鍵盤輸入)。
算法分析如下:
求定積分的近似值常有矩形法與梯形法,其實(shí)質(zhì)都是面積求和。
矩形法是把所要求的面積垂直x軸分成n個(gè)小矩形,然后把這n個(gè)小矩形的面積相加,即為所求的定積分的值。
梯形法是把所要求的面積垂直分成n個(gè)小梯形,然后作面積求和。
這兩種近似求值的精度隨分割個(gè)數(shù)n的增加而增加,對(duì)于相同的n個(gè)數(shù),相對(duì)來(lái)說,梯形法的精度比矩形法的要高一些。
程序代碼如下:
#include
#include
void main()
{
int i,n=1000;
float a,b,h,t1,t2,s1,s2,x;
printf("請(qǐng)輸入積分限a,b:");
scanf("%f,%f",&a,&b);
h=(b-a)/n;
for(s1=0,s2=0,i=1;i<=n;i++)
{
x=a+(i-1)*h;
t1=(float)exp(-x*x/2);t2(float)=exp(-(x+h)*(x+h)/2);
s1=s1+t1*h; /*矩形面積累加*/
s2=s2+(t1+t2)*h/2; /*梯形面積累加*/
}
printf("矩形法算得積分值:%f.\n",s1);
printf("梯形法算得積分值:%f.\n",s2);
}
程序運(yùn)行結(jié)果如下:
矩形法算得積分值:0.855821
梯形法算得積分值:0.855624
由上面的比較可知,梯形法的精度要高于矩形法。

