如何用C语言求二重定积分?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 06:29:15
如何用C语言求二重定积分?
xUnF~RRҳ @?\D"J- AR' HrQ!Q v{(N2̜ ]i)[9;3|'G<{qN~&?`xao?[']ڸyqz+-Wn]Y|IgqZ'8d:;WAp;znF &vm̀Էm9:B6!&kR aM N|llaZo%#. kŞqc#2eC2-0Ÿ9!Q.=~S3z%"i1Ǐݓ_jA~x2@,v맽v)DU]Bu vTL[$^SCWJegn~6+,7)OjTTn$w),jMSVR)T YY 4G<@;)a/}֫˽s:<>Y Wg4e r\}7~[CFkђJڒ&,HVdZWu]_hP{̀SVyjF/YWWyUBA<nX0%!%3-A͛UFF5-:/}2AۥvzH\eTPnu3E~VSq:WUJ_]3T t ?lӏ>C\b|5(Brf::>20ar' |1 2c.`LL!Ҡ' !@lܐK1f4t/K>@

如何用C语言求二重定积分?
如何用C语言求二重定积分?

如何用C语言求二重定积分?

按二重积分的定义做. 

我的这个出错,一起讨论下吧:

#include<stdio.h>

#include<math.h>

#define N 100

void main(){

\x09double result,(*p)(double,double);

\x09double f(double,double);

\x09double integral(double,double,double,double,double(*p)()); 

\x09p=f;

//\x09printf("请输入a b c d 的值:\n");

//\x09scanf("%lf %lf %lf %lf",&a,&b,&c,&d);

\x09result=integral(2.0,8.0,0,6.0,p);

\x09printf("该二重积分的值为:\n");

\x09printf("%f",result);

\x09printf("\n");

}

//求二重积分的函数

double integral(double a,double b,double c,double d,double (*p)(double,double)){

\x09int i,j;

\x09double x,y,h1,h2,volum=0;

                h1=(b-a)/N;

\x09h2=(d-c)/N;

\x09x=a;

\x09y=c;

\x09for(i=0;i<N;i++){

\x09\x09for(j=0;j<N;j++){

\x09\x09\x09volum+=(*p)(x,y)*h1*h2;

\x09\x09\x09y+=h2;

\x09\x09}

\x09\x09x+=h1;

\x09}

\x09return(volum);

}

double f(double x,double y){

\x09double h;

\x09h=sqrt((2+x*x)*sin(x*y)*sin(x*y))+x*x*y*cos(x)-30*x*y*y;

\x09return (h);

}

运行结果: