数组太大程序无法运行怎么办
我现在用'徐士良《fortran常用算法程序集>'里面的定步长四阶龙格-库塔法做数值计算,算法里面有个工作数组Z(M,N),在我的程序里面取法如下:
parameter(IMAX=100,N=2000001)
real*8 Y(4*IMAX+2),D(4*IMAX+2),Z(4*IMAX+2,N)
运行出错信息为:Error: A common block or variable may not exceed 2147483647 bytes
real*8 Y(4*IMAX+2),D(4*IMAX+2),Z(4*IMAX+2,N)
---------------------------------------^
Error executing df.exe.
不知道为什么会出现这样的错误,假如N=600001时程序可以正常运行,请高手给与指点?
帮我想一下解决办法,不知道有没有其他的四阶龙格-库塔算法子程序可供选择,而且不用定义二维工作数组??
[ 本帖最后由 xinyuxf 于 2007-9-22 22:21 编辑 ] 内存不够用了
只有两种办法
1. 增加内存
2. 减小数组 A common block or variable may not exceed 2147483647 bytes
这个限制好像是以前compaq fortran的限制。
试试别的frotran compile,如IVF,PGI fortran等等。
还有就是在64bit OS下试试,如linux下。
也许可以。
祝好。
页:
[1]