2014 dxdy logo

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

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


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


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

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

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



Начать новую тему Ответить на тему
 
 Алгебраическое суммирование близких величин
Сообщение11.08.2015, 20:43 
Заслуженный участник
Аватара пользователя


31/10/06
371
РФ, РК, г.Симферополь
Здравствуйте!
При численном решении полевой задачи возникает классическая проблема суммирования двух близких по величине, но противоположных по знаку полей. Соответственно незначительная погрешность вычислений каждой составляющей приводит к сильной погрешности результата суммирования. Подскажите, как поступают в таких случаях.

 Профиль  
                  
 
 Re: Алгебраическое суммирование близких величин
Сообщение12.08.2015, 00:00 
Заслуженный участник
Аватара пользователя


01/03/06
13626
Москва
Как может быть такое: "незначительная погрешность вычислений каждой составляющей приводит к сильной погрешности результата суммирования"? Очевидно, что абсолютная погрешность суммы всегда не превосходит суммы абсолютных погрешностей слагаемых, а их только две, и они обе - "незначительные"! :shock:

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


09/09/14
6328
Представляется само собой разумеющимся, что речь идёт об относительной погрешности.
Fgolm в сообщении #1044609 писал(а):
Подскажите, как поступают в таких случаях.

Ну здесь сложно предложить что-то небанальное. Или увеличить точность до необходимой или попытаться преобразовать каким-то образом использованные математические выражения (классический же пример: при вычислении $e^{-x}, x>0,$ разложением в ряд сперва вычислить $e^x$, а потом уже делить на это единицу; так мы избавляемся от знакопеременности слагаемых).

 Профиль  
                  
 
 Re: Алгебраическое суммирование близких величин
Сообщение12.08.2015, 00:23 
Заслуженный участник


09/05/12
25179
Fgolm в сообщении #1044609 писал(а):
При численном решении полевой задачи возникает классическая проблема суммирования двух близких по величине, но противоположных по знаку полей. Соответственно незначительная погрешность вычислений каждой составляющей приводит к сильной погрешности результата суммирования. Подскажите, как поступают в таких случаях.
Универсальный рецепт (но, боюсь, малопригодный в конкретном случае именно ввиду универсальности) - перед счетом преобразовать выражения к виду, при котором потребность в вычислении разности близких величин пропадет. А для чего-то более конкретного нужна более конкретная постановка задачи.

 Профиль  
                  
 
 Re: Алгебраическое суммирование близких величин
Сообщение12.08.2015, 00:30 


10/08/15

41
Fgolm
Посмотрите книжку Дж. Форсайта "Машинные методы математических вычислений" 1980-го года, начиная с пункта 2.4 Неустойчивость некоторых алгоритмов.

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


31/10/06
371
РФ, РК, г.Симферополь
Brukvalub
пример: допустим вычисления дают следующие значения 2250-2248=2
Пусть второе число является точным (задано, а не получено в результате вычислений или вычисляется с заведомо высокой точностью), а первое является результатом сложных вычислений. Допустим я увеличиваю дискретизацию в своей задаче и получаю изменение первого числа на 1% (второе число не изменилось): 2227,5-2248=-20,5. Какой из результатов правильный?
grizzly, Pphantom
Решается численно трёхмерная задача на распределение вихревых токов в проводнике сложной формы. Индуктор создаёт первичное поле, которое возбуждает в проводнике вихревые токи, поле которых противоположно по знаку первичному. Необходимо найти суммарное поле. Первичное поле считается довольно точно, а поле вихревых токов находится сложным образом и зависит от дискретизации расчётной области. В ходе расчётов я решал модельную задачу: уменьшал пропорционально размеры расчётной области и устанавливал достаточное разбиение. Затем увеличивал эту область до требуемых размеров с сохранением шага разбиения. Оказалось, что разбиений получается слишком много для моего компьютера. То есть пока не могу обеспечить требуемого разбиения. Но я подумал, может есть какой-то способ, чтобы по мере увеличения разбиения результат суммирования менялся по крайней мере "плавно". Чтобы хотябы увидеть к чему он стремится

 Профиль  
                  
 
 Re: Алгебраическое суммирование близких величин
Сообщение12.08.2015, 01:22 
Заслуженный участник


09/05/12
25179
Fgolm в сообщении #1044720 писал(а):
Допустим я увеличиваю дискретизацию в своей задаче и получаю изменение первого числа на 1% (второе число не изменилось): 2227,5-2248=-20,5. Какой из результатов правильный?
Оба правильные. :D Формально Вы же получаете не один результат, а интервал допустимых результатов.
Fgolm в сообщении #1044720 писал(а):
Но я подумал, может есть какой-то способ, чтобы по мере увеличения разбиения результат суммирования менялся по крайней мере "плавно". Чтобы хотябы увидеть к чему он стремится
Нет, более того, Вы можете столкнуться с тем, что при увеличении размеров сетки результаты начнуть "скакать" сильнее. Нужно придумывать какую-то регуляризацию для вычисления вихревых токов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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



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

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


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

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