Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Вниз

Определитель   Найти похожие ветки 

 
Magic   (2002-09-27 17:32) [0]

Не могу понять, почему?!
Написал алгоритм определения детерминанта матрицы:
const
A: array [1..3,1..3] of real =
((11,8,-1),
(-1,-3,2),
( 3, 2,3));
var
i,j,n,v: integer;
m,q,w,e: real;
begin
n:=1;
for i:=1 to 2 do
begin
for j:=i+1 to 3 do
begin
m:=A[i,n]/A[j,n];
for v:=n to 3 do
begin
q:=-1*A[j,v]*m;
w:=A[i,v];
e:=q+w;
A[j,v]:=A[i,v]+(-1)*A[j,v]*m;
end
end;
n:=n+1
end
end.
Если элемент A[1,1] заменить на 13, то ни чего не выходит. В других случаях работает нормально. Переменные q, w и e я ввел просто для того, чтобы наблюдать шаги вычисления. Этот алгоритм я проверял и на простом паскале: то же самое. Не пойму в чем проблема.


 
pasha_golub   (2002-09-27 20:11) [1]


> m:=A[i,n]/A[j,n];

А почему поделить? В детерминанте только умножение и вычитание!!!


 
Magic   (2002-10-01 11:45) [2]

Потому что это LU-разложение (метод Гаусса). Ошибка только в том, что нужно запоминать все множители m, чтобы поделить на него получившийся определитель... В общем, это математика.
Но проблема не в этом. Я не пойму, почему + работает не правильно? Попробуй сам.


 
han_malign   (2002-10-01 12:06) [3]

поробуй заменить циклы на while, потому как я не раз напарывался на то, что оптимизатор самовольно меняет параметры for местами и идет от большего к меньшему(а инкремент n у тебя делается руками и от оптимизатора не зависит).


 
Kopetr   (2002-10-01 12:09) [4]

А в алгоритме ошибки нет? Что-то я не вижу ни L, ни U.
(Для матрицы А вычисляется разложение вида А = L*U, где L, U - треугольные матрицы, матрица L имеет единичные диагональные элементы....)


 
Magic   (2002-10-01 12:51) [5]

Хорошо, согласен, Kopetr. Матриц нет. Но это точно метод Гаусса для решения систем уравннений. Хотя, в общем, это не имеет значения. Просто мне нужно привести матрицу к треугольному виду.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.03 c
1-31840
PaRL
2002-09-28 16:58
2002.10.10
---|Ветка была без названия|---


4-32062
Степан
2002-08-23 13:33
2002.10.10
Список открытых окон


3-31619
VIT_K
2002-09-19 11:12
2002.10.10
Объединение таблиц


7-32044
Сергей А.
2002-08-02 23:22
2002.10.10
Голосовой модем


1-31848
MC TOL
2002-09-27 16:33
2002.10.10
Direct Oracle Access for Delphi 7?!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский