Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
{ Њ ваЁжл § ¬Єгвле бЁб⥬ }
unit CLSY;
interface
uses ALG,GB;
procedure CLSYR(n:integer;A,B,Rx :matr;var Acr:matr);
procedure CLSYH(n:integer;A,C,Hx :matr;var Ach:matr);
procedure CLS (n:integer;A,B,C,Rx,Hx:matr;var Ao :matr);
implementation
{ б®Ўб⢥ п ¬ ваЁж § ¬Єгв®© бЁб⥬л }
{ б ॣг«пв®а®¬ б®бв®пЁп }
{ Acr=A-B*Rx }
procedure CLSYR(n:integer;A,B,Rx:matr;var Acr:matr);
var i,j :integer;
BR :matr;
begin
MUL(n,1,n,B,Rx,BR);
for i:=1 to n do for j:=1 to n do BR[i,j]:=-BR[i,j];
ADD(n,n,A,BR,Acr);
end;
{------------------------------------------------}
{ б®Ўб⢥ п ¬ ваЁж Ў«о¤ ⥫п б®бв®пЁп }
{ Ach=A-Hx*C }
procedure CLSYH(n:integer;A,C,Hx:matr;var Ach:matr);
var i,j :integer;
HC :matr;
begin
MUL(n,1,n,Hx,C,HC);
for i:=1 to n do for j:=1 to n do HC[i,j]:=-HC[i,j];
ADD(n,n,A,HC,Ach);
end;
{------------------------------------------------}
{ б®Ўб⢥ п ¬ ваЁж § ¬Єгв®© бЁб⥬л }
{ б ॣг«пв®а®¬ б®бв®пЁп Ё Ў«о¤ ⥫Ґ¬ }
{ Ao=Ю Acr B*Rx Ю }
{ Ю 0 Ach Ю }
procedure CLS(n:integer;A,B,C,Rx,Hx:matr;var Ao:matr);
var i,j :integer;
Acr,Ach,BR :matr;
begin
CLSYR(n,A,B,Rx,Acr);
CLSYH(n,A,C,Hx,Ach);
MUL(n,1,n,B,Rx,BR);
for i:=1 to n do for j:=1 to n do
begin
Ao[ i, j]:=Acr[i,j];
Ao[ i,n+j]:=BR [i,j];
Ao[n+i, j]:=0;
Ao[n+i,n+j]:=Ach[i,j];
end;
end;
{------------------------------------------------}
end.
Соседние файлы в папке curstau