用c语言求 Y(n)=∫(0到无穷)(e的-α x方次幂)乘以(x的n次方) dx
用c语言求 Y(n)=∫(0到无穷)(e的-α x方次幂)乘以(x的n次方) dx其中n是0或整数,辛苦二楼了,不过e指数中x是二次幂而不是一次幂.我只考了二级,略懂而已关键在于不会求导.学物理的或数学的肯定会明白为何要求导.希望哪位能人能奉上完整程序.只要程序好,
最佳回答
看错,我已经修改了,如下图 代码如下:#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;}
热门文章
- 康达学院专转本五年制
- 高考一个考场分ab卷吗
- not only but also用法
- 某物体做自由落体运动,从释放开始计时,则物体在前2s内的平均速度为______m/s,物体下落2m时的速度大小为______m/s.
- 三角函数公式大全表格
- 地理中考必背知识点2022
- 2013-2014学年小学六年级科学上学期期末考试试卷及答案
- 人教版2014-2015学年小学五年级英语第二学期期中教学质量检测试卷及答案
- 【Linux驱动开发】设备树详解(二)设备树语法详解
- 别跟客户扯细节
- 在别的城市买房子能落户吗
- 卖房前要把装修贷还完吗
- 高中政治教学提高教学效果的方法探究
- “互联网+”背景下的初中英语课堂教学改革与创新策略研究
- 2022年终止合同范本
- 租房合同范本范文
- 如何挑选土豆
- 如何挑选土鸡
