Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 2 |
[ Сообщений: 18 ] | На страницу 1, 2 След. |
|
Автор | Сообщение | |
---|---|---|
kolshiik1 |
|
|
Решение: Что бы применить метод прогноза и коррекции, нам необходимо получить начальные значения функции. Для этого воспользуемся методом Эйлера. yi+1=yi+h*f(xi;yi) чтоб воспользоватсья методом прогноза и коррекции необходимо найти точки y0;y1;y2 y0=0 y1=0+0.1*(0-0)=0 y2=0+0.1*(0.1-0)=0.01 теперь мы можем воспользоваться методом прогоза и коррекции 2 порядка: прогноз: Y(i+1)=y(i)+h/2*(3*f(i)-f(i-1)) y2=0+0.05*(3*(0.1-0)-(0-0))=0.015 коррекция: y(i+1)=y(i)+h/2*(Y(i+1)-y(i)) y2=0+0.05*((0.2-0.015)-(0.1-0))=0.00425 для сравнениz найдем еще y3 методоv Эйлера и сравним значение с методом прогноза и коррекции Эйлер: y3=0.01+0.1*(0.2-0.01)=0.029 прогноз и коррекция: прогноз: y3=0.00425+0.05(3(0.2-0.00425)-(0.1-0))=0.0286125 коррекция: y3=0.00425+0.05((0.3-0.0286125)-(0.2-0.00425))=0.0080319 Разве могут так сильно отличаться значения решения методом Эйлера от метода прогноза и коррекции??? или я что то не так делаю?? Пожалуйста ответе..а то я уже все перепробовал.. и вот когда решаешь прогнозом и коррекцией 4 порядка решения вполне устраивают..а вот со 2 порядком неразбериха..обьясните почему? |
||
Вернуться к началу | ||
Prokop |
|
|
Посмотрите страничку
http://www.physchem.chimfak.rsu.ru/Sour ... s/ODE.html Там какие-то другие формулы, а пример Ваш. |
||
Вернуться к началу | ||
За это сообщение пользователю Prokop "Спасибо" сказали: kolshiik1 |
||
kolshiik1 |
|
|
там решен примет методом эйлера, рунте-кутта и тд..
и там описан метод прогноза и коррекции 1 порядка.. меня же интересует 2 порядка.. а формулы у первого,второго,третьего и тд. разные.. http://vm.psati.ru/online-vmath/index.php?page=29 я не могу понять почему получается несоответствие..вроде все делаю правельно..может быть нельзя за основу брать метод Эйлера..надо брать более точный метот типа рунте-кутта?? |
||
Вернуться к началу | ||
mad_math |
|
|
а вы какой из методов Эйлера брали?
|
||
Вернуться к началу | ||
mad_math |
|
|
вы похоже взяли обычный метод Эйлера. есть ведь ещё пара усовершенствованных. хотя в вашем случае можно просто решить дифференциальное уравнение не численными методами, найти значение точного решения уравнения в точках, для которых вы получили численное решение, и сравнить точное и приближённое решение. так будет даже наглядней.
|
||
Вернуться к началу | ||
Prokop |
|
|
В Вашей ссылке говорится ещё о том, что при корректировке итерации можно проводить много раз пока не получится нужная точность.
Для большего понимания можно последовать хорошему предложению mad_math |
||
Вернуться к началу | ||
kolshiik1 |
|
|
Цитата: вы похоже взяли обычный метод Эйлера. есть ведь ещё пара усовершенствованных. хотя в вашем случае можно просто решить дифференциальное уравнение не численными методами, найти значение точного решения уравнения в точках, для которых вы получили численное решение, и сравнить точное и приближённое решение. так будет даже наглядней. щас попробовал заместо метода Эйлера, метод Рунте-кутта..все равно при прогнозе и коррекции не выходит..может у кого есть книги с описанием прогноза и коррекции 2 порядка? |
||
Вернуться к началу | ||
kolshiik1 |
|
|
если можете, провертте пожалуйста программу и алгоритм реализации этого метода..
я в программирование не силен..но что то написал.. using System; namespace коррекция2порядка { class Program { static double f( double x, double y ) { return (y / x + x * x); } static void Main( string[ ] args ) { double x = 1; double y = 0; double x1 = 2; int n = 10; double h = (x1 - x) / n; double y1 = y; for (int i = 2; i <= n; i++) { double y2 = f(x, y)+h/2*(3*(f(x,y))-f(x0,y0)); double y2 = f(x, y)+h/2*((f(x2,y2))-f(x,y)); } Console.WriteLine("y = {0}", y); Console.ReadLine(); } } } p.s. если не правильно укажите на ошибки пожалуйста)) |
||
Вернуться к началу | ||
mad_math |
|
|
приведите формулы, которые используете, что и почему вы в них подставили и начальные условия уравнения укажите.
|
||
Вернуться к началу | ||
kolshiik1 |
|
|
чтобы применить метод прогноза и коррекции 2 порядка необходимо знать первые 2 значения функции, это y1 и y2...
Для нахождения их используем метод Эйлера... вот алгоритм: using System; namespace МетодЭйлераОДУ { class Program { static double f( double x, double y ) { return (y / x + x * x); } static void Main( string[ ] args ) { double x = 1; double y = 0; double x1 = 2; int n = 10; double h = (x1 - x) / n; double y1 = y; for (int i = 1; i <= n; i++) { double f1 = f(x, y); x += h; y += f1 * h; y = y1 + h * (f1 + f(x, y)) / 2; y1 = y; } Console.WriteLine("y = {0}", y); Console.ReadLine(); } } } при помощи него нашли 2 точки..x(0) и y(0) задается условием задачи... далее пользуемся методом прогноза и коррекции... прогноз вычеснялется по формуле: Y(i+i)=y(i)+h/2*(3*f(x(i),y(i))-f(x(i-1),y(i-1)) тоесть Y(2)=y(1)+h/2*(3*f(x(1),y(1))-f(x(0),y(0))) где y(i) и y(i+1) значение функции в точках (i),(i+1); коррекция вычисляется по формуле: y(i+1)=y(i)+h/2*(f(x(i+1),Y(i+1))-f(x(i),y(i))) тоесть y(2)=y(1)+h/2*(f(x(2),Y(2))-f(x(1),y(1))) после этих операция получаем y2 корректированное..и по аналогичной схеме прогноза и коррекции находим следующее значение.. p.s.для точности можете посмотреть формулы по этой ссылке.. http://vm.psati.ru/online-vmath/index.php?page=29 Метод прогноза и коррекции 2 порядка |
||
Вернуться к началу | ||
На страницу 1, 2 След. | [ Сообщений: 18 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Прогноз показателя SL
в форуме Начала анализа и Другие разделы школьной математики |
0 |
259 |
15 мар 2020, 17:44 |
|
Прогноз продаж на следующий год | 2 |
2404 |
01 сен 2019, 00:02 |
|
Прогноз с точки зрения науки
в форуме Размышления по поводу и без |
3 |
436 |
19 мар 2017, 14:26 |
|
Улучшить прогноз с помощью регрессии | 1 |
54 |
04 мар 2024, 16:41 |
|
Принцип неопределённости и прогноз погоды
в форуме Палата №6 |
2 |
284 |
23 окт 2019, 18:52 |
|
Прогноз следующего числа по алгоритму
в форуме Теория вероятностей |
3 |
262 |
15 июл 2019, 07:11 |
|
Множественная регрессия – некорректный прогноз | 9 |
387 |
09 ноя 2018, 18:44 |
|
Возможен ли более уточненный прогноз событий?
в форуме Теория вероятностей |
20 |
294 |
10 ноя 2019, 14:06 |
|
Задача на интервальный прогноз объема потребления | 0 |
299 |
22 май 2014, 18:14 |
|
Краткосрочный прогноз землетрясений на основе теории вероятн
в форуме Теория вероятностей |
0 |
183 |
24 июн 2019, 09:41 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |