Systemy Rozproszone Lab
Zadania
$$\left\{\begin{array}{rcl} \dot{x} & = & \cos{\phi}*u_1,\\ \dot{y} & = & \sin{\phi}*u_1,\\ \dot{\phi} & = & u_2,\end{array}\right.$$
gdzie $(x,y)$ reprezentuje pozycję platformy na płaszczyźnie XY, $\phi$ to orientacja platformy, $u_1$ sygnał sterujący prędkością liniową i $u_2$ to sygnał sterujący prędkością obrotową.Posłużymy się solverem solve_ipv z pakietu SciPy
from scipy.integrate import solve_ivp
# Prawa strona równania różniczkowego dot(x) = f(t, x, p), gdzie
# t -- czas
# x -- stan
# p -- parametr
def f(t, x, p):
return -p * x
# Horyzont czasu
T = [0, 10]
# Stan początkowy
x0 = [2]
# Parametr
p = 0.5
# Rozwiąż
sol = solve_ivp(f, T, x0, args=[p])
# Wyświetl rozwiązanie
print(sol.t)
print(sol.y)