私はプログラミングに比較的慣れていないので、Fortran 77 を使用して、方程式を解くルンゲクッタ法を使用して、特定の時間値で球状のボールの温度を決定するプログラムを作成しようとしています。とにかく、方程式は問題なく、問題を引き起こしているようには見えません。RK メソッド自体のプログラミングのようです。
コンパイルするように指示すると、「予期しない配列参照」に関するエラーが繰り返し表示されます。私が間違っている場所について誰かが私にいくつかの指針を与えることができれば、大歓迎です。コードと結果を以下に投稿します。
PROGRAM RKSubroutine
IMPLICIT NONE
DIMENSION t(3), y(3)
func=(-2.2067E-12)*((y**4)-(81E8));
y0=1200;
h1=240;
a=0;
b=480;
func is name of function to be evaluated
a & b are the limits of integration
y0 is the initial condition
h1 is the stepsize
t=[a];
y=[y0];
i=1;
while t(i)<b
h=h1
k1=feval(func,t(i), y(i));
k2=feval(func,t(i)+h/2,y(i)+k1*h/2);
k3=feval(func,t(i)+h/2,y(i)+k2*h/2);
k2=feval(func,t(i)+h,y(i)+k3*h);
y1=y(i)+(k1+2*k2+2*k3+k4)*h/6;
i=i+1;
t(i)=t(i-1)+h1;
stop
end
以下の bradys の提案に従って少し変更した後、t の次元の値に関係なく、エラーが発生するようになりました。
`In file RK.f:21
while t(i)<b
1
Error: Unexpected array reference at (1)
どうもありがとう!