Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 6 ] |
|
Автор | Сообщение | |
---|---|---|
Susanna Gaybaryan |
|
|
import math Помогите, пожалуйста, разобраться с автоматическим выбором шага) |
||
Вернуться к началу | ||
searcher |
|
|
Susanna Gaybaryan писал(а): Помогите, пожалуйста, разобраться с автоматическим выбором шага) К сожалению не знаком с Питоном и в вашей программе ничего не понимаю. Выбор шага можно сделать следующим образом. На каждом шаге выполнять итерации двумя версиями алгоритмов. Скажем Рунге-Кутты 4-го порядка и 5-го. Если их результаты сильно отличаются, то мы шаг уменьшаем. Если результаты хорошо совпадают, то мы можем шаг увеличить. Детали (что такое "хорошо совпадают" и т.д.) продумайте сами. Ну, или в специальных книгах смотрите. |
||
Вернуться к началу | ||
За это сообщение пользователю searcher "Спасибо" сказали: Fa4stik |
||
lexus666 |
|
|
Не силен в численных методах, но мне кажется, что шаг нужно выбирать по скорости изменения подынтегральной функции. Т.е. отталкиваться нужно от производной функции. Если производная мала, то шаг можно сделать побольше, в противном случае уменьшить.
|
||
Вернуться к началу | ||
За это сообщение пользователю lexus666 "Спасибо" сказали: Fa4stik |
||
Emphatic18 |
|
|
Susanna Gaybaryan, я думаю Вам будет полезно скачать книгу "О.Б.Арушанян, С.Ф.Залеткин, Решение систем обыкновенных дифференциальных уравнений одношаговыми методами. Учебное пособие, МГУ, 2018", в этой книге много материала как раз по вашей теме.
Для контроля точности лучше использовать так называемый контрольный член, значение которого после сравнивается с допустимой погрешностью, либо используется мера погрешности. В зависимости от результата сравнения шаг либо уменьшается, либо увеличивается. Уменьшение или увеличесние шага задается в определенных границах. Таким образом по ходу решения получается переменный шаг. Уменьшение или увеличение шага можно делать по разным схемам, в книге все есть. По ссылке можете посмотреть пример реализации такого решения для системы ОДУ методом РК 4-го порядка точности. Здесь для контроля точности вычисляется мера погрешности, причем покомпонентно т.е. для каждого уравнения системы индивидуально. Правда код на фортране (и программа немного не закончена, но она работает). А это пример результата ее работы: ▼ результат
|
||
Вернуться к началу | ||
За это сообщение пользователю Emphatic18 "Спасибо" сказали: Fa4stik |
||
Emphatic18 |
|
|
А это решение Вашего уравнения при eps=1e-10 и начальном шаге 1e-3
▼ решение
|
||
Вернуться к началу | ||
Emphatic18 |
|
|
В процессе тестирования и доработки в программе исправлен ряд позиций. Боле правильный результат решения вашего уравнения. Шаговая точность принята 1e-9, начальный шаг 5е-3.
Y ( 1) = 4.4810693E-01 Неявный метод трапеций на том же числе шагов дает очень близкий результат, правда шаг здесь равномерный, а у РК судя по общему числу итераций 277, шаг был изменен примерно в середине участка интегрирования. Решение = 4.4810684E-01 на 1000 шагах результат тот же, но это все же метод 2-го порядка (зато по моему на том же числе шагов он дает более точный результат чем явный метод трапеций, надо бы дополнительно протестить). Решение = 4.4810693E-01 |
||
Вернуться к началу | ||
За это сообщение пользователю Emphatic18 "Спасибо" сказали: Fa4stik |
||
[ Сообщений: 6 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Метод Рунге - Кутта
в форуме Численные методы |
0 |
469 |
03 апр 2016, 13:51 |
|
Диф.уравнение. Метод Рунге-Кутта
в форуме Численные методы |
3 |
485 |
28 апр 2015, 19:50 |
|
Метод Эйлера и Рунге-Кутта
в форуме Численные методы |
1 |
237 |
10 дек 2018, 21:04 |
|
Метод Рунге-Кутта-Фельберга
в форуме MathCad |
0 |
615 |
21 ноя 2017, 16:53 |
|
Метод Рунге-Кутта 4-го порядка
в форуме Дифференциальное исчисление |
0 |
467 |
18 ноя 2014, 14:53 |
|
Метод Рунге-Кутта 4-ого порядка с выбором шага
в форуме Численные методы |
4 |
521 |
15 фев 2021, 11:42 |
|
Методом Рунге-Кутта проинтегрировать уравнение
в форуме Численные методы |
1 |
245 |
22 дек 2019, 18:14 |
|
Задача Коши методом Рунге - Кутта
в форуме MathCad |
0 |
431 |
25 дек 2015, 11:15 |
|
Численное интегрирование системы ОДУ методом Рунге-Кутта
в форуме Численные методы |
1 |
375 |
26 сен 2016, 18:20 |
|
Приведение уравнения к виду для решения методом Рунге-Кутта | 6 |
504 |
03 май 2015, 14:41 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |