Fortran Coder

查看: 395|回复: 4

[非线性] 请教一个非整数次幂方程的求解

[复制链接]

11

帖子

4

主题

0

精华

熟手

F 币
237 元
贡献
126 点
发表于 2017-7-30 23:48:07 | 显示全部楼层 |阅读模式
该方程如下:
a1*(x+b1)^t+a2*(x+b2)^t=c

{a}_{1}{(x+{b}_{1})}^{t}+{a}_{2}{(x+{b}_{2})}^{t}=c

其中,a1, a2, b1, b2, c 皆为常数;  0<t<1
请教如何用fortran编写程序求出未知数x?
先谢过!





回复

使用道具 举报

211

帖子

1

主题

0

精华

宗师

F 币
1234 元
贡献
849 点
发表于 2017-7-31 07:59:33 | 显示全部楼层
求解非线性方程,看专业的算法集,比如《徐士良程序集》。

11

帖子

4

主题

0

精华

熟手

F 币
237 元
贡献
126 点
 楼主| 发表于 2017-8-3 17:33:14 | 显示全部楼层
li913 发表于 2017-7-31 07:59
求解非线性方程,看专业的算法集,比如《徐士良程序集》。

非常感谢您提供的信息

这两天加深了对非线性方程数值求解的理解

使用的是牛顿迭代法,问题解决过程中,发现程序倒不难,但是,初值选不好,收敛性会出现问题

经过多次检查修改基本能顺利运行了

56

帖子

1

主题

0

精华

大师

F 币
678 元
贡献
417 点
发表于 2017-8-6 19:29:27 | 显示全部楼层
这个用截弦法可能对初值不敏感,不会出现来回震荡的情况,牛顿法虽然快,但是有可能出现来回震荡的情况

11

帖子

4

主题

0

精华

熟手

F 币
237 元
贡献
126 点
 楼主| 发表于 2017-8-8 10:25:05 | 显示全部楼层
kerb 发表于 2017-8-6 19:29
这个用截弦法可能对初值不敏感,不会出现来回震荡的情况,牛顿法虽然快,但是有可能出现来回震荡的情况 ...

谢谢您的解答

用牛顿法遇到不收敛的情况时,我也进一步看了截弦法

后来用matlab把函数曲线画出来,知道是什么样的图形,修改了初值用牛顿法解决了问题
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|QQ群|Fcode

GMT+8, 2017-12-18 14:58

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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