数値計算プログラム

2011年01月11日

常微分方程式:オイラー・ロンバーグ法

k:=0;
j:=0;
input f$,h,e,n,l;
dim x(n+1),y(n+1),s(l+1),t(l+1);
input x(1),y(1);
for i:=1 to n;
x:=x(i);
y:=y(i);
t(i):=y+h*val(f$);
a:=2;
for j:=1 to l;
a1:=a;
x:=x(i);
y:=y(i);
for k:=1 to a;
f:=val(f$);
x:=x+h/a1;
y:=y+h/a1*f;
next k;
s(1):=y;
f1:=1;
for k:=1 to j;
f1:=f1*2;
s(k+1):=s(k)+(s(k)-t(k))/(f1-1);
if abs(s(k+1)-s(k)) next k;
j1:=j+1;
for k:=1 to j1;
t(k):=s(k);
next k;
a:=a+2;
next j;
goto l2;
label l1;
x(i+1):=x(i)+h;
y(i+1):=s(k+1);
next i
label l2;
input h1;
for i:=1 to n step h1/h;
print x(i),y(i);
next i;
end;


当サイトでは、第三者配信事業者によるサービスを使用して広告を表示しています。 これらの第三者配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示する目的で、 当サイトや他のサイトへのアクセスに関する情報を使用することがあります (氏名、住所、メール アドレス、電話番号は含まれません)。 このプロセスの詳細や、第三者配信事業者にこれらの情報が使用されないようにする方法については、 ここをクリックしてください。