Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 21, 2014 09:37:39

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

Привет.
Есть задача у меня, решить уравнение движения в обычном симметрично потенциале гравитационном. Я её решил методом Эйлера и всё хорошо. Но потом, пытаясь решить с помощью integrate.odeint эту систему, я очень сильно застрял.
Как это можно реализовать? Гугление дало некоторое представление, но не помогло. Сначала думаю, что всё ок и начало всё работать, но потом результат выходит такой, что сразу видно, как всё плохо. Помогите!

Офлайн

#2 Апрель 21, 2014 09:45:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

Olmer
Помогите!
В чем помощь то должна заключаться?



Офлайн

#3 Апрель 21, 2014 09:55:14

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

FishHook
Ой, да, точно. Есть Центр притяжения с массой M=2*10**33, постоянная тяготения G=6.67*10**-8, от этого центра на расстоянии x=10**13 мы запускаем пробную точку с начальной скоростью по оси y=3*10**6, наша задача построить кривую.
Ну и решить надо с помощью, integrate.odeint.

Отредактировано Olmer (Апрель 21, 2014 10:00:04)

Офлайн

#4 Апрель 21, 2014 10:08:08

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

Эх вы, решаем в Лагранжевом формализме аналитически, получаем интегралы движения и строим траектории численно, делов-то.

Офлайн

#5 Апрель 21, 2014 10:10:21

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

fongostev
Эх вы, решаем в Лагранжевом формализме аналитически, получаем интегралы движения и строим траектории численно, делов-то.
А если нам нужно построить 100 000 тысяч таких решений? А если потенциал не симметричный? Я спрашиваю не для того, чтобы мне задачу именно эту решить, а для того, чтобы понять, как вообще всё это работает.

Офлайн

#6 Апрель 21, 2014 10:13:40

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

Вот это видел? Все вроде понятно написано
http://stackoverflow.com/a/16008005

Офлайн

#7 Апрель 21, 2014 10:17:33

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

fongostev
Вот это видел? Все вроде понятно написаноhttp://stackoverflow.com/a/16008005
Видел. Но там ОДУ 1 порядка, а нам надо решить второго порядка.

Отредактировано Olmer (Апрель 21, 2014 10:20:02)

Офлайн

#8 Апрель 21, 2014 10:22:15

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

Olmer
Понизь степень уравнения, перейди к экв. системе и интегрируй.

Отредактировано fongostev (Апрель 21, 2014 10:24:23)

Офлайн

#9 Апрель 21, 2014 10:27:05

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

fongostev
Понизив, будем вынуждены перейти к системе из двух уравнений, и тут я тоже туплю. В гугле были примеры, когда решали уравнения колебаний и строили фигуру Лисажу(там ур-ие второго порядка), но попытки написать по той аналогии свою задачу у меня провалились.

Отредактировано Olmer (Апрель 21, 2014 10:34:19)

Офлайн

#10 Апрель 21, 2014 10:33:33

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

Решение ОДУ с scipy.inegrate.odeint.

Olmer
Ты делал как написано тут?
http://nbviewer.ipython.org/gist/anonymous/d417c1ffbb76f13f678c

UPD: У тебя же уравнения Лагранжа сводятся к такому виду только так.

Отредактировано fongostev (Апрель 21, 2014 10:34:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version