Проблема точности (как повысить точность вычислений)

Проблема точности (как повысить точность вычислений) - Messages

#1 Posted: 11/8/2010 10:36:32 PM
hexware

hexware

0 likes in 10 posts.

Group: User

Есть формула: http://ioj.com/v/jab5d(картинка)
При попытке просчитать её же в Smath c максимально выкрученной точностью: http://ioj.com/v/sknp2
в live:
[LIVE width=329 height=156]http://smath.info/live/?file=1830[/LIVE]
Вольфрам считает корректно:
http://www.wolframalpha.com/input/?i=%28%28%2810^-14*%28cos%2810^-14%29^%281%2F3%29%29-sin%2810^-14%29%29%2F%2810^-14%29^5%29%2B1%2F45%29%2F33.5097*10^-32
#2 Posted: 11/14/2010 8:11:27 PM
Andrey Ivashov

Andrey Ivashov

2270 likes in 3734 posts.

Group: Super Administrator

Здравствуйте.

Немного потестировал Ваш пример и вижу, что SMath Studio считает верно, чего не сказать о Wolframalpha. Пример результата вычислений в маткаде:


А вот работа сайта wolframalpha.com выглядит странновато. При первом вычислении получается:


При уточнении результата ответ уже другой:


Поведение сайта крайне странное и объяснить я его никак не могу.

С уважением, Андрей Ивашов.
#3 Posted: 11/14/2010 9:48:55 PM
hexware

hexware

0 likes in 10 posts.

Group: User

Здравствуйте!
В том то и дело! Что mathcad, smath, matlab и многие другие пакеты считают этот пример неверно.
Верно вычислили только: PARI/GP (когда задаёшь точность более 80. Скрин: http://ioj.com/v/tdv4u), maple и Mathematica (wolframalpha при нажатии на more digits увеличивает точность вычислений).
Пакеты в который используется динамический precision, в вычислениях накапливают значительно меньше ошибок (если вообще накапливается ошибка). В Smath используется IEEE754 просто по умолчанию Double precision, как и другие пакеты считающие с ошибкой.
Предлагаю подумать на эту тему для повышения точности вычислений Smath. Думаю есть готовые типы для .net'a с реализацией динамических или с более широким диапазоном точности. Как вы видите ошибка накапливается очень большая.
#4 Posted: 11/15/2010 4:33:16 AM
Andrey Ivashov

Andrey Ivashov

2270 likes in 3734 posts.

Group: Super Administrator

Спасибо за пояснение! Проблему понял - что-нибудь придумаю.
#5 Posted: 12/5/2010 7:13:37 PM
hexware

hexware

0 likes in 10 posts.

Group: User

более точно по теме: http://en.wikipedia.org/wiki/Arbitrary-precision
  • New Posts New Posts
  • No New Posts No New Posts