找回密码
 注册
Simdroid-非首页
查看: 105|回复: 5

[3. Fortran] 请高手帮忙看看我的程序什么错误

[复制链接]
发表于 2007-7-27 10:58:23 | 显示全部楼层 |阅读模式 来自 湖北武汉
一个小程序,编译和连接的时候都没错误,但在执行的时候出现错误,请高手帮忙看看, 谢谢了
dimension  SB1(100000),SB2(100000)
NB=1
S1=0.0
S2=1.0
NI=2
C     CALL DRRANGE(DAMFUNC_SAQ,S1,S2,NI,SB1,SB2,NB)
      CALL DRRANGE(S1,S2,NI,SB1,SB2,NB)
      write(*,*) SB1,SB2
END

SUBROUTINE DRRANGE(X1,X2,NI,XB1,XB2,NB)
dimension  XB1(100000),XB2(100000),FUNC(100000)
B=0.06
ALFA=1.0
SMAX=10
SMISE=8.0
P=3.5
q=3.5
DAM=0.7
DT=0.5
FUNC(X)=B*(ALFA*SMAX+(1.0-ALFA)*SMISE)**P/((1-
     $ (DAM+X/2))**q)-X/DT
      DO I=1,5
      NBB=0
      X=X1
      NI2=NI*10**(I-1)
      DX=(X2-X1)/NI2
      FP=FUNC(X)
      DO J=1,NI2
      X=X+DX
      FC=FUNC(X)
      IF(FC*FP.LT.0)THEN
      NBB=NBB+1
      XB1(NBB)=X-DX
      XB2(NBB)=X
      IF(NBB.EQ.NB)  goto 80
      END IF
      FP=FC
      END DO
      END DO
80    CONTINUE
      NB=NBB
IF(NB.EQ.0) THEN
  WRITE(6,*) 'DRRANGE DOESN FIND2 ANY ROOT IN THE INTERVAL'
STOP
END IF
END

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2007-7-27 17:59:12 | 显示全部楼层 来自 江苏盐城
Simdroid开发平台
数组超出范围
回复 不支持

使用道具 举报

 楼主| 发表于 2007-7-29 10:03:21 | 显示全部楼层 来自 湖北武汉
提示的信息是这样的, 好像是数组超出范围,哪位大虾帮忙找找原因吧?谢谢了
回复 不支持

使用道具 举报

发表于 2007-7-30 13:06:07 | 显示全部楼层 来自 广东深圳
你写的啥程序,是不是刚开始学着写?错误一万处!
回复 不支持

使用道具 举报

 楼主| 发表于 2007-7-30 16:58:08 | 显示全部楼层 来自 湖北武汉
楼上的老大:我好久没搞FORTRAN了,我编译连接都通过了,执行的时候错误出现在这个函数上,麻烦帮忙看看,谢谢了!


FUNC(X)=B*(ALFA*SMAX+(1.0-ALFA)*SMISE)**P/((1-
     $ (DAM+X/2))**q)-X/DT
回复 不支持

使用道具 举报

发表于 2007-7-30 19:22:29 | 显示全部楼层 来自 江苏盐城
你要搞清楚,你的func(x)是函数还是数组~~
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-1 17:37 , Processed in 0.034191 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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