2014 dxdy logo

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

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




 
 Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 21:10 
Добрый вечер! Имеется следующее дифференциальное уравнение.
$k\dddot{y(x)}=\ddot{y(x)}-F(x)$, $F(x)$ - известная громоздкая функция, $k\sim10^{-20}$
Я знаю решение, удовлетворяющее данному диффуру. Хочу сравнить численное и аналитическое решения.
Однако решая данный диффур Рунге-Куттой 4, столкнулся с проблемой - решения не совпадают.
При небольшом изменении шага интегрирования решение вовсе "улетает".
Что это? Несходимость решения или какая-то неустойчивость?
Подскажите, как лучше всего это разрешить? Может, использовать какой-то другой численный метод?

 
 
 
 Re: Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 21:43 
Первая очевидная идея - использовать очень малый шаг по времени. Вторая - отмасштабировать задачу к характерным величинам для данной системы. Третья - использовать неявные методы. Два последних варианта можно (и рекомендуется) использовать вместе.

 
 
 
 Re: Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 21:44 
Аватара пользователя
AlexFuser, почему Вы не ответили на мои вопросы в предыдущей теме?

 
 
 
 Re: Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 21:49 
Для начала - избавиться от константы. Не знаю, формат какой точности Вы используете для своих данных, но, скорее всего, эта константа просто все зануляет.

 
 
 
 Re: Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 22:05 
Аватара пользователя
Попробовать решить аналитически.
AlexFuser в сообщении #1590975 писал(а):
При небольшом изменении шага интегрирования решение вовсе "улетает".
Что это? Несходимость решения или какая-то неустойчивость?

Уравнение "жёсткое".

-- Пн апр 24, 2023 23:10:57 --

AlexFuser в сообщении #1590975 писал(а):
Хочу сравнить численное и аналитическое решения.

Пропустил этот момент при чтении условия.
мат-ламер в сообщении #1590983 писал(а):
Попробовать решить аналитически.

Эту рекомендацию снимаю.

 
 
 
 Re: Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 22:26 
Pphantom в сообщении #1590978 писал(а):
Первая очевидная идея - использовать очень малый шаг по времени. Вторая - отмасштабировать задачу к характерным величинам для данной системы. Третья - использовать неявные методы. Два последних варианта можно (и рекомендуется) использовать вместе.

К сожалению, уменьшение шага ни к чему хорошему не приводит. А неявные методы посмотрю. Спасибо!

-- 24.04.2023, 22:28 --

Dedekind в сообщении #1590980 писал(а):
Для начала - избавиться от константы. Не знаю, формат какой точности Вы используете для своих данных, но, скорее всего, эта константа просто все зануляет.

При освобождении производной наивысшего порядка от константы путем переноса в правую часть получаются решения 20-го порядка

-- 24.04.2023, 22:31 --

мат-ламер в сообщении #1590983 писал(а):
Попробовать решить аналитически.
AlexFuser в сообщении #1590975 писал(а):
При небольшом изменении шага интегрирования решение вовсе "улетает".
Что это? Несходимость решения или какая-то неустойчивость?

Уравнение "жёсткое".

-- Пн апр 24, 2023 23:10:57 --

AlexFuser в сообщении #1590975 писал(а):
Хочу сравнить численное и аналитическое решения.

Пропустил этот момент при чтении условия.
мат-ламер в сообщении #1590983 писал(а):
Попробовать решить аналитически.

Эту рекомендацию снимаю.


Спасибо, попробую неявные методы

 
 
 
 Re: Проблемы с численным решением дифференциального уравнения
Сообщение24.04.2023, 23:07 
AlexFuser в сообщении #1590986 писал(а):
При освобождении производной наивысшего порядка от константы путем переноса в правую часть получаются решения 20-го порядка

А нужно освобождать не путем переноса, а путем подходящего выбора единиц измерения.

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group