Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-02-01, 18:43   #1
eva08
初级会员
 
注册日期: 2008-07-16
年龄: 42
帖子: 4
声望力: 0
eva08 正向着好的方向发展
默认 [求助]牛顿迭代法--我的数值哪去了?

我是初学者,刚碰到一个问题,我需要用牛顿迭代法得出从初始值到最后误差为8位小数的最后值。这些我都按理论老老实实的写了,但是不知道什么原因,答案显示有问题。
比如,我的初始值取得接近精确值,它可能需要10步就得出最后的近似值,那么我能看到所有的10个数据,这说明我的整个程序该是正确的吧。
但是,当我的初始值选得很远离精确值时,它可能就需要30或者更多步来完成,但是答案上却不显示所有的数据,而是每次都只显示了可能的最后一部分数据就没有了。而我需要用全部的数据来进行对比。
我是菜鸟,找了些书,也没提到这种情况怎么办才好。不知道有没有同学碰到过这种情况,帮帮我。
eva08 当前离线   回复时引用此帖
旧 2009-02-04, 22:06   #2
laohuiosa
初级会员
 
注册日期: 2009-01-15
年龄: 36
帖子: 15
声望力: 17
laohuiosa 正向着好的方向发展
默认 回复: [求助]牛顿迭代法--我的数值哪去了?

我想是因为初值离根太远,导致不收敛,所以迭代后出错。你在程序中加入一个迭代次数的变量,如果迭代次数超过,那就说明是初值迭代不收敛
laohuiosa 当前离线   回复时引用此帖
旧 2009-02-06, 09:43   #3
eva08
初级会员
 
注册日期: 2008-07-16
年龄: 42
帖子: 4
声望力: 0
eva08 正向着好的方向发展
默认 回复: [求助]牛顿迭代法--我的数值哪去了?

谢谢上面同学的回复。:lol:

可能我上面没有写明白,我的程序没有问题,取的初值都是可以保证收敛的。问题是出在答案的显示上,比如这个初值要运行30步才能完成,我能看到第20到30步的数值,也就是说最后的结果还是显示了,但是从最初值到第19步的数值却没显示。

最近发现把计算复杂化,比如 (n,n) Matrix A中,我以前习惯老是用n=100,现在用n=300,那么整个计算量就会相对大很多,整个运行过程也会相对来说慢很多,这时,所需的步骤也很大,但是我却能看到所有的数值了。

不知道是不是因为运行太快的缘故,还是别的原因,继续不解中
eva08 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[MATLAB数学相关] 请问这个过程应该怎么模拟 lonelyrex MATLAB论坛 2 2009-04-16 14:57
[求助]求解方程的问题 一个人的旅行 MATLAB论坛 3 2009-03-25 16:00
[求助]求识别水果种类的方法!!! george19868 MATLAB论坛 2 2009-01-09 19:28
[求助]关于PLS程序主成分的确定问题 yiouyang MATLAB论坛 0 2008-12-17 15:59


所有时间均为北京时间。现在的时间是 02:52


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.