2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Решение Д.У. 2 порядка методом Рунге-Кутта
Сообщение13.12.2007, 23:53 


13/12/07
11
Срочно нужна помощь в решении дифференциального уравнения второго порядка методом Рунге-Кутта 4го порядка. Численным методом, естественно.

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

Пример такой:
y''+2*y'+y=exp(-x)/x
Начальные данные: y(1) = 1; y'(1) = 0;

Затруднения в подсчете K1-K4...

Пожалуйста, помогите!)) Очень-очень срочно!!!

 Профиль  
                  
 
 
Сообщение14.12.2007, 00:50 


30/06/06
313
Для диф. уравнения $y'=f(x,y)$ с условием $y(x_{0})=y_{0}$ формула имеет вид (если я не ошибаюсь):
$y(x+h)\approx y(x)+\frac{1}{6}(K_{1}+2*K_{2}+2*K_{3}+K_{4}),$ где
$K_{1}=h*f(x,y),$
$K_{2}=h*f(x+\frac{h}{2},y+\frac{K_{1}}{2}),$
$K_{3}=h*f(x+\frac{h}{2},y+\frac{K_{2}}{2}),$
$K_{4}=h*f(x+h,y+K_{3}).$

 Профиль  
                  
 
 
Сообщение14.12.2007, 09:07 
Заслуженный участник


09/01/06
800
Imperator писал(а):
Для диф. уравнения $y'=f(x,y)$ с условием $y(x_{0})=y_{0}$ формула имеет вид (если я не ошибаюсь):


Имеется семейство методов Рунге-Кутта 4-го порядка. Эти формулы красивые такие, симметричные, поэтому их часто и используют. А можно посмотреть на конкретное уравнение и выбрать другой метод из семейства. Вдруг он будет лучше?

 Профиль  
                  
 
 
Сообщение14.12.2007, 09:32 


13/12/07
11
Спс! Но эти формулы я знаю. У меня просто не получается нормально подставлять числовые значения. В этом я и прошу помощи.
Что на какие компоненты умножать и т.д...
Если можно, но напишите, пожалуйста, как считать (в данных числах данной задачи) хотя бы К1 и К2 (последнее важнее).

 Профиль  
                  
 
 
Сообщение14.12.2007, 11:47 


01/12/05
196
Москва
Ваше уравнение второго порядка следует свести к системе первого порядка, а далее все по приведенным выше формулам:
$\[
\left\{ \begin{gathered}
  u' =  - 2u - y + \frac{{e^{ - x} }}
{x} \hfill \\
  y' = u \hfill \\ 
\end{gathered}  \right.
\]
$

 Профиль  
                  
 
 
Сообщение14.12.2007, 13:29 


13/12/07
11
Эх) Я же написал, что формулы знаю, но проблемы с непосредственной подстановкой.

Мое решение: (проверьте)

1) u0 = y; u1 = y'.

2) Получаю систему:
.......du0/dx = u1;
.......du1/dx = e^(-x)/x - 2*u1 - u0;

3) Дальше у меня коэф-ты получаются такие:

K1 = [ 0 ]
........[ -0.63 ]

K2 = [ -0.58 ]
........[ 0.51 ]

K3 = [ 0.0255 ]
........[ -0.701 ]

K4 = [ -0.0701 ]
........[ -0.79375 ]

Проверьте, пожалуйста! Ибо проблема вся именно в подсчете этих коэф-ов...

Добавлено спустя 57 минут 49 секунд:

Получил следущие вектора решений:

Yo = [ 1 ]
........[ 0 ]

Y1 = [ 0.98 ]
........[ 0.0166 ]

Y2 = [ 0.97824 ]
........[ -0.05 ]

Похоже на правду?!

 Профиль  
                  
 
 
Сообщение14.12.2007, 15:45 


01/12/05
196
Москва
Ваш дифур имеет аналитическое решение:
$\[
y = (x(\ln x + e - 1) + 1)e^{ - x} 
\]
$
Это решение легко отыскать, если выразить общее решение вашего уравнения в виде
$\[
y = ue^{ - x} 
\]
$
Сказать вам, похожи ли ваши результаты на правду, я не могу, т.к. вы не написали, чему в ваних выкладках равен шаг интегрирования h.

 Профиль  
                  
 
 
Сообщение14.12.2007, 15:50 
Заслуженный участник


15/05/05
3445
USA
Searcher писал(а):
Эх) Я же написал, что формулы знаю, но проблемы с непосредственной подстановкой.
Мое решение: (проверьте)

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

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

 Профиль  
                  
 
 
Сообщение14.12.2007, 22:03 


13/12/07
11
Дело в том, что до ответов я довел уже после того, как разместил тему на этом форуме.

Теперь прошу проверить решение, т.к. все равно не уверен в подстановках...
Шаг здесь я беру h = 0.1

А вот так я считал коэф-ты для Yo:

\mathbf{K_{1}(Y_{0})} =
\left( \begin{array}{ccc}
u_{1}(x_{0}) \\
\frac{e^{-x_{0}}}{x_{0}}} - 2*u_{1}(x_{0}) - u_{0}(x_{0}) \\
\end{array} \right) =
\left( \begin{array}{ccc}
0 \\
\frac{e^{-1}}{1}} - 2*0 - 1\\
\end{array} \right)
=
\left( \begin{array}{ccc}
0 \\
-0.63 \\
\end{array} \right)
$$

\mathbf{K_{2}(Y_{0})} =
\left( \begin{array}{ccc}
0 + \frac{0.1}{2}}*(-0.63) \\
\frac{e^{-(1+ 0.05)}}{1 + 0.05}} - 2*(0 + \frac{0.1}{2}}*(-0.63)) - (1+\frac{0.1}{2}}*0)\\
\end{array} \right)
=
\left( \begin{array}{ccc}
-0.58 \\
0.51 \\
\end{array} \right)
$$

\mathbf{K_{3}(Y_{0})} =
\left( \begin{array}{ccc}
0 + \frac{0.1}{2}}*(0.51) \\
-0.701 \\
\end{array} \right)
=
\left( \begin{array}{ccc}
0.0255 \\
-0.701 \\
\end{array} \right)
$$

\mathbf{K_{4}(Y_{0})} =
\left( \begin{array}{ccc}
-0.0701 \\
0.0686 + 0.1402 - (1 + 0.1*0.0255) \\
\end{array} \right)
=
\left( \begin{array}{ccc}
-0.0701 \\
-0.79375 \\
\end{array} \right)
$$

В конечном итоге у меня получилось:
\mathbf{Y_{0}} =
\left( \begin{array}{ccc}
0.98 \\
0.0166 \\
\end{array} \right)
$$

А потом и
\mathbf{Y_{1}} =
\left( \begin{array}{ccc}
0.97824 \\
-0.05 \\
\end{array} \right)
$$

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


30/11/06
1265
 !  нг:
Searcher
На форуме принято записывать формулы, используя нотацию ($\TeX$; введение, справка).

Пожалуйста, исправьте и сообщите модератору (ЛС).


 !  dm:
Возвращаю.

 Профиль  
                  
 
 
Сообщение16.12.2007, 13:48 


13/12/07
11
Вот нужно еще решить это же уравнение с помощью неявной схемы.
Вот что у меня получилось:

$ y'' = \frac {e^{-x}} {x} - 2*y' - y; $\\
при начальных условиях: \\
y_{0} = 1; y_{0}' = 0; x_{0} = 1;

y_{i+1}' = \frac{y_{i+1} - y_{i}}{h}}; \\
y_{i+1}'' = \frac{y_{i+1} - 2*y_{i} + y_{i-1}}{h^{2}}}; \\

Находим y_{1} по формуле: \\
y_{1} = y_{0} + h*y_{0}' = 1 + 0.1*0 = 1; \\

Первое значение мы можем получить только для y_{2}, т.к. \\
y_{i+1} = 2*y_{i} - y_{i-1} + h^2 *( $$ \frac {e^{-x_{i}}} {x_{i}} $$ - 2*($$ \frac {y_{i} - y_{i-1}} {h} $$) - y_{i} ) \\
\\
y_{2} = 2*y_{1} - y_{0} + h^2 *( $$ \frac {e^{-x_{1}}} {x_{1}} $$ - 2*($$ \frac {y_{1} - y_{0}} {h} $$) - y_{1} ); \\
y_{2} = 2*1 - 1 + (0.1)^2 *( $$ \frac {e^{-1.1}} {1.1} $$ - 2*($$ \frac {1 - 1} {0.1} $$) - 1 ); \\
y_{2} = 0.99303 \\

Правильно это или нет?

 Профиль  
                  
 
 
Сообщение16.12.2007, 16:45 
Заслуженный участник


15/05/05
3445
USA
Searcher писал(а):
А вот так я считал коэф-ты для Yo: ...
В той части, где Вы расписали формулы ($K_1$, $K_2$ и 1-я строка $K_3$) подстановки вроде бы правильные. Арифметику я не проверял.

 Профиль  
                  
 
 
Сообщение16.12.2007, 16:47 


13/12/07
11
Yuri Gendelman писал(а):
Searcher писал(а):
А вот так я считал коэф-ты для Yo: ...
В той части, где Вы расписали формулы ($K_1$, $K_2$ и 1-я строка $K_3$) подстановки вроде бы правильные. Арифметику я не проверял.

Спасибо! Что можете сказать по второму методу?

 Профиль  
                  
 
 
Сообщение17.12.2007, 16:10 


13/12/07
11
Помогите! Срочно!

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


30/11/06
1265
Searcher
Ваше последнее сообщение — не информативное. Подъём тем запрещен правилами форума.

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

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



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

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


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

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