C语言,关于矩形求定积分,怎么求?求(x*x+3)在(0,3)上定积分

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/08 16:56:09
C语言,关于矩形求定积分,怎么求?求(x*x+3)在(0,3)上定积分
xToO@*il݆/c[ۭ]\4&(n"D (civkm-s\mڻ{s'ڞSf𛟭Ƃ>|W0BBY)EJQYū;DLwު r܂W`Oo -q.G5|p@3xY^^|\Nff&x:ε+K (ЪjIyxv C\kܔ; wd,狖r\Y1#$׸ZE9*ԠTC`\54X0CnQݿ*LѼf ] t*1 49^9\"eft{0,=4Ov(7=d%Ɍ'yGG5\׾3mXd Řb3c܃$c)Bi3'@EDUVXO<`<Ypr\:A]8/ PTNxI5UT|Mh7’XX$%  $&rH|C, Fvv˳J0r/Uf# h)E(\\xWucI<-(

C语言,关于矩形求定积分,怎么求?求(x*x+3)在(0,3)上定积分
C语言,关于矩形求定积分,怎么求?求(x*x+3)在(0,3)上定积分

C语言,关于矩形求定积分,怎么求?求(x*x+3)在(0,3)上定积分

思路就是将区间无限细分

小区间梯形就可以看成矩形,小矩形所有面积相加,就是定积分

 

#include "stdio.h"

#include "math.h"

double f(double x)

{

       return x*x+3;

}

double fun(double p,double q,int n)//p,q分别表示积分下上限,n为细分的区间数,越大值越精确

{

     

    int i; 

    double sum=0,h=(q-p)/n; 

    for (i=1;i<n;i++) 

      sum+=f(p+i*h)*h; 

    return sum;

}

int main()

{

     

      printf("(x*x+3)在(0,3)上定积分为%lf\n",fun(0,3,1000000));//区间数自己设越大值越精确

 

}

数学验证:定积分是 1*x*x*x/3+x*3+C(常数)

0-3之前的值:18,