用c语言求 Y(n)=∫(0到无穷)(e的-α x方次幂)乘以(x的n次方) dx

学习 时间:2026-04-08 01:40:34 阅读:4882
用c语言求 Y(n)=∫(0到无穷)(e的-α x方次幂)乘以(x的n次方) dx其中n是0或整数,辛苦二楼了,不过e指数中x是二次幂而不是一次幂.我只考了二级,略懂而已关键在于不会求导.学物理的或数学的肯定会明白为何要求导.希望哪位能人能奉上完整程序.只要程序好,

最佳回答

矮小的未来

年轻的钻石

2026-04-08 01:40:34

看错,我已经修改了,如下图 代码如下:#include<stdio。h>#include<math。h>#define a 1#define PEC 0。0001#define DX 0。01#define PI 3。1415926double cal(double x,int n){ double temp = exp(-a*x*x); temp*=pow(x,n); return temp;} double cal1(int n){ double temp=0。0; if(n==0)  return 0。5*sqrt(PI/a); else if(n==1)  return 1/(2*a); else{  return ((n+1)/a)*cal1(n-2); }}int main(){ double pre=1;//当前cal计算的数值 double result=0;//当前计算结果数值 int n=0; for(int i=1;pre>PEC;result+=pre*DX,i++){  pre=cal(1。0*i*DX,n); } printf("fun1:%lf\n",result); printf("fun2:%lf\n",cal1(n)); return 0;}

最新回答共有2条回答

  • 合适的咖啡
    回复
    2026-04-08 01:40:34

    看错,我已经修改了,如下图 代码如下:#include<stdio。h>#include<math。h>#define a 1#define PEC 0。0001#define DX 0。01#define PI 3。1415926double cal(double x,int n){ double temp = exp(-a*x*x); temp*=pow(x,n); return temp;} double cal1(int n){ double temp=0。0; if(n==0)  return 0。5*sqrt(PI/a); else if(n==1)  return 1/(2*a); else{  return ((n+1)/a)*cal1(n-2); }}int main(){ double pre=1;//当前cal计算的数值 double result=0;//当前计算结果数值 int n=0; for(int i=1;pre>PEC;result+=pre*DX,i++){  pre=cal(1。0*i*DX,n); } printf("fun1:%lf\n",result); printf("fun2:%lf\n",cal1(n)); return 0;}

上一篇 英语翻译“给我们爱,我们可以做得更好.”作为ppt的大标题,请帮我翻译成英文,注意格式,

下一篇 I want to tell about my cat.这句话正确吗?