отсутствует 1 требуемая ошибка позиционного аргумента с solve_ivp - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь смоделировать движение транспортного средства, используя python, и я использую solve_ivp , чтобы разрешить ODE, вот мой код ниже

import numpy, scipy, scipy.integrate, math ,random
import matplotlib.pyplot as plt

def vehicleDynamics(t, x , v):   
    u      = max(2.0, 0.3*t)
    vcoeff = random.randint(0, 40) * t   
    return [v[0] * math.sin(x[2]), v[0] * math.cos(x[2]), v[0], u ,vcoeff]


# Initial State
x  = [0 ,0, 1]
v  = [1.2]

# Time points for drawing
timePointsOfInterest = numpy.linspace(0, 15, 2000)

# Evaluate ODE
odeResult = scipy.integrate.solve_ivp(vehicleDynamics, (0.0, 15.0 )  ,x   ,t_eval=timePointsOfInterest)
assert odeResult.success

# Plot
plt.plot(odeResult.y[0], odeResult.y[1])
plt.xlabel("X Position")
plt.ylabel("Y Position")
plt.axis("equal")
plt.show()

, но я продолжаю получаю следующую ошибку компиляции:

TypeError: vehicleDynamics() missing 1 required positional argument: 'v'

Я что-то здесь упускаю, как правильно передать параметр

...