2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Формулы Адамса + (коректор/предиктор)
Сообщение29.03.2006, 17:15 


29/03/06
4
Вообщем в моей дипломной работе надо использовать метод Адамса. Перерыл кучу литературы, но толком ничего не нашел :(
Задача такая:
/ y' = f(x,y) , $a\leqslant x\leqslant b$
\ y(a) = y_0
для решения используем метод Адамса.
при двухточечном методе получаем: y_{k+1} = y_k + h*(3f_k - f_{k-1}) * 1/2 (*)
при трехточечном получаем: y_{k+1} = y_k + h*(23*f_k - 16*f_{k-1} + 5*f_{k-2}) * 1/12 (*)

(*) где y_k, y_{k+1}, f_k, f_{k-1}, f_{k-2} - это решения или правые части в соответствующих точках

дальше, для устойчивости пользуемся методом предиктор/коректор:
например при двухточечном методе получаем такое:
как было показано, предиктор вычисляется оп такой формуле: x_{n+1} = x_n + [3/2 * f( x_n, t_n ) - 1/2 * f( x_{n-1}, t_{n-1} ) ]
коректор вычисляется по формуле:
x_{n+1} = x_n +1/2 * [f( x_n, t_n ) + f( x_{n+1}, t_{n+1} ) ] (**)

(**) где в правой части x_{n+1} - это наш уже вычисленый предиктор

ПРОБЛЕМА: преподаватель говорит, что формулы коректора неправильная (хоть я ее честно содрал из методички) - неправельная потому, что коректор должен использовать теже точки, что и предиктор. А у меня точка x_{n-1} не используется. (!) Я перелапатил кучу литературы - нигде не даются формулы коректора и предиктора + не рассказывается как их вывести.
Просьба - исправте плизз мою формулу коректора и дайте формулы предиктора и коректора для трехточечного метода Адамса.
Заранее спасибо.

PS: надо ОЧЕНЬ срочно, если можете - ответте сразу.

 Профиль  
                  
 
 предиктор-корректор. Метод Адамса-Башфорта
Сообщение29.03.2006, 18:28 
Экс-модератор
Аватара пользователя


23/12/05
12063
Ваш преподаватель заблуждается. Смотрите книги авторства W.H.Press et al., например "Numerical recipes in C", 2nd ed. p.747 раздел 16.7 Multistep, Multivalue, and Predictor-Corrector Methods.

В методе Адамса-Башфорта-Мултона
предиктор Адамса-Башфорта:
$y_{n + 1}  = y_n  + \frac{h}
{{12}}\left( {23y'_n  - 16y'_{n - 1}  + 5y'_{n - 2} } \right) + O\left( {h^4 } \right)$
корректор Адамса-Мултона:
$\[
y_{n + 1}  = y_n  + \frac{h}
{{12}}\left( {5y'_{n + 1}  + 8y'_n  - y'_{n - 1} } \right) + O\left( {h^4 } \right)
\]$

Дописал: Попутно порекламирую еще эту книгу, я из нее реализовывал 16.2 Adaptive Stepsize Control for Runge-Kutta - работало супер.

 Профиль  
                  
 
 Re: Помогите с Формулами Адамса + (коректор/предиктор) СРОЧН
Сообщение29.03.2006, 18:36 
Заслуженный участник


15/05/05
3445
USA
Формулы очень похожи на правильные. Но x, y и какое-то t употребляются в почти случайном порядке. Как говаривал Остап Бендер: "Мотор был очень похож на настоящий, но не работал". Видимо преподаватель, услышав про "Перерыл кучу литературы", тоже решил пошутить про "коректор должен использовать те же точки, что и предиктор". Выражаю соболезнования обоим.

Для линейного варианта метода Адамса-Башфорда
- предиктор:
y^{pred}_{n+1} = y_n + h [\frac{3}{2} f( x_n, y_n ) - \frac{1}{2} f( x_{n-1}, y_{n-1} ) ]
- коректор:
x^{corr}_{n+1} = y_n + \frac{1}{2} h [f( x_n, y_n ) + f( x_{n+1}, y^{pred}_{n+1} ) ]

 Профиль  
                  
 
 Re: Помогите с Формулами Адамса + (коректор/предиктор) СРОЧН
Сообщение29.03.2006, 19:07 


29/03/06
4
хм.... даже незнаю - он ведет этот предмет уже далеко не первый год - шарит в нем класно........
хорошо, тогда такой вопрос:
почему коректор имеет именно такой вид? Тоесть, каким образом он выводится? (откуда берется?)

 Профиль  
                  
 
 
Сообщение29.03.2006, 20:10 
Экс-модератор
Аватара пользователя


23/12/05
12063
Я не очень большой спец по численным методам, но эти, по-моему, растут из разложения в ряд Тейлора. Число учитываемых членов определяет порядок точности. Если вы возьмете два члена и всё - то хоть десять корректоров используйте - точность не поднимите. В том и суть, что используются разные, т.е. задействуется большее число точек в окрестности искомой.

 Профиль  
                  
 
 
Сообщение29.03.2006, 20:26 


29/03/06
4
photon писал(а):
Я не очень большой спец по численным методам, но эти, по-моему, растут из разложения в ряд Тейлора. Число учитываемых членов определяет порядок точности. Если вы возьмете два члена и всё - то хоть десять корректоров используйте - точность не поднимите. В том и суть, что используются разные, т.е. задействуется большее число точек в окрестности искомой.

про это я в курсе. для моей работы для достаточной точности хватит и 3-х точечного метода....
Но босс (преподаватель :) ) сказал, что надо и коректор тоже использовать - ну надо - так надо. а вот какой он будет для 3-х точечного метода неясно - еще даже толком с 2-х точечным коректором не разобрался. Сейчас дальше пересматриваю литературу. по идее, раз за коректор так мало написано - значит это что-то доволи простое..... вот только вьехать в это простое пока не сосвсем получается...

 Профиль  
                  
 
 
Сообщение29.03.2006, 20:31 
Экс-модератор
Аватара пользователя


23/12/05
12063
Wildy писал(а):
Но босс (преподаватель :) ) сказал, что надо и коректор тоже использовать - ну надо - так надо, а вот какой он будет для 3-х точечного метода неясно - еще даже толком с 2-х точечным коректором не разобрался.


А я вам тут сколько точек показал?

 Профиль  
                  
 
 
Сообщение29.03.2006, 20:47 


29/03/06
4
вот я туплю...... мне стыдно :oops: .......устал наверно :? ......
спасибки за ответ

если не трудно, можете обьяснить - почему в корректоре в расчет не берется точка y'_{n-2} ? почему мы от нее ушли? (если представить как обсчитывается по точкам - то интуитивно понимаю, что сдвиг должен быть на 1 точку (на предположительно вычисленую) дальше, но вот как к этому прийти? (мда, чет не получается внятно рассказать что я хочу узнать....) )

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

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



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

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


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

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