能用fortran语言,用numerov算法写个解微分方程的例子吗

能用fortran语言,用numerov算法写个解微分方程的例子吗

y''-y=x,(0<x<1,y(0)=0,y(1)=1)

IMPLICIT DOUBLE PRECISION(A-H,O-Z)
DIMENSION RL(1:10000),A(1:10000),B(1:10000),C(1:10000),U(1:10000),RM(1:10000),F(1:10000),X(0:10000),Y(0:10000),P(1:10000)
OPEN(3,FILE='IN.TXT')
OPEN(1,FILE='OUT')
READ(3,*)N,A1,B1
H=(B1-A1)/N
DO I=0,N
X(I)=A1+I*H
END DO
DO I=2,N-1
A(I)=1-(H**2)/12
END DO
DO I=1,N-1
B(I)=-2*(1+5/12*(H**2))
END DO
DO I=1,N-2
C(I)=1-(H**2)/12
END DO
F(1)=(H**2)/12*(X(0)+10*X(1)+X(2))
F(N-1)=(H**2)/12*(X(N-2)+10*X(N-1)+X(N))-(1-(H**2)/12)
DO I=2,N-2
F(I)=(H**2)/12*(X(I-1)+10*X(I)+X(I+1))
END DO

DO I=2,N-1
RM(I)=A(I)
END DO
RL(1)=B(1)
U(1)=C(1)/RL(1)
DO I=2,N-1
RL(I)=B(I)-RM(I)*U(I-1)
U(I)=C(I)/RL(I)
END DO
P(1)=F(1)/RL(1)
DO I=2,N-1
P(I)=(F(I)-RM(I)*P(I-1))/RL(I)
END DO
Y(N-1)=P(N-1)
DO I=2,N-1
Y(N-I)=P(N-I)-U(N-I)*Y(N-I+1)
END DO
W=2*(EXP(X(N-1000))-EXP(-X(N-1000)))/(EXP(1.000)-EXP(-1.000))-X(N-1000) !和解析解作对比

PRINT*,Y(N-1000),W

END
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

下载码来一个