Fortran Coder

查看: 7131|回复: 6
打印 上一主题 下一主题

[其他行业算法] 拟牛顿法求解轴承静力学模型

[复制链接]

5

帖子

2

主题

0

精华

入门

F 币
34 元
贡献
18 点
跳转到指定楼层
楼主
发表于 2014-12-18 14:51:24 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本人借鉴徐士良的Fortran常用算法程序集的拟牛顿法求解非线性方程组,方程总共3个方程3个未知量,求解发现计算老是出现error,或者fail求解失败。初值与计算步长也不知道如何选取,附件中是我编写的程序,求大神支招。
GAUSS.F90与NTN.F90是借鉴的徐士良的程序(电子版可在百度上随意搜到---[size=14.3999996185303px]Fortran常用算法程序集)。FS为我的方程,NTN0是主函数。FS中的Fa,Fr,M分别为轴向力,径向力与力矩,数值可变化,一般更改Fa为0-40000,Fr=0,M=0。 X为未知量,y为方程组。


如果大神有高招,如果方便的话,希望不吝赐教。多谢。

FS.F90

2.6 KB, 下载次数: 30

方程组

GAUSS.F90

1.88 KB, 下载次数: 13

高斯消去法

NTN.F90

1.8 KB, 下载次数: 13

拟牛顿法

NTN0.F90

360 Bytes, 下载次数: 13

主函数

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

5

帖子

2

主题

0

精华

入门

F 币
34 元
贡献
18 点
沙发
 楼主| 发表于 2014-12-18 19:19:25 | 显示全部楼层
li913 发表于 2014-12-18 18:17
太复杂了。你可以先用简单的方程去调试代码,方程太复杂,调试很难。

其实方程形式很简单,估计就是中间变量太多了。我现在想不出方程该如何简化?我想问一下你对拟牛顿法了解吗?  对于初值和步长的选择我很困惑。还有就是拟牛顿法的收敛方向我也不是很清楚

5

帖子

2

主题

0

精华

入门

F 币
34 元
贡献
18 点
板凳
 楼主| 发表于 2014-12-23 09:28:51 | 显示全部楼层
li913 发表于 2014-12-19 15:05
方法不懂。只能讲讲调试代码的技巧。先用已知解的简单方程去调试代码,这样比较容易找出逻辑错误(计算结果 ...

ok,多谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-3 16:49

Powered by Tencent X3.4

© 2013-2024 Tencent

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