问一个非C++的问题,是数值分析的,有人解答吗?用二分法求方程x^2-x-1=0的正根,要求误差小于0.05。

yiezi0919 2007-06-24 02:03:57
问一个非C++的问题,是数值分析的,有人解答吗?用二分法求方程x^2-x-1=0的正根,要求误差小于0.05。
...全文
1514 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜雨_倚琴 2007-06-26
  • 打赏
  • 举报
回复
前几天一大一学弟问过我,很简单的说
activateMan 2007-06-26
  • 打赏
  • 举报
回复
以上给出的是用二分法求解。还有一个收敛根快的方法是牛顿迭代。求解这个数值问题还有别的方法,就不多说了。
yiezi0919 2007-06-25
  • 打赏
  • 举报
回复
F1为正解??
石雕 2007-06-25
  • 打赏
  • 举报
回复
F1 为正解, 你看了吗?
yiezi0919 2007-06-24
  • 打赏
  • 举报
回复
能得出正确结果吗?


非常感谢!
laiwusheng 2007-06-24
  • 打赏
  • 举报
回复
namespace solve
{
//////////////////////////////////////////////////////////////////////////
/// 二分法
double EPS_Bisection =5e-6; //根容许的误差
double DELTA_Bisection =1e-6; //|f(x)|容许的误差
float Bisection( float a,float b,float (*f)(float) )
{
float c,fc,fa=f(a),fb=f(b);
int n=1;
cout<<"二分次数\tc\tf(c)\n";
while(1)
{
if( fa*fb>0 )
return 0;
c =(a+b)/2,fc =f(c);
if( fabs(fc) < DELTA_Bisection )
break;
else if (fa*fc<0)
{
b=c;
fb=fc;
}
else
{
a=c;
fa=fc;
}
if( b-a< EPS_Bisection )
break;
cout<<'\t'<<n++<<'\t'<<c<<'\t'<<fc<<endl;
}
return c;
}

float f_Bisection(float x)
{
return x^2-x-1; //求解的方程
}

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧