6 / 6 / 0
Регистрация: 11.07.2011
Сообщений: 122
1

Точность вычислений 10^30 - 10^(-30)

11.11.2014, 09:26. Показов 561. Ответов 11
Метки нет (Все метки)

Здравствуйте, скажите пожалуйста, можно ли в какой либо программе, или на супер компьютере проводить вычисления примерно такого порядка https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{30}-10^{-30} ?

Обычные математические пакеты, такие как scialb например, не справляются с этим (https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{30}-10^{-30} = 10^{30})
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2014, 09:26
Ответы с готовыми решениями:

Точность вычислений, значащие цифры
Как это можно узнать, может быть какую-нибудь методичку посоветуете? есть чиса A = число в...

точность вычислений
Известно что в Питоне: 1.001 + 5 = 6.0009999999999994 А хочется чтобы было 6.001 ...

Точность вычислений
Здравствуйте уважаемые форумчане. Если в матлабе вычислить такое выражение 0.05+0.001 == 0.051 ...

Точность вычислений
Почему в программе при написании float A = 28.8; float B = 19.6;в отлатчике видим A =...

11
Заблокирован
11.11.2014, 09:36 2
foxis, точность порядка https://www.cyberforum.ru/cgi-bin/latex.cgi?{10}^{30} - {10}^{-30}. Как вы это себе представляете? Может быть https://www.cyberforum.ru/cgi-bin/latex.cgi?{10}^{-30}?
0
6 / 6 / 0
Регистрация: 11.07.2011
Сообщений: 122
11.11.2014, 09:47  [ТС] 3
Ev_Hyper, т.е. при правильном расчете должно быть:
https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{30} - 10^{-30} = 0.99999999999999999999999999999 * 10^{30}

Компиляторы (например с++ или scilab) могут по отдельности хранить такие значения как https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{30} или https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{-30}, но вот складывать их вместе не могут, поэтому и получается, что
https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{30} - 10^{-30} = 10^{30}
0
2431 / 1831 / 404
Регистрация: 15.12.2013
Сообщений: 8,112
11.11.2014, 10:04 4
foxis, это значит,что с такой точностью вычисления не проводятся.
Посмотрите в сторону длинной арифметики.
1
Заблокирован
11.11.2014, 10:09 5
Цитата Сообщение от foxis Посмотреть сообщение
Ev_Hyper, т.е. при правильном расчете должно быть:
foxis, В таком случае https://www.cyberforum.ru/cgi-bin/latex.cgi?{10}^{-30} пренебрегают, как малозначимой.
А что вы рассчитываете, что точность у вас такого порядка?
0
6 / 6 / 0
Регистрация: 11.07.2011
Сообщений: 122
11.11.2014, 10:15  [ТС] 6
Спасибо, S_el.
Вопрос тогда такой, а различные вычислительные центры с мощными компьютерами в данном случае могут помочь или тут вопрос исключительно программный ?

Добавлено через 6 минут
Ev_Hyper, понятно что в повседневных задачах такой точностью можно пренебречь, однако в моем случае она необходима.

В частности, нужно решить систему уравнений (нелинейных), решаю методом Ньютона, в ходе решения корни достигают значений https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{10} - 10 ^{30}. Чтобы найти матрицу Якоби нужно вычесть очень малое число порядка https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{-10} - 10 ^{-15}. Когда такая большая разница между числами компилятор перестает правильно считать и возникают проблемы.
0
2431 / 1831 / 404
Регистрация: 15.12.2013
Сообщений: 8,112
11.11.2014, 10:21 7
Цитата Сообщение от foxis Посмотреть сообщение
Вопрос тогда такой, а различные вычислительные центры с мощными компьютерами в данном случае могут помочь или тут вопрос исключительно программный ?
Дело не в мощности машины,а в способах хранения информации.
Вот ваш пример с использованием длинной арифметики на Perl:

Perl
1
2
3
4
5
6
7
8
9
10
11
12
use strict;
use Math::BigFloat;
 
my $number= Math::BigFloat->new(10);
my $numbertwo=Math::BigFloat->new(10);
$number->bpow(30);
$numbertwo->bpow(-30);
print"$number","\n";
print"$numbertwo","\n";
my $newnumb = Math::BigFloat->new();
$newnumb= $number-$numbertwo;
print "$newnumb";
1
6 / 6 / 0
Регистрация: 11.07.2011
Сообщений: 122
11.11.2014, 10:30  [ТС] 8
ок, спасибо большое, S_el.
0
68 / 56 / 14
Регистрация: 20.12.2013
Сообщений: 551
12.11.2014, 01:14 9
foxis, Mathematica, Maple и т.п. не смотрели?
Цитата из инета: "Mathematica имеет высокую скорость и практически не ограниченную точность вычислений...".
1
6 / 6 / 0
Регистрация: 11.07.2011
Сообщений: 122
12.11.2014, 10:14  [ТС] 10
Спасибо, AndrSlav, но то что вы перечислили это все проприетарное ПО мне нужно, что-нибудь бесплатное.
0
Модератор
Эксперт по математике/физике
4210 / 3405 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
12.11.2014, 12:49 11
Цитата Сообщение от foxis Посмотреть сообщение
решаю методом Ньютона, в ходе решения корни достигают значений https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{10} - 10 ^{30}. Чтобы найти матрицу Якоби нужно вычесть очень малое число порядка https://www.cyberforum.ru/cgi-bin/latex.cgi?10^{-10} - 10 ^{-15}
Подобное поведение результатов обычно служит признаком численной неустойчивости алгоритма (малые знаменатели, матрицы, близкие к вырожденным, и т.п.). Поэтому вряд ли можно полагаться на результат, даже если он будет получен. Конкретнее трудно сказать, не видя самих уравнений и попыток их решения.
0
7 / 7 / 0
Регистрация: 22.06.2014
Сообщений: 15
12.11.2014, 17:54 12
с++ вам в помошь, а вообще в маткаде 15 знаков после запятой. я когда учился нам препод ставил задучки на численные методы, точность маткада проверять с помошью с++))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2014, 17:54
Помогаю со студенческими работами здесь

Точность вычислений
Для проверки точности вычислений существуют формулы и калькулятор на 200000 знаков до и после...

точность вычислений и быстродействие
Добрый день! В моей программе производится много вычислений с числами в формате extended. Их...

Точность вычислений у double
Дана задача: "Определить, на сколько нулей заканчивается факториал числа n". Пример: вводим "25",...

Точность вычислений в фортране
Если я использую real (8), то имею точность вычислений 16 знаков. А если мне нужно получить больше....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru