Оптимизация технологических процессов органического синтеза. Бочкарев В.В. - 183 стр.

UptoLike

Составители: 

183
s :array [1..21] of real;
K1 :integer;
{***************************************************************}
procedure revers;
label L4,L5,L8;
var i,j,index,K2: integer;
begin
if a[K1,K1]<>0 then goto L5;
(* определение ненулевого элемента *);
for i:=K1 to n do
begin
index:=i; if a[i,K1]<>0 then begin K2:=i; goto L4; end { end if }
end; (* end for *);
if index=n then begin
writeln('ранг матрицы = 0');
Halt;
end;
L4:(*перестановка строк*);
for i:=1 to n do begin
s[n+1]:=a[K1,i];
a[K1,i]:=a[K2,i];
a[K2,i]:=s[n+1];
end;(* end for *);
L5:s[n+1]:=a[K1,K1];
for i:=1 to n do begin;
s[i]:=a[i,K1];
x[i]:=a[K1,i];
end;{ end for }
for i:=1 to n do
for j:=1 to n do
begin
if i=K1 then
if j=K1 then
begin a[i,j]:=1/s[n+1]; goto L8; end
else
begin a[i,j]:=-a[i,j]/s[n+1]; goto L8;
end
else
if j=K1 then
begin a[i,j]:=a[i,j]/s[n+1]; goto L8; end
else
a[i,j]:=a[i,j]-s[i]*x[j]/s[n+1];
L8:
end; { end for i,j }
end;(* end revers *)
{***************************************************************}
begin
K1:=1;
while K1<=n do begin
revers;
K1:=K1+1;
end { end while }
end; { end rmatr }
{***************************************************************}
begin
iteration:=0; m:= 50; MinSqrF:=1.0E+37; eps:=e*20;
nachalo:
systemUraw; MinSqrFunc;
if (iteration>3) and (SummaSqr>sb) then
begin
Created with novaPDF Printer (www.novaPDF.com)