Найти - Пользователи
Полная версия: моделирование на python!!! нужна помощь
Начало » Центр помощи » моделирование на python!!! нужна помощь
1 2 3 4 5 6 7
alexx11
udav
А то, что он движется по прямолинейной траектории - очередной домысел.
udav
alex11
снаряд двигается по прямолинейной траектории
Я этого не исключаю
У тебя всё в порядке? А?

udav
- ты движешься в верном направлении,
осталось только подставить это в ур-е системы, получить рациональную дробь,
разбить ее на сумму простых дробей, проинтегрировать и попробовать…
Вперёд! Как говорится, лопату в руки, и пошёл! Выписывать фигуры отличные от прямой. Ты как бы даже и на студента-двоечника не похож! Недоучка какой-то.
vell
doza_and
Ха сам в бауманке учился. Правда в физмат школе. Всегда готов оказать содействие в решении задачи абитуриенту.

Суть тогда такая - коэфф могут меняться НУ тоже может и постановка задачи (уравнения - может птица по пути встретиться). Такой подход для бауманки вполне может быть. Эта задача по программированию или по физике? Ответьте пожалуйста.
Вам надо еще почитать про графические возможности питона, я наверное рекомендую использовать matplotlib.
Аналитические упрощения возможны, приветствуются но наверное от вас не этого ждут.
Еще непонятно стало вам яснее как решать задачу или нет, может вы уже все отправили?
Честно говоря эта задача как по физике так и по програмированию просто на кафедре и то и другое надо (РК-6). как решать с точки зрения математики стало немного яснее про численный метод подстановки dt и вычичления точек ) не понятны аналитические преобразования . да и есть сложности с самим написанием программы . не доконца разобрался с python . и его возможностями . про vatplotlib читал но опять же не могу найти основные проедуры которые заложены в эту библиотеку
udav
vell
не понятны аналитические преобразования
Чтобы получить точное решение необходимо уметь интегрировать рациональные дроби и
знать метод неопределенных коэффициентов - я не понтуюсь, это входит в курс интегрального
исчисления, но в школах, даже физмат, по-моему не преподается.
Так что для вас численный метод, похоже, единственный вариант.
Isem
udav
vell
не понятны аналитические преобразования
Чтобы получить точное решение необходимо уметь интегрировать рациональные дроби и
знать метод неопределенных коэффициентов - я не понтуюсь, это входит в курс интегрального
исчисления, но в школах, даже физмат, по-моему не преподается.
Так что для вас численный метод, похоже, единственный вариант.
А в чем проблема взять интеграл от дроби 1/(a+bx) по х ? Задача аналитически решается на базе программы средней школы.
Isem
vell
alexx11
Тут я хотел тебя ещё сразу спросить, да как-то всё не мог застать здесь. Дело в том что в системе описано движение снаряда, как бы на льду, ну, т.е. угол от наблюдателя остаётся не низменным по X и Y, и снаряд двигается по прямолинейной траектории. Я просто не физик, поэтому хотел спросить: именно это она должна моделировать твоя система?
нет эта система для моделирования полёта снаряда в воздухеи угол для наблюдателя меняется
Учитывая, что движение, очевидно, прямолинейно, речи о полете снаряда быть не может. Угол a задает направление движения в плоскости XY.
doza_and
Может вам поможет посмотреть пример. У нас есть один студенческий минипроект ivp++ (initial value problem on C++)
Это пакет решения задач Коши ориентированный на задачи в которых есть ярко выраженная специфика. Всякие там конечные элементы, повышенная точность, полуаналитика и т.п. Но думаю в вашем случае тоже не сложно воспользоваться. И по уровню будет похоже на абитуриента :)

http://sourceforge.net/projects/ivpp/develop
поставьте svn (если его у вас нет) и выполните что просят "svn co https://ivpp.svn.sourceforge.net/svnroot/ivpp ivpp"
Я долил туда реализацию простейших методов на питоне. В корень бросил ivpp.py.
Запустите файл без параметров и получите графики изменения переменных состояния (надо только поставить matplotlib и numpy)
def main():
res=[]
for st in gear(num.array([0.,1.]),Tsin(0.2,0.),0,50,0.4,order=3):
res.append([st.t,st.x[0],st.x[1]])
v=num.array(res)
plt.plot(v[:,0],v[:,1])
plt.plot(v[:,0],v[:,2])
plt.show()
Интерфейс как видите - итератор. На каждой итерации получается новое состояние системы.
Сама задача состоит из двух частей - дифференциальных уравнений - которые описаны в объекте Tsin(0.2,0.)
и начальных условий num.array(). Результаты накапливаются и отрисовываются с использованием matplotlib вам надо просто поменять метод f класса Tsin используйте ee или rk4 в качестве интегратора.
udav
Isem
А в чем проблема взять интеграл от дроби 1/(a+bx) по х ?
Дробь будет иметь вид 1/x(a+bx) и проинтегрировав ее, получим vx(t), а чтобы получить
x(t), придется интегрировать еще раз.
Isem
udav
Дробь будет иметь вид 1/x(a+bx) и проинтегрировав ее, получим vx(t), а чтобы получить
x(t), придется интегрировать еще раз.
Дробь вида 1/x(a+bx) легко представима в виде суммы дробей A/x + B/(C+Dx). Непосредственно Vx после интегрирования примет вид C/(exp(kt)-b), которая так же элементарно интегрируется, чтобы получить x(t). Ну а Vy = const*Vx .
udav
Isem
Дробь вида 1/x(a+bx) легко представима в виде суммы дробей A/x + B/(C+Dx).
Это и есть метод неопределенных коэффициентов.
И в остальном я с вами согласен - выбор заvell.
alexx11
udav
Isem
Дробь вида 1/x(a+bx) легко представима в виде суммы дробей A/x + B/(C+Dx)
Это и есть метод неопределенных коэффициентов. И в остальном я с вами согласен
Ну дак и что, как успехи с подстановкой?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB