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




Вниз

Большие числа с плавающей точкой 


POMAH   (2002-02-27 13:04) [0]

Требуется библиотека, содержащая реализацию и процедуры работы с сабжем Задача - решение систем уравнений больших порядков -> стандартных типов уже не хватает. Рассмотрю любые предложения :-)
Заранее спасиба.



Виктор Щербаков   (2002-02-27 13:12) [1]

А какие методы используешь для решения систем?



POMAH   (2002-02-27 13:19) [2]

Матричный.



Alx2   (2002-02-27 13:22) [3]

Так, наверное, нормировать систему можно, чтобы числа большими не были?



POMAH   (2002-02-27 13:28) [4]

Нужна большая точность(порядка 10 знаков после запятой), которая пропадает, например, в процессе нахождения обратной матрицы



Виктор Щербаков   (2002-02-27 13:40) [5]

Хорошо, а как ты обратную матрицу находишь?
Вычисляешь ли для этого определитель?



POMAH   (2002-02-27 13:51) [6]

:-) Да. Причём всё работает нормально, пока размер мантиссы числа <= ABS(порядка экспонеты). Проверято на маткаде и екселе. Маткад считает правильно, а у моей процедуры и у екселя результат одинаковый(неверный). Юзал extended - с даблом ещё хуже :-(



Виктор Щербаков   (2002-02-27 14:05) [7]

Для решения систем линейных уравнений не обязательно вычислять определитель матрицы системы. Попробуй порешать методом Гаусса с выбором ведущего элемента.



POMAH   (2002-02-27 14:12) [8]

Да, я как раз об этом думаю. Но всётаки вопрс по прежнему открыт. В данный момент нужен также интерфейс маткада(хоть через него сделать чтоли).



Виктор Щербаков   (2002-02-27 14:20) [9]

На самом деле метод Гаусса тоже неидеален. У полученного с его помощью решения может быть плохая точность если матрица плохо обусловлена. Т.е. незначительные изменения элементов матрицы (неизбежные в машинных вачислениях) приводят к неприемлемым отклонениям решения. Лучше использовать метод регуляризации Тихонова или SVD.

О проблеме точности возникающей при решении систем линейных уравнений и методах её решения подробно написано в

Форсайт Дж., Малькольм М., Моулер Е. Машинные методы математических вычислений. М.: Мир, 1980.



pasha_golub   (2002-02-27 14:22) [10]

Домножь числа так, чтобы не было дробных и используй longint, после этого переведи обратно.




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




Наверх





Память: 0.73 MB
Время: 0.023 c
1-43038           GFD                   2002-02-26 15:15  2002.03.14  
Не могу установить курсор мыши на нужную кнопку


14-43142          Dimka Maslov          2002-01-29 09:54  2002.03.14  
Неисповедимы пути его...


1-43022           nick_vstu             2002-03-01 02:40  2002.03.14  
Что делает TSomeType.Create?


1-43102           A.L.                  2002-02-14 14:05  2002.03.14  
Form2.Parent:= Form1


4-43214           metakon               2002-01-12 03:03  2002.03.14  
Как отключить клавиатуру и мышку?