Fortran Coder

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

[非线性] hybrd算法求解非线性方程组

[复制链接]

23

帖子

9

主题

0

精华

熟手

F 币
124 元
贡献
79 点
跳转到指定楼层
楼主
发表于 2015-3-17 09:07:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我用hybrd算法求解非线性方程组,出现问题,这个应该如何解决呢?

算法代码
hybrd.f (14.54 KB, 下载次数: 25)
hybrd1.f (3.83 KB, 下载次数: 24)

程序代码:
[Fortran] 纯文本查看 复制代码
subroutine function_equations(n,x,fvec,iflag)
 implicit none
 integer n,iflag
 double precision x(n),fvec(n)
! ------------------------------------------------
 fvec(1) = 3d0*x(1)-cos(x(2)*x(3))-0.5d0
 fvec(2) = x(1)**2-81d0*(x(2)+0.1d0)**2+sin(x(3))+1.06d0
 fvec(3) = dexp(-x(1)*x(2))+20d0*x(3)+(10d0*3.1415926d0-3d0)/3d0
 return
 end 
 program main_test
 implicit none
 external function_equations
 integer,parameter :: n=3 ,lwa=(n*(3*n+13))/2 
 double precision x(n),fvec(n)
 double precision,parameter :: tol = 1d-8
 double precision wa(lwa)
 integer info

 wa(lwa) = 1d0

! hybrd1(fcn,n,x,fvec,tol,info,wa,lwa)
 call hybrd1(function_equations,n,x,fvec,tol,info,wa,lwa)
 end 

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

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2015-3-17 12:48:23 | 只看该作者
你既没有给全代码,也没有给出任何错误问题。

23

帖子

9

主题

0

精华

熟手

F 币
124 元
贡献
79 点
板凳
 楼主| 发表于 2015-3-18 09:01:59 | 只看该作者
谢谢楼上!!
代码是全的。页面上是求解的问题,上面有两个附件,也是。f文件,下载下来粘到fortran里面就可以了。
因为论坛对帖子的行数有要求,所以才将两个f文件作为附件上传了。
请各位高手帮忙看看。

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2015-3-18 17:03:29 | 只看该作者
缺少如下函数:

1>hybrd.obj : error LNK2019: 无法解析的外部符号 _DPMPAR,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _ENORM,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _FDJAC1,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _QRFAC,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _QFORM,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _DOGLEG,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _R1UPDT,该符号在函数 _HYBRD 中被引用
1>hybrd.obj : error LNK2019: 无法解析的外部符号 _R1MPYQ,该符号在函数 _HYBRD 中被引用

另外,你的代码错误提示是什么?

23

帖子

9

主题

0

精华

熟手

F 币
124 元
贡献
79 点
5#
 楼主| 发表于 2015-3-19 16:06:27 | 只看该作者
fcode 发表于 2015-3-18 17:03
缺少如下函数:

1>hybrd.obj : error LNK2019: 无法解析的外部符号 _DPMPAR,该符号在函数 _HYBRD 中被引 ...

就是你贴出来的这些信息。

136

帖子

3

主题

0

精华

版主

F 币
1964 元
贡献
1677 点

帅哥勋章管理勋章爱心勋章新人勋章热心勋章元老勋章

6#
发表于 2015-3-19 16:11:12 | 只看该作者
muzili2008 发表于 2015-3-19 16:06
就是你贴出来的这些信息。

既然缺少这些,那你就得去找这些函数对应的fortran文件

这个程序应该不是你自己写的,所以你还是找写这个程序的人要缺少的部分

59

帖子

2

主题

0

精华

大师

F 币
810 元
贡献
476 点
7#
发表于 2015-3-21 22:33:32 | 只看该作者
本帖最后由 kerb 于 2015-3-21 22:36 编辑

你需要下载minpack,netlib里面可以找到,附件是John Burkardt修改成的f90版本

minpack1.f90

152.84 KB, 下载次数: 36

评分

参与人数 1F 币 +9 贡献 +9 收起 理由
fcode + 9 + 9

查看全部评分

23

帖子

9

主题

0

精华

熟手

F 币
124 元
贡献
79 点
8#
 楼主| 发表于 2015-5-26 17:04:32 | 只看该作者
非常感谢 !


最近没有上论坛 ,这个感谢回复的晚了!!!


非常感谢!!

6

帖子

1

主题

0

精华

新人

F 币
28 元
贡献
13 点
9#
发表于 2022-6-10 22:00:13 | 只看该作者

看到您解决问题了,想问问您相关的问题,我现在碰到解非线性方程组的问题了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-28 03:58

Powered by Tencent X3.4

© 2013-2024 Tencent

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