Перестановка уравнений требует символической математики.Для этого вам нужен SymPy.
Например, определите символы (обычно это одиночные символы, а не слова):
>>> import numpy as np
>>> import sympy
>>> v, p = sympy.symbols('v p')
Теперь вы можете сделать выражение для v
:
>>> vexpr = -100 + p / 10
И вы можете определить уравнение для решения:
>>> veq = sympy.Eq(v, vexpr)
>>> sympy.pprint(veq)
p
v = ── - 100
10
>>> pexpr, = sympy.solve(veq, p)
>>> pexpr
10*v + 1000
И вы можете превратить ваше выражение в функцию Python, которая будет работать с вашим массивом position
:
>>> f = sympy.lambdify(p, vexpr)
>>> position = np.arange(-10000, 10001)
>>> f(position)
array([-1100. , -1099.9, -1099.8, ..., 899.8, 899.9, 900. ])
Вы можете изменить свое выражение на v
и заново решить или пересчитать эти другие вещи.