一道迭代法问题!(谢谢!)

zengjianping 2004-04-11 04:38:52
求x=e^-x在x=0.5附近的一个根。要求输出第十到第十五的迭代结果
...全文
25 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlpwind 2004-04-12
  • 打赏
  • 举报
回复
这种题在数值分析里有很明确的方法。
ALFZHONG 2004-04-12
  • 打赏
  • 举报
回复
可以用牛顿迭代法
#include<math.h>
main()
{
double x,x0,f,f1;
x=0.5;
do
{ x0=x;
f=x-pow(2.7182818,-x);
f1=1+pow(2.7182818,-x);
x=x0-f/f1;
}
while (fabs(x-x0)>=1e-5);
printf ("方程的根=%6.3f\n",x);
}
迭代四次
结果是0.57
liem 2004-04-12
  • 打赏
  • 举报
回复
基本的迭代公式:x=f(x),要求f(x)的导数绝对值小于1。由于e^-x导数绝对值仍为e^-x,当x>0时其值小于1,因此它本身就可以作为一个迭代公式
x[n+1]=e^-x[n],初始值为0.5
newmeteor 2004-04-12
  • 打赏
  • 举报
回复
查一下数值分析的书。随便找个迭代公式,计算一下就可以了啊 !

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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