我有以下代码:
PROGRAM EULER
REAL A,B,X,H
INTEGER N
PARAMETER (A=0.0,B=2.9884,N=10)
EXTERNAL RHS
REAL Y(0:N)
H=(B-A)/N
X=XIN+H
10 FORMAT(1X,G12.4,4X,G12.4)
Y(0)=0
DO I=1,N
CALL ESTEP(H,A+(I-1)*H,Y(I-1),RHS,Y(I))
WRITE (*,FMT=10) A+(I*H),Y(I)
END DO
END
SUBROUTINE ESTEP (H,XIN,YIN,RHS,YOUT)
REAL H,XIN,YIN,YOUT
CALL RHS(XIN,YIN,DYDX)
YOUT=YIN + H*DYDX
END
SUBROUTINE RHS(X,Y,DYDX)
REAL X,Y,DYDX
DYDX=2*X**3+Y**3
END
我需要让主程序在我的主目录中打开一个名为“data”的文件,并将x值及其相应的解决方案值写入“数据”中,列为2列,左侧列为x值和右边的y。我还需要创建“数据”文件的线图。当我在终端中运行它时,代码编译并给我正确的输出,但我不认为它将它写入数据文件。这是我不确定如何做的部分。当我尝试使用gnuplot时,这就是我得到的:
gnuplot> set style data lines
gnuplot> set output 'data.ps'
gnuplot> set terminal postscript
Terminal type set to 'postscript'
Options are 'landscape noenhanced defaultplex \
leveldefault monochrome colortext \
dashed dashlength 1.0 linewidth 1.0 butt noclip \
nobackground \
palfuncparam 2000,0.003 \
"Helvetica" 14 fontscale 1.0 '
gnuplot> plot 'data'
warning: Skipping unreadable file "data"
No data in plot
我认为这是因为主程序中没有打开数据文件。如果是这种情况我将如何编码?