Форум: "Основная";
Поиск по всему сайту: 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.019 c
1-43098           alan                  2002-02-28 06:40  2002.03.14  
Где взять Indy???


14-43148          Dima Kopachev         2002-01-29 00:35  2002.03.14  
Компаненты как у Netscape v6


14-43140          Дима566               2002-01-29 16:39  2002.03.14  
ОН УМЕР!!!


7-43205           a                     2001-12-09 09:03  2002.03.14  
можно ли освободить com порт от мышки на ходу, т.е.


7-43208           Alexander Beliy       2001-12-10 14:18  2002.03.14  
Вопрос про модем