Fortran Coder

查看: 6758|回复: 4
打印 上一主题 下一主题

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

[复制链接]

11

帖子

4

主题

0

精华

熟手

F 币
263 元
贡献
138 点
跳转到指定楼层
楼主
发表于 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?
先谢过!





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

835

帖子

2

主题

0

精华

大宗师

F 币
3926 元
贡献
2334 点
沙发
发表于 2017-7-31 07:59:33 | 只看该作者
求解非线性方程,看专业的算法集,比如《徐士良程序集》。

11

帖子

4

主题

0

精华

熟手

F 币
263 元
贡献
138 点
板凳
 楼主| 发表于 2017-8-3 17:33:14 | 只看该作者
li913 发表于 2017-7-31 07:59
求解非线性方程,看专业的算法集,比如《徐士良程序集》。

非常感谢您提供的信息

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

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

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

59

帖子

2

主题

0

精华

大师

F 币
810 元
贡献
476 点
地板
发表于 2017-8-6 19:29:27 | 只看该作者
这个用截弦法可能对初值不敏感,不会出现来回震荡的情况,牛顿法虽然快,但是有可能出现来回震荡的情况

11

帖子

4

主题

0

精华

熟手

F 币
263 元
贡献
138 点
5#
 楼主| 发表于 2017-8-8 10:25:05 | 只看该作者
kerb 发表于 2017-8-6 19:29
这个用截弦法可能对初值不敏感,不会出现来回震荡的情况,牛顿法虽然快,但是有可能出现来回震荡的情况 ...

谢谢您的解答

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

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

本版积分规则

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

GMT+8, 2024-12-26 16:30

Powered by Tencent X3.4

© 2013-2024 Tencent

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