Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 9 ] |
|
Автор | Сообщение | |
---|---|---|
searcher |
|
|
|
||
Вернуться к началу | ||
searcher |
|
|
Тема почти мистическая. Явно витает ореол таинственности. Огромное разнообразие методов. И, главное, огромное разнообразие суждений об этих методах, которые противоречат друг другу. Я думаю, что это нормально для активно развивающейся области науки. Для введения в предмет можно взять книгу Бордовициной Т.В. "Современные численные методы в задачах небесной механики" и книги Авдюшева. Собственно по методам решения дифференциальных уравнений (для различных областей применения) есть книги Арушаняна, Батчера, Хайрера и множество других. Проиллюстрирую мистичность для начала на примере методов Рунге-Кутты. Бордовицина пишет, что метод Рунге-Кутты 4-го порядка недостаточен для задач небесной механики. Попробуем увеличить порядок метода. И тут возникает сложность, что для определения коэффициентов метода Рунге-Кутты нужно для начала составить некоторую систему нелинейных уравнений. Уже это непросто. Ну, допустим сделали это. После чего возникает гораздо более нетривиальная задача эту систему решить. Причём система может и не иметь решения. Тогда приходится увеличивать количество стадий метода. И система может иметь множество решений. В этом случае исследователь находит какое-то одно. Публикует его в виде некоторой матрицы коэффициентов. Хорошо, если без опечатков. А то всякое бывает. И тут возникает любопытный вопрос. А если у нас есть множество методов, которые зависит от нескольких параметров, как выбрать из них наилучший? И в каком смысле наилучший? Метод, который может выглядеть точнее, может показывать худшую устойчивость. И тут возникает мнение, что вообще явные методы демонстрируют плохую устойчивость и надо переходить к неявным методам. И тут возникает нетривиальный вопрос, а как организовать вычисления в неявных методах, чтобы они выполнялись не слишком долго. И тут возникает мнение, что вообще методы Рунге-Кутты в принципе весьма трудозатратные (по количеству вычислений) и не самые точные. И надо искать другие. И т. д. и т.п.
|
||
Вернуться к началу | ||
Emphatic18 |
|
|
А вопрос в жесткости задачи? Такое, как вариант, может наблюдаться при малых изменениях одной переменной одновременно с большими изменениями других. Явные методы на жестких задачах могут требовать очень большого числа шагов и при этом не давать необходимую точность, а при относительном крупном шаге "идти в разнос". Но очень большое число шагов как затратно по времени так и может отрицательно повлиять на точность решения по причине ограниченной "машинной точности" при работе с очень маленьким шагом. Неявные методы здесь работают лучше, есть неявные методы Рунге-Кутты высоких порядков, хотя не до бесконечности, методы Гира или Розенброка. Неявные методы малых порядков (1-2) менее точны, зато они А-устойчивы. Неявные методы сами по себе более затратны по вычислениям на каждом шаге, зато на жестких задачах не обязательно сильно уменьшать шаг и как результат можно обойтись на порядки меньшим числом шагов при решении всей задачи.
Задачи "средней" жесткости можно решать и явными способами простым увеличением количества шагов или, для сокращения времени вычислений, применять методы с переменным шагом интегрирования при которых на каждом шаге осуществляется контроль точности и, при необходимости, регулирование величины шага (на "жестких" участках шаг уменьшается, на "мягких" увеличивается). Иногда может помочь масштабирование задачи, без изменения самой системы ДУ. |
||
Вернуться к началу | ||
Emphatic18 |
|
|
Попробовал решить Вашу систему явным методом РК-4.
[math]\left\{\!\begin{aligned} & x'=y \\ & y'=-x \end{aligned}\right.[/math] Но вроде бы ошибки такой не получается. Но не знаю полного условия задачи которую Вы тестировали. Я на промежутке 0...100 прогнал при начальных условиях x = 1, y = 1. Если у Вас другие условия напишите, будет интересно изучить вопрос. |
||
Вернуться к началу | ||
searcher |
|
|
Emphatic18 писал(а): Но вроде бы ошибки такой не получается. Но не знаю полного условия задачи которую Вы тестировали. Я на промежутке 0...100 прогнал при начальных условиях x = 1, y = 1. Если у Вас другие условия напишите, будет интересно изучить вопрос. Я не думал, что кто-то попытается повторить мои вычисления. Поэтому не полностью их описал. У меня отрезок интегрирования был от 0 до 100000 с шагом 0.1. То есть, если эта модель соответствует круговому вращению лёгкого тела вокруг массивного неподвижного, то это получается 15915 оборотов и 62.8 шага на оборот (примерно). Начальные условия: [math]x(0)=1[/math] , [math]y(0)=0[/math] . Emphatic18 писал(а): А вопрос в жесткости задачи? А тут вопрос для меня неясный. Понятно, что в той модели, что я привёл в первом посту, никакой жёсткости нет. А вот если моделировать реальное движение планет вокруг Солнца, то тут временами местами возникает жёсткость. Это когда две планеты сближаются между собой. Жёсткость тут не очень сильная. Но со временем она накапливается. Если моделировать солнечную систему на миллионы лет вперёд, то оказывается за эти миллионы лет возникает непредсказуемость поведения. И малые ошибки в начальных данных вырастают за эти миллионы лет в ошибки гигантские. И хотелось бы, чтобы численные методы интегрирования несильно бы портили тут картину (если это вообще возможно). Пока думаю про методы Рунге-Кутты явные и неявные и не только 4-го порядка. Дело в том, что это одношаговые методы и поэтому обладают массой удобств. Они сами стартуют. В любой метод времени можно изменить размер шага как угодно. Более того, этот размер шага может быть разный для каждой планеты. То есть, если две планеты близко подходят к друг к другу, мы можем дополнительно промоделировать взаимодействие только этих двух планет с более мелким шагом и более высокой точностью. Мы можем слегка модифицировать метод с целью соблюдения физических законов сохранения на каждом шаге. Мы можем контролировать точность вычисления. Как со всем этим обстоит в других методах, я не знаю. Но их не сбрасываю со счетов и буду постепенно с ними знакомиться. |
||
Вернуться к началу | ||
Emphatic18 |
|
|
Чуть позже позанимаюсь подробнее, но пока увидел вот что. Помимо суммы квадратов переменных, которая должна быть равна 1 для данного примера, нужно смотреть еще и на приходящую к концу вычислений фазу, она от накопления погрешности может "уезжать" на столь больших промежутках интегрирования, а это значит что планета окажется не в том месте. Поэтому тестировать лучше для окончания диапазона кратного [math]\pi[/math] . Тогда при правильном решении на выходе должно получаться [math]X=0[/math], [math]Y=1[/math].
|
||
Вернуться к началу | ||
Emphatic18 |
|
|
Попалась лецкия о численных методах решения систем ДУ, если интересно посмотрите (если еще не видели).
searcher, по вашей системе сделал кое какие наброски по разным методам, в силу своих скромных возможностей, посмотрите в личке. У меня здесь такое мнение. При огромном промежутке интегрирования можно и нужно увеличивать число шагов или заданную точность, смотря как задается, и применять методы более высоких порядков, что бы не делать шаг слишком мелким. Хоть жесткие методы, хоть нежесткие, здесь вероятно конкретную систему ДУ нужно рассматривать с предварительным тестированием. Но все упирается во время вычислений. Если время будет получаться через чур большим, то вероятно нужно рассматривать варианты с распараллеливанием вычислений, если для решения систем ДУ такие методы существуют и если они эффективны, но я такими методами не знакомился. |
||
Вернуться к началу | ||
Elphen Lied |
|
|
searcher
В принципе, можно сразу запрогать уравнение Ньютона и ковыряться в методе интегрирования. В книжке Бородовиценной все не так просто. Рунге - Кутта 4-го порядка очень хорошо считает движение небесных тел, с небольшими ошибками, но взяв шаг в 0.01 вы обрекли себя на накопление ошибок. Слишком крутой шаг вы взяли. Я бы брал от 30 секунд. А если интересна эта тема то есть книжка П. Даффет-Смит, Практическая астрономия с калькулятором и Оливер Монтенбрук, Томас Пфлегер, Астрономия на персональном компьютере. Для более точных расчетов лучше использовать эфемериды, на сайте JPL NASA лежат, с точностью до угловых секунд. |
||
Вернуться к началу | ||
searcher |
|
|
Elphen Lied
Спасибо за информацию! Книги как-то раньше закачивал. Надо будет посмотреть. |
||
Вернуться к началу | ||
[ Сообщений: 9 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Моделирование процесса | 4 |
372 |
21 дек 2015, 16:00 |
|
Имитационное моделирование
в форуме Теория вероятностей |
0 |
233 |
24 дек 2017, 21:49 |
|
Математическое моделирование | 1 |
234 |
30 апр 2020, 00:03 |
|
Моделирование сознания
в форуме Объявления участников Форума |
0 |
370 |
26 июн 2015, 10:40 |
|
Математическое моделирование | 1 |
227 |
30 ноя 2020, 16:27 |
|
Имитационное моделирование | 0 |
228 |
23 окт 2018, 03:10 |
|
Математическое моделирование СМО
в форуме Теория вероятностей |
2 |
401 |
31 мар 2016, 10:19 |
|
Математическое моделирование
в форуме Численные методы |
1 |
181 |
27 фев 2020, 17:06 |
|
Математическое моделирование
в форуме Электричество и Магнетизм |
1 |
498 |
27 мар 2021, 15:43 |
|
Моделирование RC- цепи
в форуме Электричество и Магнетизм |
0 |
434 |
19 ноя 2017, 00:18 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |