Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вычисление определителя матрицы

8.9K
13 апреля 2005 года
malush
6 / / 03.04.2005
Пишу курсовую, надо прогу для нахождения детерминанта матрици n-порядка на Бейсике или Паскале. Напишите кому не лень
4
13 апреля 2005 года
mike
3.7K / / 01.10.2002
При определении:

 
Код:
det A= sum (-1)^x*a[1,s1]*a[2,s2]...a[n,sn].


где сумма распространена на всевозможные перестановки (s1..sn), элементов 1,2,...n, причем x=0, если перестановка четная и x=1 иначе.

Вот на Delphi:

Код:
function TMatrix.Det:extended;
var Size,C,R:integer; K:extended; Check:boolean;
begin
  if fCols <> fRows then begin Result:=0.0; Exit end;
  Result:=1.0; Size:=fCols;
  while Size > 1 do begin
    if abs(M[Size-1,Size-1]) <= 1e-100 then begin
      Check:=false;
      for R:=0 to Size-2 do if abs(M[Size-1,R]) > 1e-100 then begin
        Check:=true; for C:=0 to Size-1 do M[C,Size-1]:=M[C,Size-1]+M[C,R]
      end;
      if not Check then begin Result:=0.0; Break end
    end;
    for R:=0 to Size-2 do begin
      K:=-M[Size-1,R]/M[Size-1,Size-1];
      for C:=0 to Size-1 do M[C,R]:=M[C,R]+K*M[C,Size-1]
    end;
    Result:=Result*M[Size-1,Size-1]; Dec(Size)
  end;
  Result:=Result*M[0,0]
end;


Подробнее тут:
http://groups.google.com/groups?hl=ru&lr=&frame=right&th=37a5cd4af187e705&seekm=010d01c1b6ca%24a163b600%241f0c10ac%40isu.runnet.ru#s
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог