Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
17.04.2013
Размер:
2 Кб
Скачать

          {  Њ ваЁжл § ¬Є­гвле бЁб⥬  }


  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