小弟要编个程序来解一个句包含积分的方程,
想用迭代法.然而不知为何结果总是死循环,但就是得不到所要的数,
请大家有时间的话可不可以帮忙看下这段程序啊
附件是方程.
程序如下:
#include <math.h>
main() ;估计是在主程序的循环中出问题,但我总找不到
{double s0=0.5,s,a=0.001;
s=jf(s0);
while(fabs(s0-s)>0.01)
{printf("s=%f",s);
s0=s0+a;
}
printf("the final s si %f",s);
}
jf(double s0) ;程分子程序,是用求梯形面积和的办法积分的
{double sum_1=0,sum_2=0,x=0,a=0.001,i,j,f1,f2,f3,f4,s;
for(i=0;i<1000;i++)
{
f1=0.5*(3*x*x-1)*exp(s0*x*x);
x=x+a;
f2=0.5*(3*x*x-1)*exp(s0*x*x);
sum_1=sum_1+(f1+f2)*a*0.5;
}
x=0;
for(i=0;i<1000;i++)
{
f3=exp(s0*x*x);
x=x+a;
f4=exp(s0*x*x);
sum_2=sum_2+(f3+f4)*a*0.5;
}
s=sum_1/sum_2;
return(s);
}
[此贴子已经被作者于2006-3-31 17:31:39编辑过]