回 帖 发 新 帖 刷新版面

主题:为什么老出现Subscript out of range!!谢谢高手帮小弟我调试

DEFDBL A-H, K, O-Z

DIM X(3000), Y(3000, 10), YT(10)

DIM S(4), K(10, 4), C(4)

CLS

READ M, H, IP

DATA 2,0.01,10

READ X(0)

DATA 0.0

FOR I = 0 TO M - 1: READ Y(0, I): NEXT I

DATA 0.0,370.0

Y0Max = .9: D = 1.825

PRINT TAB(5); "*DATA*"

PRINT "M="; M: PRINT "H="; H; "(m)"

PRINT "XA(0)="; X(0): PRINT "T(0)="; Y(0, 1); "(K)"

PRINT TAB(5); "*ResuIt*"

PRINT "   L(m)       XA     T(K) "

PRINT USING "####.##"; X(0);

FOR I = 0 TO M - 1

     PRINT USING "#######.####"; Y(0, I);

NEXT I

PRINT

DD1 = 143800000000#: DD2 = 6250000000000000#

S(1) = 0: S(2) = .5: S(3) = .5: S(4) = 1!

FOR I = 0 TO M - 1: K(I, 0) = 0: NEXT I

C(1) = 1! / 6!: C(2) = 1! / 3!

C(3) = 1! / 3!: C(4) = 1! / 6!

L = 0: Y0T = 0: IPM = 0

DO WHILE Y0T <= Y0Max

    L = L + 1: IPM = IPM + 1

    X(L) = X(L - 1) + H

    FOR I = 0 TO M - 1: Y(L, I) = Y(L - 1, I): NEXT I

    FOR J = 1 TO 4

    XT = X(L - 1) + S(J) * H

    FOR I = 0 TO M - 1

        YT(I) = Y(L - 1, I) + S(J) * K(I, J - 1)

    NEXT I

        YK1 = ((1! - YT(0)) ^ .5) * (13! - 4 * YT(0)) / (EXP(156000 / YT(1)) * ((100! - 4 * YT(0)) ^ 1.5))

        YK2 = YT(0) * ((13! - 4 * YT(0)) ^ .5) / (EXP(27000 / YT(1)) * ((1! - YT(0)) ^ .5) * (100! - 4 * YT(0)))

        YK3 = (102.9 - .00834 * YT(1)) * 2.64

        K(0, J) = H * (DD1 * YK1 - DD2 * YK2)

        K(1, J) = H * (DD1 * YK1 - DD2 * YK2) * YK3

    FOR I = 0 TO M - 1

        Y(L, I) = Y(L, I) + C(J) * K(I, J)

    NEXT I

    NEXT J

    IF IPM >= IP THEN

       PRINT USING "####.##"; X(L);

       FOR I = 0 TO M - 1

       PRINT USING "#######.####"; Y(L, I);

       NEXT I

       PRINT

       IPM = 0

     END IF

     Y0T = Y(L, 0)

LOOP

PRINT USING "####.##"; X(L);

FOR I = 0 TO M - 1

     PRINT USING "#######.####"; Y(L, I);

NEXT I

PRINT

END

回复列表 (共2个回复)

沙发

请检查一下数组是否越界
(不好意思,我不够时间帮你检查了)

板凳

数组Y(3000,10)超过64k
这是个双精度数组,一个元素占8个字节
3000*10*8>65535

我来回复

您尚未登录,请登录后再回复。点此登录或注册