数値計算プログラム

2011年07月09日

連立1次方程式:ガウス法

input n;
dim a(n,n+1),x(n);
input e;
for i:=1 to n;
for j:=1 to n;
input a(i,j);
next j;
next i;
for i:=1 to n;
input a(i,i+1);
next i;
n1:=n+1;
n2:=n-1;
for k:=1 to n2;
a1:=a(k,k);
for j:=k to n1;
a(j,j):=a(k,j)/a1;
next j;
for i:=k+1 to n;
a2:=a(i,k);
for j:=k to n1;
a(i,j):=a(i,j)-a2*a(k,j);
next j;
next i;
next k;
if abs(a(n,n1))<=e then l1;
a3:=a(n,n);
a(n,n)=a(n,n)/a3;
a(n,n1):=a(n,n1)/a3;
x(n):=a(n,n1);
for i:=1 to n2;
k:=n-i;
x(k):=a(k,n1);
for j:=k to n2;
x(k):=x(k)-a(k,j+1)*x(j+1);
next j;
next i;
for i:=1 to n;
print x(i);
next i;
end;
label l1;
print "error";
end;

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