我终于得到了一些“工作”的代码,它甚至可以用于强大的功能。怎么也不会给奇怪的动力函数提供任何答案。
我跟踪物体沿曲线移动时的位置。我好像 给我好的数据。但它不会因奇数功能而终止。
我正在使用python 3.5
import sympy
from sympy import *
from numpy import *
import numpy as np
import matplotlib.pyplot as plt
x = Symbol('x')
FuncY = input("Enter a function: Y(x) = ")
F = sympy.sympify(FuncY)
################### Defined Variables ########################
Vo = 0
Xo = -3
Yo = F.subs(x,Xo)
Xf = 3
Yf = F.subs(x,Xf)
A = -10
t = .01
Xi = Xo
Yi = Yo
Vi = Vo
XI = []
YI= []
VI = []
#########################
while Xi <= Xf:
dy_dx = float(F.diff(x).subs(x,Xi)) #derive function F
theta = float(atan(dy_dx)) # find angle of slope
a = A * sin(theta) # find acceleration along curve
V = Vi + a*t # find velocity along curve
Vi = V # update initial velocity
VI.append(Vi)
##################### position and velocity in X
Vx = V*cos(theta) # velocity in x
X = Xi + Vx*t # new position of do to velocity
Xi = X
XI.append(Xi)
################################### position and velocity in y
Vy = V*sin(theta)
Y = Yi + Vy*t
Yi = Y
YI.append(Yi)
#################################
print(XI)
print(YI)
print('Velocity')
print(VI)
plt.plot(XI, YI,'bo')
plt.show()
谢谢大家的帮助
克里斯
答案 0 :(得分:0)
你正在做很多额外的工作来重建这个功能;为什么不让慰问呢?
type='text'