Форум: "Основная";
Поиск по всему сайту: 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
14-43185          ilysha                2002-01-27 18:57  2002.03.14  
Всего анкет: 3621 мужчин: 3486, женщин: 135


3-42944           _Oleg_                2002-02-15 08:33  2002.03.14  
Картинки в БД ...


1-43065           Demon ltd             2002-02-26 23:43  2002.03.14  
Работа с Инстал Шилдом


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


14-43160          Егор                  2002-01-31 04:23  2002.03.14  
DCOM от А до Я