24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 894  |  回复: 10

215215

银虫 (小有名气)

[交流] 【求助】程序修改! 已有4人参与

PROGRAM PENDULUM
!
! Main Program for a driven pendulum under damping solved with
! the fourth-order Runge-Kutta algorithm.  
! Parameters: Q, B,and W (omega_0).  
!
     PARAMETER (N=1000,L=100,M=1)
     DIMENSION  Y(2,N)
         COMMON/CONST/Q,B,W
!
  PI = 4.0*ATAN(1.0)
  H  = 3.0*PI/L
  Q  = 0.5
  B  = 0.9
  W  = 2.0/3.0
  Y(1,1) = 0.0
  Y(2,1) = 2.0
!
! Using the Runge-Kutta algorithm to integrate the
! equation
!
  DO 100 I = 1, N-1
    T  = H*I
    Y1 = Y(1,I)
    Y2 = Y(2,I)
    DK11 = H*G1(Y1,Y2,T)
    DK21 = H*G2(Y1,Y2,T)
    DK12 = H*G1((Y1+DK11/2.0),(Y2+DK21/2.0),(T+H/2.0))
    DK22 = H*G2((Y1+DK11/2.0),(Y2+DK21/2.0),(T+H/2.0))
    DK13 = H*G1((Y1+DK12/2.0),(Y2+DK22/2.0),(T+H/2.0))
    DK23 = H*G2((Y1+DK12/2.0),(Y2+DK22/2.0),(T+H/2.0))
    DK14 = H*G1((Y1+DK13),(Y2+DK23),(T+H))
    DK24 = H*G2((Y1+DK13),(Y2+DK23),(T+H))
    Y(1,I+1) = Y(1,I)+(DK11+2.0*(DK12+DK13)+DK14)/6.0
    Y(2,I+1) = Y(2,I)+(DK21+2.0*(DK22+DK23)+DK24)/6.0
!
! Bring theta back to the region [-pi,pi]
!
    IF(ABS(Y(1,I+1)).GT.PI) THEN
       Y(1,I+1) = Y(1,I+1)-2.0*PI*ABS(Y(1,I+1))/Y(1,I+1)
        END IF
   100 CONTINUE
!
    WRITE(6,999)(Y(1,I),Y(2,I),I=1,N,M)
    STOP
  999 FORMAT (2F16.8)
     END
!
  FUNCTION G1 (Y1,Y2,T)
  COMMON /CONST/Q,B,W
       G1=Y2
  RETURN
  END
!
FUNCTION G2 (Y1,Y2,T)
COMMON /CONST/Q,B,W
  G2 = -Q*Y2-SIN(Y1)+B*COS(W*T)
RETURN
END
————————————————————————————————————

以上程序如果把B=0.9修改为B在区间【1,1.5】,要想继续运行的话该怎么修改此程序啊?????请赐教!
回复此楼

» 猜你喜欢

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

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

snoopyzhao

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
jjdg(金币+2):辛苦了 2010-04-26 17:29
不是很明白你什么意思,这个程序中的参数包括了B,你修改了,重新编译就可以了,这个会有什么问题吗?
2楼2010-04-26 14:36:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
jjdg(金币+2):辛苦了 2010-04-26 17:29
wangen994(金币+2):活动期间额外奖励 2010-04-27 09:56
把Program到END中间的代码放到一个subroutine里,这个subrutine要有一个参数B。然后在主程序里用do循环调用。

具体实现请查阅Fortran相关书籍。
3楼2010-04-26 17:06:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

215215

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2010-04-26 14:36:37:
不是很明白你什么意思,这个程序中的参数包括了B,你修改了,重新编译就可以了,这个会有什么问题吗?

我就是想运行一下B属于【1,1.5】时的程序,上边是B=0.9,就是怎么修改此程序改成是运行B属于【1,1.5】时的程序,因为我不懂FORTRAN,希望高手能给我修改编译好此程序让我运行一下而已,谢谢!!!
nevergiveup!
4楼2010-04-27 13:39:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

215215

银虫 (小有名气)

jjdg:你要多少步长呢? 2010-04-27 16:35
引用回帖:
Originally posted by holmescn at 2010-04-26 17:06:38:
把Program到END中间的代码放到一个subroutine里,这个subrutine要有一个参数B。然后在主程序里用do循环调用。

具体实现请查阅Fortran相关书籍。

我不懂FORTRAN,希望高手能帮我调整好此程序让我运行一下知道结果而已(就是把b=0.9修改为b属于区间【1,1.5】运行出结果),谢谢!
nevergiveup!
5楼2010-04-27 13:41:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
jjdg(金币+1):感谢交流! 2010-04-27 16:35
引用回帖:
(就是把b=0.9修改为b属于区间【1,1.5】运行出结果)

修改为多少?1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 还是多少?
6楼2010-04-27 15:29:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

215215

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2010-04-27 15:29:57:


修改为多少?1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 还是多少?

ok,我把原话给你发上来你看吧,
Modify the program to obtain a bifurcation diagram(w-b plot at a fixed “西塔角” )with q=0.5and w=2/3 and in the region of b属于【1,1.5】。
nevergiveup!
7楼2010-04-28 12:22:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+1):感谢交流:-) 2010-04-28 19:57
你只要修改 b 的值,比如 b = 1.2,然后编译程序,运行之就好了,这个似乎没有什么难度吧。

如果你不喜欢每改一个值都编译,那么就像 holmescn  说的那样,把它改成一个带参数的,呵呵……
8楼2010-04-28 15:28:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

215215

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2010-04-28 15:28:26:
你只要修改 b 的值,比如 b = 1.2,然后编译程序,运行之就好了,这个似乎没有什么难度吧。

如果你不喜欢每改一个值都编译,那么就像 holmescn  说的那样,把它改成一个带参数的,呵呵……

b这里不是一个确定的值,呵呵,我也不清楚怎么回事!呵呵呵
nevergiveup!
9楼2010-04-28 22:07:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
这让人怎么改呢?呵呵……
10楼2010-04-29 11:24:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 215215 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 283求调剂 +5 baiiyu 2026-04-05 6/300 2026-04-05 20:35 by 啵啵啵0119
[考研] 322求调剂 +3 嗯哼哼恒 2026-04-05 3/150 2026-04-05 19:52 by nepu_uu
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +10 @taotao 2026-03-30 10/500 2026-04-05 17:57 by jj987
[考研] 288求调剂 +7 没有答案_ 2026-04-05 7/350 2026-04-05 17:01 by yulian1987
[考研] 26考研调剂0710 0860 +9 补补不补 2026-04-03 14/700 2026-04-04 23:32 by 果冻大王
[考研] 一志愿郑州大学材料与化工085600,求调剂 +24 吃的不少 2026-04-02 24/1200 2026-04-04 23:20 by 永字号
[考研] +5 雾与海 2026-04-02 6/300 2026-04-04 19:53 by 蓝云思雨
[考研] 306求调剂 +3 hyb上名工 2026-04-02 3/150 2026-04-04 18:12 by 热情沙漠
[考研] 309求调剂 +4 快乐的小白鸽 2026-04-04 5/250 2026-04-04 15:55 by cql1109
[考研] 一志愿沪985,326分求调剂 +3 刘墨墨 2026-04-03 3/150 2026-04-04 11:16 by 悲伤的芋头
[考研] 化学调剂求助 +6 LULONG1 2026-04-03 6/300 2026-04-03 23:13 by qzxyhcsy
[考研] 工科341分调剂 +3 洛多罗 2026-04-03 3/150 2026-04-03 14:20 by 1753564080
[考研] 求材料调剂 一志愿南昌大学 328分 +5 yyy..... 2026-04-03 5/250 2026-04-03 13:46 by 百灵童888
[考研] 08工科,295,接受跨专业调剂 +8 lmnlzy 2026-03-30 8/400 2026-04-03 13:08 by nalakaiqi
[考研] 调剂 +7 祉岷. 2026-04-02 7/350 2026-04-03 09:11 by 花呗还欠600
[考研] 考研调剂 +3 李木子0120 2026-04-02 5/250 2026-04-02 21:45 by dongzh2009
[考研] 266求调剂 +4 学员97LZgn 2026-04-02 4/200 2026-04-02 09:52 by yulian1987
[考研] 材料调剂 +11 一样YWY 2026-03-31 11/550 2026-04-01 22:25 by zhouyuwinner
[考研] 070300化学279求调剂 +15 哈哈哈^_^ 2026-03-31 17/850 2026-04-01 21:37 by 给你你注意休息
[硕博家园] 考研调剂 +5 骆驼男人 2026-04-01 5/250 2026-04-01 14:28 by syjjj0321
信息提示
请填处理意见