首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

啊这个程序究竟表达的是什么意思

2012-03-25 
请教各位啊,这个程序究竟表达的是什么意思?[codeC/C++][/code]#include stdio.h#include math.hfloat

请教各位啊,这个程序究竟表达的是什么意思?
[code=C/C++][/code]
 #include "stdio.h"
 #include "math.h"
 float fun(float k) /*定义一元函数*/
  {
  return (k*(k*(k*(k*(k+1)+2)-2)+1)-3);
  }
 main()
  {
  float xmin=0, /*起始最小值*/
xmid=0, /*起始最大值*/
xmax=0,
fmin=0,
fmid=0,
fmax=0;
  do{
printf("\n Input xmin & xmax:");
scanf("%f%f",&xmin,&xmax); /*得到初始范围*/  
fmin=fun(xmin); /*调用一元函数*/ 
fmax=fun(xmax);
  }while(fmin*fmax>0); /*满足条件则循环*/  
  for(;fabs(fmax-fmin)>=1e-5;) /*设定终止条件*/
  {
xmid=(xmin+xmax)/2;
fmid=fun(xmid);
if(fmid*fmin<0) /*根据判断结果进行迭代*/
{
xmax=xmid;
fmax=fmid;
}
else
{
xmin=xmid;
fmin=fmid;
}
  }
  printf("\n x=%5.3f \n",xmid);
  return;
 }

[code=C/C++][/code]
好像是逐渐在往中间某个值在靠近,这个最后的xmid究竟代表什么呢

[解决办法]
soswaidao 友情帮顶~~~~友情帮顶~~~~
[解决办法]
貌似是用牛顿法解方程吧,pls google牛顿法解方程
[解决办法]
现在下班了,我晚上那个回去看哈

大概就是先确定两个数,然后把这两个数带入上面的那个函数,得到fmin,fmax

然后得到一个无限趋近于他们的中间数的一个实现;
其中fabs(fmax-fmin)求的是他的绝对值,e是一个无限趋近于的极限值,好像以前数学有讲到过...
[解决办法]
如果不是算法,那么写程序的人就有毛病,自己可以看懂,别人怎么维护
[解决办法]
就是求解方程(k*(k*(k*(k*(k+1)+2)-2)+1)-3)=0呀
xmid就是与精确解误差小于1e-5的数值解

[解决办法]
同意
楼上
[解决办法]
看的头有点大!

热点排行