数値計算プログラム

2011年03月11日

連立方程式解法:ガウスの消去法2

input n;
dim a(n,n+1);
for i:=1 to n;
for j:=1 to n+1;
input a(i,j);
next j;
next i;

for k:=1 to n;
label l5;
w:=a(k,k);
if w:=0 then l1;

for i:=1 to n;
if i=k then l2;
t:=a(i,k);
for j:=1 to n+1;
a(i,j):=w*a(i,j)-t*a(k,j);
next j;
label l2;
next i;
next k;

for i:=1 to n;
print a(i,n+1)/a(i/i);
next i;
end;

label l1;
if k=n then l3;
for h:=k+1 to n;
if a(h,h)<>0 then print h:goto l4
next h;
goto l3;
label l4;
for l:=1 to n+1;
v:=a(k,l);
a(k,l)=a(h,l);
a(h,l):=v;
next l;
goto l5;
label l3;
if a(k,n+1)=0 then print "不定";
end;

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