24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 652  |  回复: 1

lernen8

新虫 (初入文坛)

[求助] 求帮助!改Function中的可变系数进行循环计算的问题

没有金币了啊!!!希望发扬雷锋精神啊!求大神帮忙解决问题啊!
我想用Fortran 求解非线性方程组,程序是Monte Carlo法
程序由主程序,Function, Subroutine三部分组成。
Function给出了非线性方程组,通过subroutine进行计算非线性方程组,主程序给出了初始计算值X1,X2,X3。

问题是, Function 中有个系数M是变化的,
在subroutine(或者主程序)中,先设定了初始值M0,每次计算结束了X后,由X计算新的M=f(x).
如果新Mc 和旧M差别在1.0E-05内就结束计算,
否则重新赋予Function 系数M, 重新调用子程序循环计算X.

     DIMENSION X(N), Y( N)
     REAL NRND1
     External F
      Double precision R, M, M0, Mc
      Double precision R=1.0E-4; d=30.0E-3; k=383.0;
     * h=40000.0; T=303.0
        A= B
        K= 1
        R= 1.0E0
        M0=450.0
40      M=M0
       Z= F(X, N, M)
  10   IF (A. GE. EPS) THEN
      L= L+ 1
      DO 20 I= 1, N
  20  Y(I) = -A+ 2.0* A* NRND1(R) + X(I)
      Z1= F(Y, N, M)
      K= K+ 1
      IF ( Z1. GE. Z) THEN
      IF (K .GT. M) THEN
       K= 1
       A= A/2.0
      ENDIF
      GOTO 10
      ELSE
       K= 1
      DO 30 I= 1, N
  30   X(I) = Y( I)
       Z= Z1
       IF ( Z. GE. EPS) GOTO 10
      ENDIF
       ENDIF
      
      Mc=T+(1000.0*X(1)-M)*(d/k+1/h)/R
      IF(ABS(M-Mc) .GE. EPS) THEN
      M0=(M+Mc)/2
      GOTO 40   
      
      ENDIF
      END

上面程序是对subroutine的修改。倒数第6行直接调用X1对新的Mc计算,并赋值给M0,然后返回行40。
但是貌似根本就没有把新的M传递给方程F(X,N,M)进行循环计算。最后只有第一次的结果。

难道计算得到的X1不能直接调用,用于方程计算么?(尝试过把X1直接调出主程序计算倒数第6行的方程,方程结果根本就不对)
此子程序有否错误呢?
谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)

看了半天没看懂~楼主最好把代码打包,问题说清楚~
穷则独善其事,达则兼济天下
2楼2014-05-26 16:40:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lernen8 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 297工科调剂? +7 河南农业大学-能 2026-04-13 7/350 2026-04-13 23:07 by pies112
[考研] B区0809 ,数一英一,290 求调剂 +3 泠潍1111 2026-04-12 4/200 2026-04-13 20:35 by 学员JpLReM
[教师之家] 转长聘了 +3 简单化xn 2026-04-13 3/150 2026-04-13 14:18 by wwwkkk83
[考研] 346分,工科0854求调剂,专硕 +6 moser233 2026-04-12 7/350 2026-04-12 22:11 by fqwang
[考研] 339求调剂 +8 hanwudada 2026-04-11 9/450 2026-04-12 15:36 by laoshidan
[考研] 269求调剂 +11 啊啊我我 2026-04-07 11/550 2026-04-11 16:45 by vgtyfty
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 283求调剂 +22 那个噜子 2026-04-09 22/1100 2026-04-11 10:41 by 逆水乘风
[考研] 293求调剂 +6 勇远库爱314 2026-04-08 6/300 2026-04-11 10:08 by zhq0425
[考研] 中药学调剂 初试324 +4 洋甘菊、 2026-04-10 6/300 2026-04-11 09:41 by gong120082
[考研] 282,求调剂 +12 jggshjkkm 2026-04-09 14/700 2026-04-11 09:39 by 猪会飞
[考研] 346,工科0854求调剂,专硕 +7 moser233 2026-04-10 8/400 2026-04-11 08:52 by 猪会飞
[考研] 调剂 +12 卷卷卷心菜_ 2026-04-09 13/650 2026-04-10 22:36 by Ftglcn90
[考研] 一志愿中南大学物理学,英一66,求调剂 +4 长烟旖旎 2026-04-08 5/250 2026-04-10 10:31 by 颖果儿
[考研] 本科西工大 0856 324求调剂 +10 wysyjs25 2026-04-09 11/550 2026-04-10 08:37 by 5268321
[考研] 265求调剂 +4 风说她早忘了 2026-04-07 4/200 2026-04-09 13:59 by only周
[考研] 求调剂 +3 猪肉墩粉条cc 2026-04-08 4/200 2026-04-09 10:05 by 猪肉墩粉条cc
[考研] 一志愿西南090202求调剂 +4 在线求有学上 2026-04-07 4/200 2026-04-07 19:47 by biomichael
[考研] 软工学硕299求调剂 +6 useryy 2026-04-07 6/300 2026-04-07 09:50 by vgtyfty
信息提示
请填处理意见