Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 21, 2014 11:13:02

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

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

fongostev
Ясное дело, ты же меняешь вектор действия потенциала на противоположный
Ну не так же будет меняться картина!

Прикреплённый файлы:
attachment 1.png (17,7 KБ)

Офлайн

#2 Апрель 21, 2014 11:15:49

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

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

Ничего странного, видимо реализуется сценарий выхода на орбиту силового центра. Посмотри, что происходит при малых временах и все поймешь.

Офлайн

#3 Апрель 21, 2014 11:18:20

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

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

fongostev
Ничего странного, видимо реализуется сценарий выхода на орбиту силового центра. Посмотри, что происходит при малых временах и все поймешь.
Мы же строим график x и y, так? Тогда там не будет прямых линий, всё же движение происходит по эллипсу.

Офлайн

#4 Апрель 21, 2014 11:22:04

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

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

А, я что-то подумал, траекторию строишь x(t). x(y) - это фазовый портрет. Не факт, эллипсы наблюдаются только при финитном движении. А еще есть сценарий инфинитного выхода на бесконечность при отталкивающем центре.

Отредактировано fongostev (Апрель 21, 2014 11:22:40)

Офлайн

#5 Апрель 21, 2014 11:26:48

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

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

fongostev
А, я что-то подумал, траекторию строишь x(t). x(y) - это фазовый портрет. Не факт, эллипсы наблюдаются только при финитном движении. А еще есть сценарий инфинитного выхода на бесконечность при отталкивающем центре.
Даже так, если мы будем вылетать на бесконечность, мы будем двигаться по гиперболе, но не по прямой.

Офлайн

#6 Апрель 21, 2014 11:31:22

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

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

Olmer
Ну ладно, это уже физика, твоя задача - тебе и анализировать, что у тебя там происходит. Мой совет - посмотри около центра траектории, а то картинка неинформативна. Полагаю, при малых значениях координат обнаружишь искомую гиперболу с асимптотой на прицельном параметре.

Офлайн

#7 Апрель 22, 2014 09:56:40

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

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

Вот какой код у меня получился. Только график рисует ужасно. Можете посмотреть, господа знатоки,почему так плохо?

from matplotlib import pyplot as plt
import numpy as np
from scipy.integrate import odeint
my=open('motion2','w')
G=6.67*10**-8
M=2*10**33.
a = - G*M
def traekt(u,t):
	y,vy,x,vx=u
	return [vy, a/y**2.,vx,a/x**2.]
y0 = [10.,3*10**6.,1.5*10**13.,10**4.]
t_output = np.arange(0., 10**7., 10**2.)
u = odeint(traekt, y0, t_output)
print u
my.write(str(u) + '\n')
plt.plot(u[:,0], u[:,2])
plt.show()

Офлайн

#8 Апрель 22, 2014 11:38:54

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

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

Ты задумывался о том, что ты вообще строишь?
Да, и еще, так с файлами работать плохо, лучше

with open(filename, "w") as f:
    f.write(data)

Офлайн

#9 Апрель 22, 2014 11:59:34

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

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

fongostev
Ты задумывался о том, что ты вообще строишь?Да, и еще, так с файлами работать плохо, лучше
Да! Я должен получить орбиту или некую траекторию в y,x координатах.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version