| 查看: 809 | 回复: 10 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【求助】程序修改! 已有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】,要想继续运行的话该怎么修改此程序啊?????请赐教! |
» 猜你喜欢
招博士
已经有5人回复
青椒八年已不青,大家都被折磨成啥样了?
已经有6人回复
救命帖
已经有9人回复
青年基金C终止
已经有3人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
限项规定
已经有7人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复
英文综述是否需要润色及查重
已经有5人回复
为什么nbs上溴 没有产物点出现呢
已经有9人回复
» 本主题相关价值贴推荐,对您同样有帮助:
写了一个fortran90的小程序,编译通不过,请大侠帮忙
已经有59人回复
【求助】求高人帮我修改程序
已经有5人回复
【求助】帮忙改写展宽程序
已经有11人回复
【原创】vasp的POSCAR转换成cif格式程序修改版
已经有7人回复
【求助】修改MATLAB支持向量机核函数程序遇到的疑问?求助
已经有5人回复

11楼2010-04-29 11:46:22













回复此楼