作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/22 01:24:41
如何用C语言求二重定积分?
如何用C语言求二重定积分?
按二重积分的定义做. 我的这个出错,一起讨论下吧:#include<stdio.h>#include<math.h>#define N 100void 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);}运行结果: