2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 00:13 


27/01/12
48
Помогите решить дифур методом РК :

\mathop \xi \limits^{ \bullet  \bullet }  = \frac{{\cos (\xi )}}{{{{\sin }^2}(\xi )}}

\xi (0) = \pi/4

\xi' (0) = 0
\xi (t)
Не очень понятно как выполнять приращения по t , ведь у нас оно явно не задано в уравнение

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 00:29 
Заслуженный участник
Аватара пользователя


15/10/08
12522
silas в сообщении #654803 писал(а):
Не очень понятно как выполнять приращения по t

То есть, надо понимать, что все остальное понятно.
Зиер гут. Напишите сюда "метод РК" в общем случае.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 11:39 
Заслуженный участник


11/05/08
32166

(Оффтоп)

silas в сообщении #654803 писал(а):
\mathop \xi \limits^{ \bullet \bullet } = \frac{{\cos (\xi )}}{{{{\sin }^2}(\xi )}}

Это у неё глаза на лоб от изумления духа вылезли?...

silas в сообщении #654803 писал(а):
Не очень понятно как выполнять приращения по t , ведь у нас оно явно не задано в уравнение

Естественно: выбор шага -- это Ваша задача. Т.е. это -- внешний по отношению к собственно задаче Коши параметр в методе Рунге-Кутты.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 17:35 


27/01/12
48
Цитата:
То есть, надо понимать, что все остальное понятно.

Возможно, левая часть какая - то мудреная)
Цитата:
Напишите сюда "метод РК" в общем случае.

http://ru.wikipedia.org/wiki/%CC%E5%F2% ... 3%F2%F2%FB
Не охота переписывать формулы.
Суть в том, что в методе Рунге-Кутта 4 - го порядка шаг происходит по y и по x.

Цитата:
silas в сообщении #654803 писал(а):
Не очень понятно как выполнять приращения по t , ведь у нас оно явно не задано в уравнение

Естественно: выбор шага -- это Ваша задача. Т.е. это -- внешний по отношению к собственно задаче Коши параметр в методе Рунге-Кутты.


Выбор шага понятно, что дело мое, но
t = x это аргумент, а не шаг.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 17:51 
Заслуженный участник
Аватара пользователя


06/04/10
3152
silas в сообщении #654803 писал(а):
Не очень понятно как выполнять приращения по t , ведь у нас оно явно не задано в уравнение
Рунге-Кутт здесь пока ни при чём.
Понятно ли, как по значению ускорения и приращению времени получить приращение скорости? :-)

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 17:55 
Заслуженный участник


11/05/08
32166
silas в сообщении #655083 писал(а):
Суть в том, что в методе Рунге-Кутта 4 - го порядка шаг происходит по y и по x.

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

Впрочем, можете в целях экономии кода сочинить вариант метода, упрощённый с учётом автономность системы. Но это дело не очень благодарное для наколенной работы: ускорения Вы на практике всё равно не заметите, а много думать вредно.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 20:17 


27/01/12
48
Цитата:
Рунге-Кутт здесь пока ни при чём.
Понятно ли, как по значению ускорения и приращению времени получить приращение скорости? :-)

Я знаю , что можно взять обычный интеграл, но нужно оперировать именно методом Рунге-Кутта

Цитата:
А это вообще не имеет отношения к делу. Ваша задача -- тупо запрограммировать правую часть дифура и не менее тупо запрограммировать один шаг метода Рунге-Кутты, совсем уж тупо предусмотрев внутри второй процедуры вызовы первой. Будет ли при этих вызовах фактически использоваться шаг по иксам -- это уже исключительно личное дело самого Рунге-Кутты; Ваше дело лишь предусмотреть формальную возможность такого использования.


Вообщем нужно решить систему?
dy/dt = z;
z' = cos(y)/[sin(y)]^2

Но даже если так, то дальнейшие шаги мне не понятны.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 20:39 
Заслуженный участник


09/09/10
3729
Шаг по $t$ задается дополнительно. Либо от балды, либо от балды с последующей коррекцией.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 20:59 
Заслуженный участник


11/05/08
32166
silas в сообщении #655193 писал(а):
Я знаю , что можно взять обычный интеграл,

Нельзя.

silas в сообщении #655193 писал(а):
Но даже если так, то дальнейшие шаги мне не понятны.

Да, ровно так и никак иначе. Как я понял, Вас явно сбивает с толку отсутствие $t$ в правой части системы, в то время как в методе Рунге-Кутты оно как бы присутствует. Ну так отсутствие (в исходной системе) -- это всего лишь частный случай присутствия.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение06.12.2012, 22:11 
Заслуженный участник
Аватара пользователя


15/10/08
12522
Действительно, как же поступить, если нужно вычислить $C(t)$ при $t=12,54$, а гадкое $C$ от $t$ не зависит?! Просто руки опускаются...

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение07.12.2012, 00:27 


27/01/12
48
Изображение
Схема Рунге – Кутта четвертого порядка точности

Так решать?

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение07.12.2012, 00:37 
Заслуженный участник
Аватара пользователя


15/10/08
12522
silas
Где-то так. (Вот, что животворящее зачеркивание делает!)
ewert
Имелся в виду первый интеграл, который тут просто в глаза бросается.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение07.12.2012, 00:50 
Заслуженный участник


11/05/08
32166
Утундрий в сообщении #655330 писал(а):
Имелся в виду первый интеграл, который тут просто в глаза бросается.

А уже было ТС замечено: мало ли что кому где куда бросается. Дохтур сказал в морг -- значит, в морг.

silas в сообщении #655327 писал(а):
Так решать?

Ну как-то так, только от буковок в глазах рябит. Перепишите всё это в векторном виде. Это значит: напишите процедуру (не важно, на каком языке), которая принимала бы на вход векторные аргументы и возвращала бы аналогичные.

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение07.12.2012, 20:03 


27/01/12
48
Используется синтаксис C
k1 = z;
        l1 = (cos(y)/[sin(y)*sin(y)]);
        k2 = z + h*l1/2;
        l2 = (cos(y+h*k1/2)/[sin(y+h*k1/2)*sin(y+h*k1/2)]);
        k3 = z + h*l2/2;
        l3 = (cos(y+h*k2/2)/[sin(y+h*k2/2)*sin(y+h*k2/2)]);
        k4 = z + h*l3;
        l4 = (cos(y+h*k3)/[sin(y+h*k3)*sin(y+h*k3)]);
       
        y = y + h*(k1 + 2*k2+2*k3+k4)/6;
       
        z = z + h*(l1+2*l2+2*l3+2)/6;


h - шаг.
Похоже на правду?
А что делать с t?

 Профиль  
                  
 
 Re: Метод Рунге - Кутта (Применим ли в данном случае?)
Сообщение07.12.2012, 20:21 
Заслуженный участник


11/05/08
32166
silas в сообщении #655607 писал(а):
Похоже на правду?

Не-зна-ю. Сама программа крайне неразумно составлена. Следует отделять мух от котлет; в данном случае: процедуру реализации метода Рунге-Кутты ваще от процедуры реализации правой части конкретного дифура. В противном (очень противном) случае программа становится нечитабельной мало того что для постороннего читателя, но и для Вас самого.

Хотя Вы там вроде как в Математике пишите, с языком которой я совершенно не знаком. Но поскольку та система заведомо достаточно мощная -- наверняка там есть и средства, обеспечивающие культурное программирование (ну уж как минимум структурное).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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



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

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


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

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