Fortran Coder

查看: 7217|回复: 8
打印 上一主题 下一主题

[其他行业算法] 高斯牛顿法,迭代无法终止(死循环)

[复制链接]

5

帖子

2

主题

0

精华

入门

F 币
42 元
贡献
19 点
跳转到指定楼层
楼主
发表于 2014-10-17 11:12:45 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
在用高斯牛顿法计算数据时,当输入的数据是连续时(比如2、3、4、5、6)程序能跳出循环,但是当输入数据不连续时,会出现死循环情况。由于本人能力有限,无法找出其中的原因,希望那位大侠能够帮我指出。由于代码比较长,所以我就打包上传。
本人使用广义逆修正。

高斯牛顿代码.zip

3.6 KB, 下载次数: 20

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

5

帖子

2

主题

0

精华

入门

F 币
42 元
贡献
19 点
沙发
 楼主| 发表于 2014-10-17 12:46:10 | 显示全部楼层
这是我运行的结果

捕获.JPG (14.76 KB, 下载次数: 232)

捕获.JPG

5

帖子

2

主题

0

精华

入门

F 币
42 元
贡献
19 点
板凳
 楼主| 发表于 2014-10-17 13:31:21 | 显示全部楼层
楚香饭 发表于 2014-10-17 13:09
你用的什么编译器?我试过 ivf,cvf,gfortran,都无法跳出循环。

谢谢,我用的是ivf

5

帖子

2

主题

0

精华

入门

F 币
42 元
贡献
19 点
地板
 楼主| 发表于 2014-10-17 13:38:46 | 显示全部楼层
楚香饭 发表于 2014-10-17 13:29
OK ,改了以下代码 就可以了

[mw_shl_code=fortran,true]REAL*8::G(row,col),Gt(col,row),GtG(col,col)=0. ...

谢谢你,但是初始化之后,输入数据还是不能
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-5 14:32

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表