Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > присоединенной матрицы


Автор: Axenia 22.5.2013, 19:33
Всем привет!
Памагите праграмировати в Delphi рещение присоединенной матрицы

Автор: Poseidon 22.5.2013, 20:25
Четко сформулируйте всой вопрос. Покажите что Вы сделали самостоятельно для его решения. Иначе Вам просто тут ничего не не смогут подсказать.

Автор: Axenia 23.5.2013, 16:28
вот щто я зделала для обратной матрицы и ни палучяеца

Автор: Beltar 23.5.2013, 18:52
Весь проект смотреть долго, привидите, пожалуйста, проблемный код с описанием ожидаемого результата и получаемого.

Автор: Axenia 23.5.2013, 19:22
 процедура ,,procedure Inversa,, далжна вычисляти обратной матрицы
Код

{$R *.dfm}
type matrice=array of array of extended;

function Determinant(A:matrice):extended;
var det:extended;
    n,k,i,j:integer;
    M:matrice;

begin
n:=high(A);
setlength(M,n,n);
if n=0 then Determinant:=A[0,0] {caz elementar}
  else
    begin

    det:=0;
    for k:=0 to n do
      begin

        for i:=0 to n-1 do
        for j:=0 to k-1 do M[i,j]:=A[i+1,j];

        for i:=0 to n-1 do
        for j:=k to n-1 do M[i,j]:=A[i+1,j+1];
        if odd(k) then det:=det-A[0,k]*Determinant(M)
          else det:=det+A[0,k]*Determinant(M);
        end;
        Determinant:=det;
    end;
end;

procedure Inversa(A:matrice;var Inv:matrice);
var minor:matrice;
    detmin,det:Extended;
    n,i,j,kx,ky:Integer;
begin
  n:=High(A);
  SetLength(minor,n,n);
  for i:=0 to n do
  for j:=0 to n do
  begin
    for kx:=0 to i-1 do
    begin
    for ky:=0 to j-1 do
    minor [kx,ky]:=A[i,j];
    for ky:=j to n-1 do
    minor[kx,ky]:=A[i,j+1];
  end;
  for kx:=i to n-1 do
  begin
    for ky:=0 to j-1 do minor[kx,ky]:=A[i+1,j] ;
      for ky:=0 to n do minor[kx,ky]:=A[i+1,j+1];
  end;
  det:=Determinant(A);
  detmin:=Determinant(minor);
  if Odd(i+1) then Inv[j,i]:=-detmin/det
  else
  Inv[j,i]:=detmin/det;
end;

end;



M
Poseidon
при вставке кода пользуйтесь кнопкой "Код"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)