2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему
 
 Метод Рунге-Кутта 2 порядка для дифура второго порядка
Сообщение26.04.2008, 18:47 


25/03/08
43
Дано дифференциальное уравнение 2 порядка:
$y''-xy'-xy = f(x)$
Дана точная функция, с которой будем работать:
$y = x^2sin x$
$x \epsilon [-\pi, \pi]$
Даны начальные условия:
$y(-\pi) = ?$
$y'(-\pi) = ?$
Необходимо решить задачу Коши.

Теперь, собственно, что не получается.
Во-первых, как я понимаю функция $f(x)$ получается путем подстановки точной функции в дифур, а начальные условия берутся путем подстановки $-\pi$ в точную функцию и её производную. Это так?

Тогда наше уравнение будет иметь вид:
$y''-xy'-xy = 4xcos x - 3x^2sin x - x^3(cos x + sin x) + 2 sin x$
Начальные условия:
$y(-\pi)$ = 0
$y'(-\pi)$ = -\pi^2

Затем, чтобы воспользоваться методом Рунге-Кутта, составляем систему дифуров 1 порядка:
$
\left\{ \begin{array}{l}
t = y',\\ 
t' = xt + xy + f(x)
\end{array} \right.
$

А теперь сам вопрос: как решить эту систему используя формулу Рунге-Кутта второго порядка
Сама формула:
$y_i_+_1 = y_i + h[(1-\alpha)f_1(x_i,y_i)+\alpha f_1(x_i+h/2\alpha, y_i+h/2\alpha f_1(x_i,y_i)]$
Где h - некоторый шаг, $\alpha = 0.5$

Исправил опечатку в формуле. Кстати, у Вас буква $f$ обозначает две разные функции. Jnrty.

Спасибо, букву $f$ тоже исправил.

 Профиль  
                  
 
 
Сообщение26.04.2008, 19:06 


22/04/08
5
Метод Рунге-Кутта является численным, т.е. приблизительным. Как решить? Пошагово. Отправная точка - начальные условия.

Чтобы порадовать преподавателя, постройте графики того, что Вы называете "точной функцией" (т.е. точного решения этого дифура), а также полученных решений при разных значениях h. Оцените величину ошибки приближенного решения в зависимости от величины выбранного шага.

Удачи!

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


09/01/06
800
Возможно, преподаватель хочет, чтобы был выбран такой шаг, чтобы получилось достаточно хорошее приближение.

 Профиль  
                  
 
 
Сообщение26.04.2008, 20:07 
Заслуженный участник
Аватара пользователя


23/07/05
17984
Москва
В чём проблема-то? Ваша система имеет вид
$$\begin{cases}y'=t\equiv\phi(x,y,t)\text{,}\\ t'=xt+xy+f(x)\equiv\varphi(x,y,t)\end{cases}$$
с начальными условиями
$$y|_{x=-\pi}=0,t|_{x=-\pi}=-\pi^2\text{.}$$
Поэтому полагаем
$$x_0=-\pi,y_0=0,t_0=-\pi^2\text{,}$$
а затем вычисляем
$$A_i=\phi(x_i,y_i,t_i),B_i=\varphi(x_i,y_i,t_i)\text{,}$$
$$A_{i+\frac 1{2\alpha}}=\phi\left(x_i+\frac h{2\alpha},y_i+\frac h{2\alpha}A_i,t_i+\frac h{2\alpha}B_i\right),B_{i+\frac 1{2\alpha}}=\varphi\left(x_i+\frac h{2\alpha},y_i+\frac h{2\alpha}A_i,t_i+\frac h{2\alpha}B_i\right)\text{,}$$
$$y_{i+1}=y_i+h\left((1-\alpha)A_i+\alpha A_{i+\frac 1{2\alpha}}\right),t_{i+1}=t_i+h\left((1-\alpha)B_i+\alpha B_{i+\frac 1{2\alpha}}\right)\text{,}$$
$$x_{i+1}=x_i+h\text{.}$$

Я ничего не напутал?

 Профиль  
                  
 
 
Сообщение26.04.2008, 20:07 


25/03/08
43
Спасибо, но вопрос был немного не в этом) Точнее совсем не в этом =)

Меня интересует, КАК решить эту систему..

Т.е. мне надо написать программу(MatLab), которая решает конкретную задачу..
Как я понимаю, нужно составить цикл, который пошагово будет выполнять вычисления..Но какие конкретно мне непонятно

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


09/01/06
800
Как какие?
По формулам Рунге-Кутта!

 Профиль  
                  
 
 
Сообщение26.04.2008, 20:14 


25/03/08
43
Someone
Спасибо, большое, проблема глупая)

Как я понял у нас A_i_+_1 будет увеличиваться на каждом шаге на t_i + h/2\alpha B_i, т.к. функция \phi зависит только от t

Похоже на правду, сейчас проверю =)

V.V формулы Рунге-Кутта применимы для дифура первого порядка, а у меня второго..В этом и была загвоздка у меня..В решении системы,а не использовании формулы =)

 Профиль  
                  
 
 
Сообщение26.04.2008, 20:25 


22/04/08
5
kdm писал(а):
формулы Рунге-Кутта применимы для дифура первого порядка, а у меня второго..В этом и была загвоздка у меня.

Вы же самостоятельно справились с этой "загвоздкой"! Система-то у Вас получилась именно первого порядка, т.е. для нее Рунге-Кутт прекрасно работает. А что функций две - не беда, можно считать, что функция одна, просто у нее две координаты.

 Профиль  
                  
 
 
Сообщение26.04.2008, 20:29 


25/03/08
43
Вот я собственно и спрашивал, как решить эту систему.. :)Было непонятно как применить к ней формулу.. :oops:

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

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



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

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


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

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