24小时热门版块排行榜    

查看: 798  |  回复: 7

gxqlp

铁杆木虫 (正式写手)

[求助] 需要换迭代方法吗?

现在要求一个方程,可以简化为ax^n+bx+c=0,原程序中使用的newton-raphon方法迭代,但是当n取较大值时(>40),会出现迭代次数增加,计算速度减慢,甚至无法计算。想问大侠们,这种现象可能是哪些原因造成的,是否可以修改一些值来调整?如果不行,是否需要换迭代方法?十分感谢。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

理想很丰满,现实很骨感!努力。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

renjunjie

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
小雨萌萌: 金币+1, 感谢参与 2012-09-27 14:36:40
是不是x^n值太大了,从而使误差增大,迭代曾多,你可以尝试下方程两边取对数,nlog(ax)-log(-bx-c)=0
2楼2012-09-26 08:32:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gxqlp

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by renjunjie at 2012-09-26 08:32:33
是不是x^n值太大了,从而使误差增大,迭代曾多,你可以尝试下方程两边取对数,nlog(ax)-log(-bx-c)=0

我一直觉得是N太大的问题,如果取了对数,不会影响最后的解的精度什么的吧?
理想很丰满,现实很骨感!努力。。。
3楼2012-09-26 09:32:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gxqlp

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by renjunjie at 2012-09-26 08:32:33
是不是x^n值太大了,从而使误差增大,迭代曾多,你可以尝试下方程两边取对数,nlog(ax)-log(-bx-c)=0

如果取对数的话,改变了x的取值范围,对结果会造成大的误差吧?
理想很丰满,现实很骨感!努力。。。
4楼2012-09-26 09:51:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人民海军

木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
小雨萌萌: 金币+1, 感谢参与 2012-09-27 14:36:50
引用回帖:
4楼: Originally posted by gxqlp at 2012-09-26 09:51:25
如果取对数的话,改变了x的取值范围,对结果会造成大的误差吧?...

去了对数会影响结果精度,因为对数函数是用级数的有限项近似的。如果x太大的话就不好了
Letbygonesbebygones.
5楼2012-09-27 14:26:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gxqlp

铁杆木虫 (正式写手)

引用回帖:
5楼: Originally posted by 人民海军 at 2012-09-27 14:26:05
去了对数会影响结果精度,因为对数函数是用级数的有限项近似的。如果x太大的话就不好了...

那有什么其他办法可以解决这个问题啊?我现被这个东西搞的郁闷了!!
理想很丰满,现实很骨感!努力。。。
6楼2012-09-27 22:07:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人民海军

木虫 (职业作家)

【答案】应助回帖

40次的多项式,要求零点有难度啊。newton法可能不行。建议你用其它方法。可以考虑转化成优化问题用遗传算法,粒子群算法之类的随机优化算法求最优解。
Letbygonesbebygones.
7楼2012-09-27 22:34:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (文坛精英)

感谢参与,应助指数 +1
本帖仅楼主可见
8楼2012-09-28 23:16:06
已阅   申请数学EPI   回复此楼   编辑   查看我的主页
相关版块跳转 我要订阅楼主 gxqlp 的主题更新
信息提示
请填处理意见