Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 15, 2011 21:46:30

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

По всей видимости нужно все-таки подставить небольшую программку на питоне для численного решения :)



Офлайн

#2 Янв. 15, 2011 21:56:22

alexx11
От:
Зарегистрирован: 2010-05-13
Сообщения: 208
Репутация: +  0  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

Isem Дак всю работу ТС на себя никто не возьмёт. Я лишь предоставил аналитическое решение, с которым можно сверится при реализации программки, и следствия вытекающие из решения.



Офлайн

#3 Янв. 23, 2011 22:48:11

vell
От:
Зарегистрирован: 2010-11-15
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

в python есть класс векторов ?



Офлайн

#4 Янв. 24, 2011 06:55:14

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

Скачайте и установите библиотеку numpy для этого.
http://numpy.scipy.org/



Офлайн

#5 Янв. 27, 2011 18:07:59

vell
От:
Зарегистрирован: 2010-11-15
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

написал программу которая расчитывает координаты х и у (х и у масивы ) как теперь графйик построить??



Офлайн

#6 Янв. 27, 2011 21:05:58

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

Скачайте и установите библиотеку matplotlib для этого.
http://matplotlib.sourceforge.net/



Офлайн

#7 Янв. 27, 2011 21:35:25

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

Посмотрите пример я ведь вам и ссылку дал и текст (2011-01-13 20:49:57) где и интегратор работает и картинка строится.
в ivp++ сделайте у себя также



Офлайн

#8 Янв. 27, 2011 23:09:28

vell
От:
Зарегистрирован: 2010-11-15
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

ivp там представленно много методов . взял рк4 ( рунге кутта) пишит не правльный синтаксис в чём дело ?



Офлайн

#9 Фев. 2, 2011 18:00:55

vell
От:
Зарегистрирован: 2010-11-15
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

Народ вот написал программу

from numpy import *
from matplotlib import *
import matplotlib.pyplot as plt

v=120
a=45
m=1

vx0=v*math.cos(a)
vy0=v*math.sin(a)
x0=0
y0=0
k1=0.1
k2=0.3
dt=0.001
g=9.8
x=[x0]
vx=[vx0]
vy=[vy0]
y=[y0]
i=0

while y[i]>=0:
z=vx[i]-(k1/m*vx[i]+(k2/m)*vx[i]**2)*dt
vx.append(z)
f=vy[i]-(k1/m*vy[i]+(k2/m)*vy[i]**2+g)*dt
vy.append(f)
d=x[i]+vx[i]*dt
x.append(d)
r=y[i]+vy[i]*dt
y.append(r)
i=i+1

w=max(y)

print(x,y)
plt.plot(x,y)
plt.xlabel('x')
plt.ylabel('y')
o=x[i]
plt.axis([0, x[i]+2, 0, w+2])


plt.show()
как теперь добавить ввод данных(масса. угол, коэффицент пружины, коэфиценты сопративления среды, длинны пружины в свободном состоянии и в сжатом. ? и хотелось бы чтоб всё было в одном окне и ввод и сам график
Буду признателен за помощь



Отредактировано (Фев. 3, 2011 11:56:55)

Офлайн

#10 Фев. 4, 2011 20:25:09

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

моделирование на python!!! нужна помощь

Красивый ввод можно сделать но это сложнее - вы ведь оконное приложение тогда получите.
посмотрите например здесь: http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_wx2.html
но думаю игра не стоит свеч.

Мне обычно хватает pyscripter поскольку и текст программы доступен и график одновременно.

Правильно сделано или нет - не понятно у вас схема решения не отделена от оператора - кто его поймет что у вас получилось. Если схема отдельно - можно решить простые тестовые задачи для которых известно решение. У вас непонятно где что.

Скорее всего код сделан неправильно. Поскольку если положить в вашем коде k1=k2=0 получается парабола какая-то - а должна быть прямая по моему.

“не правльный синтаксис в чём дело?” - это наверное у вас питон 3.x надо print a,b,c ->print(a.b.c) заменить или еще что-нибудь в этом духе. Я бы посмотрел, но я не ставил пока третий питон.

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

Я вам посоветовал-бы всетаки выделить расчет производных в функцию. Взять схему попроще - явный эйлер и тогда все будет ок.
x_{k+1}=x_{k}+dt*f(t,x_{k})

Выражаю вам мое глубокое уважение. Ваше упорство в решении этой задачи воистину безгранично!



Отредактировано (Фев. 4, 2011 20:30:48)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version