2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Исчезновение значащих цифр
Сообщение26.06.2008, 15:30 


08/05/08
954
MSK
Получается, часто, что результат приближенных вычислений в смысле оценки относительной погрешности хуже входных данных на порядки. Как например вычислить разность?
Заданы два числа 0,1234 и 0,1222 с верными значащими цифрами и приблизительно одинаковой погрешностью ( порядка 0,0001).

Разность чисел, равная 0,0012, имеет недостоверную в четвертом знаке после запятой.
Относительная погрешность результата сильно ухудшилась. Как этого избежать?

 Профиль  
                  
 
 Re: Исчезновение значащих цифр
Сообщение26.06.2008, 16:27 
Заслуженный участник


15/05/05
3445
USA
e7e5 писал(а):
Разность чисел, равная 0,0012, имеет недостоверную в четвертом знаке после запятой.
Относительная погрешность результата сильно ухудшилась. Как этого избежать?
В описываемом Вами примере никак не избежать.
При оценке применимости численных методов эта потеря точности всегда учитывается.

 Профиль  
                  
 
 Re: Исчезновение значащих цифр
Сообщение26.06.2008, 16:49 


08/05/08
954
MSK
Yuri Gendelman писал(а):
В описываемом Вами примере никак не избежать.
При оценке применимости численных методов эта потеря точности всегда учитывается.


А если эту разность как то иначе записать, в смысле, не считать как в школе считают. Допустим мы запишем что разность равна 0,1234 - 0,1222 в какой то иной форме представления. А когда дело дойдет до использования этой разности развернем ее в исходные данные. Тогда, авось, найдется еще какое нибудь-другое число или действие, которое не уничтожит значащие цифры?

 Профиль  
                  
 
 Re: Исчезновение значащих цифр
Сообщение26.06.2008, 17:01 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
e7e5 писал(а):
Тогда, авось, найдется еще какое нибудь-другое число или действие, которое не уничтожит значащие цифры?
В сумме 4 правильных знака после запятой, как и у слагаемых. Ничего нельзя сделать.

 Профиль  
                  
 
 
Сообщение26.06.2008, 17:03 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Неважно, как записывать. Суть от этого не меняется. Первое значение в любом случае может быть от 0.1233 до 0.1235, а второе - от 0.1221 до 0.1223. Значит, разность между ними объективно может быть от 0.0010 до 0.0014 и относительная погрешность велика.

 Профиль  
                  
 
 
Сообщение26.06.2008, 17:12 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
В принципе, Вы дело пишете. Есть некоторые приёмы. Например, вычислять выражение
$$\frac{ab}{a+b}$$
выгоднее по формуле
$$\frac{1}{1/a+1/b}$$
А находить сумму $\sum\limits_{k=1}^n\frac{1}{k}$ выгоднее с конца --- так будет точнее.

Но в Вашем случае конкретную рекомендацию дать невозможно. Может быть, просто погрешность является неустранимой, а может быть, от неё удастся избавиться каким-либо приёмом --- это полностью зависит от того, как потом эта разность используется.

Т.е. правильный путь получается такой: сначала полностью исследуется численные методы решения общей задачи или класса задач, и на этом этапе оцениваются погрешности округления, а потом метод реализуется с учётом этой погрешности. В учебниках по численным методам обычно таким вопросам уделяется серьёзное внимание.

 Профиль  
                  
 
 
Сообщение26.06.2008, 17:27 


08/05/08
954
MSK
worm2 писал(а):
Т.е. правильный путь получается такой: сначала полностью исследуется численные методы решения общей задачи или класса задач, и на этом этапе оцениваются погрешности округления, а потом метод реализуется с учётом этой погрешности. В учебниках по численным методам обычно таким вопросам уделяется серьёзное внимание.

Понимаю так, чем больше таких чисел будет вычитаться ( складываться), то возникновение результата максимальной погрешности или близкой к максимальной погрешности суммы будет совсем редким, менее вероятным. Это можно как то посчитать, когда поток входных цифр большой для вычислений?

Если к этим двум числам потом будут добавляться еще случайные, их, это весь ряд потом как то можно реорганизовать, чтобы не терять в точности?

 Профиль  
                  
 
 
Сообщение26.06.2008, 17:39 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Ещё раз пишу, что без знания полной математической постановки задачи (желательно, со схемой её численного решения) рекомендации дать нельзя.

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

Добавлено спустя 4 минуты 10 секунд:

Например, сумму чисел -10, 0.02, 11, -5, -4, 9, -0.7, 3, -2, -0.1, -1, 1.1, 0.9 я бы вычислял так:
A = -0.1-0.7-1-2-4-5-10
B = 0.02+0.9+1.1+3+9+11
Сумма = A+B

 Профиль  
                  
 
 
Сообщение26.06.2008, 17:46 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
worm2 писал(а):
Например, сумму чисел -10, 0.02, 11, -5, -4, 9, -0.7, 3, -2, -0.1, -1, 1.1, 0.9 я бы вычислял так:
A = -0.1-0.7-1-2-4-5-10
B = 0.02+0.9+1.1+3+9+11
Сумма = A+B
Зачем отдельно положительные складывать?
Получите, например, А - машинная бесконечность.
Что приобрели?

 Профиль  
                  
 
 
Сообщение26.06.2008, 17:55 


08/05/08
954
MSK
worm2 писал(а):
Например, сумму чисел -10, 0.02, 11, -5, -4, 9, -0.7, 3, -2, -0.1, -1, 1.1, 0.9 я бы вычислял так:
A = -0.1-0.7-1-2-4-5-10
B = 0.02+0.9+1.1+3+9+11
Сумма = A+B

Почему именно так, какую теорию можно подвести сюда?
Т.к каждое из чисел имеет погрешность, то будут возникать разные варианты, возможности, т.е можно составить таблицу для модуля погрешности суммы ( если разность заменили суммой) и числа случаев их реализации.

Тогда меня интересует вопрос, как такая таблица будет выглядеть при большом числе слагаемых? По какому закону будут распределяться эти случаи и почему?

 Профиль  
                  
 
 
Сообщение26.06.2008, 18:03 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
e7e5 писал(а):
Почему именно так, какую теорию можно подвести сюда?
Пока что Вы и worm2 говорите о совершенноо разных вещах. У Вас есть числа, заданные с погрешностью. Как их ни складывай (сложение точное!), результат будет иметь одинаковую погрешность. worm2 имеет в виду, что вычисления производятся на компьютере, в котором для хранения чисел отводится конечное число разрядов, отчего сама машинная арифметика неточна.

 Профиль  
                  
 
 
Сообщение26.06.2008, 18:16 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
TOTAL, Вы абсолюто правы! Я, действительно, почему-то с самого начала думал о погрешности округления, и только о ней :oops:

Тем не менее, не пропадать же добру :) выложу то, что уже успел набрать:

Вообще-то моя схема, наверное, не самая оптимальная.
Лучше, наверное, будет, когда при каждой операции складываются примерно одинаковые значения (одного знака).

Вообще смысл здесь в том, чтобы до последнего избегать сложения чисел разных знаков, а также, чтобы избегать сложения чисел, различающихся по порядку величины.

Если честно, общая теория минимизации погрешности округления при нахождении суммы чисел мне неизвестна. Это я из общих соображений написал.

 Профиль  
                  
 
 
Сообщение26.06.2008, 18:27 


08/05/08
954
MSK
PAV писал(а):
разность между ними объективно может быть от 0.0010 до 0.0014 и относительная погрешность велика.

Как то это все печально :( В цель так не попадем!
Если еще и компьютер будет погрешность вносить, совсем все плохо. Т.е каждый раз, для новой задачи нужно думать, как это все считать. :(

А если будет какая-то дополнительная информация, какое из значений предпочесть или распределение этих значений ( функция распределения), то это может повлиять на итоговую точность?
например
значение/ вероятность появления
0,0010 / 0,2
0,0011 /0,1
0,0012 /0,1
0,0013 /0,1
0,0014 /0,5

PS
Все еще сопротивляюсь... Представьте, что от этого зависит попадение в цель. А мы с такой погрешностью!

 Профиль  
                  
 
 
Сообщение26.06.2008, 18:45 
Заслуженный участник


11/05/08
32166
Детский вопрос: а зачем Вам вообще понадобилось вычитать друг из друга близкие числа? (это без необходимости как-то не принято)

 Профиль  
                  
 
 
Сообщение26.06.2008, 20:20 


08/05/08
954
MSK
ewert писал(а):
Детский вопрос: а зачем Вам вообще понадобилось вычитать друг из друга близкие числа? (это без необходимости как-то не принято)


Просто в одной книжке для школьников прочел о таком явлении, и подумал, что это очень странно.
Если "вычислитель" будет считать, он может и не заметить "сладкую парочку". А "парочки" могут и маскироваться наверное ( в книжке про замаскированный вид есть упоминание, но как все это разрешить - увы...). А потому нужно, как подумал, считать по другому, до тех пор пока не выяснится назначение вычислений ( конечная постановка задачи).
Согласитесь, что вычисления могут начаться, когда мы еще можем не знать конца задачи. Т.е их видимо придется по пути как-то корректировать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group