In [1]:
import sympy as sp
sp.init_printing()
In [2]:
t0, t1, theta0, omega0, epsilon, R = sp.symbols('t_0 t_1 vartheta_0 omega_0 epsilon R')
In [3]:
adat=[(t0, 0),(t1,7),(theta0,sp.rad(30)),(omega0,10),(epsilon,-2), (R, 0.5)]
adat
Out[3]:
$$\left [ \left ( t_{0}, \quad 0\right ), \quad \left ( t_{1}, \quad 7\right ), \quad \left ( \vartheta_{0}, \quad \frac{\pi}{6}\right ), \quad \left ( \omega_{0}, \quad 10\right ), \quad \left ( \epsilon, \quad -2\right ), \quad \left ( R, \quad 0.5\right )\right ]$$

a) $\vartheta\left(t_1\right)$

In [4]:
t, c1, c2 = sp.symbols('t c_1 c_2')
In [5]:
fEpsilon = epsilon
In [6]:
fOmega=sp.integrate(fEpsilon,t)+c1
fOmega
Out[6]:
$$c_{1} + \epsilon t$$
In [7]:
fTheta=sp.integrate(fOmega,t)+c2
fTheta
Out[7]:
$$c_{1} t + c_{2} + \frac{\epsilon t^{2}}{2}$$
In [8]:
megoc1c2=sp.solve([fOmega.subs(t,t0)-omega0,fTheta.subs(t,t0)-theta0],[c1,c2])
megoc1c2
Out[8]:
$$\left \{ c_{1} : - \epsilon t_{0} + \omega_{0}, \quad c_{2} : \frac{\epsilon t_{0}^{2}}{2} - \omega_{0} t_{0} + \vartheta_{0}\right \}$$
In [9]:
c1.subs(megoc1c2).subs(adat)
Out[9]:
$$10$$
In [10]:
c2.subs(megoc1c2).subs(adat)
Out[10]:
$$\frac{\pi}{6}$$
In [11]:
fTheta.subs(megoc1c2).subs(t,t1).subs(adat)
Out[11]:
$$\frac{\pi}{6} + 21$$
In [12]:
sp.N(fTheta.subs(megoc1c2).subs(t,t1).subs(adat))
Out[12]:
$$21.5235987755983$$
In [13]:
sp.N(fTheta.subs(megoc1c2).subs(t,t1).subs(adat)/(2*sp.pi))
Out[13]:
$$3.42558713826314$$

b1) $\mathrm{sign}\left(\omega\left(t_1\right)\right)$

In [14]:
fOmega.subs(megoc1c2).subs(t,t1).subs(adat)
Out[14]:
$$-4$$

negatív $\rightarrow$ óramutató járásával megegyező

b2) $\vartheta\left(t^\ast\right)=?$, $\omega\left(t^\ast\right)=0$

In [15]:
tcs=sp.Symbol('tcs')
In [16]:
megotcs=sp.solve([fOmega],[t])
megotcs
Out[16]:
$$\left \{ t : - \frac{c_{1}}{\epsilon}\right \}$$
In [17]:
t.subs(megotcs).subs(megoc1c2).subs(adat)
Out[17]:
$$5$$
In [18]:
sp.N(fTheta.subs(megotcs).subs(megoc1c2).subs(adat))
Out[18]:
$$25.5235987755983$$
In [19]:
sp.N(fTheta.subs(megotcs).subs(megoc1c2).subs(adat)/(2*sp.pi))
Out[19]:
$$4.06220691063072$$

c) foronómiai görbék

In [20]:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
In [21]:
tList = np.linspace(float(t0.subs(adat)),float(t1.subs(adat)),50)
In [22]:
at = sp.lambdify(t, (R*fEpsilon).subs(adat))
In [23]:
plt.plot(tList, [at(t) for t in tList])
plt.fill_between(tList, [at(t) for t in tList], alpha = 0.1)
plt.xlim(left = tList[0],right = tList[-1])
plt.xlabel(r'$t [s]$')
plt.ylabel(r'$a_\mathrm{t} \, \left[\mathrm{m/s^2}\right]$')
plt.ylim(top = 0, bottom = -2)
plt.grid()
plt.show()
In [24]:
v = sp.lambdify(t, (R*fOmega).subs(megoc1c2).subs(adat))
In [25]:
plt.plot(tList, [v(t) for t in tList])
plt.fill_between(tList, [v(t) for t in tList], alpha = 0.1)
plt.xlim(left = tList[0],right = tList[-1])
plt.xlabel('t [s]')
plt.ylabel('v [m/s]')
plt.ylim(top = 5, bottom = -2)
plt.grid()
plt.show()
In [26]:
s = sp.lambdify(t, (R*fTheta).subs(megoc1c2).subs(adat))
In [27]:
plt.plot(tList, [s(t) for t in tList])
plt.fill_between(tList, [s(t) for t in tList], alpha = 0.1)
plt.xlim(left = tList[0],right = tList[-1])
plt.xlabel(r'$t \, \left[\mathrm{s}\right]$')
plt.ylabel(r'$s \, \left[\mathrm{m}\right]$')
plt.ylim(top = 14, bottom = 0)
plt.grid()
plt.show()
In [28]:
an = sp.lambdify(t, (R*fOmega**2).subs(megoc1c2).subs(adat))
In [29]:
plt.plot(tList, [an(t) for t in tList])
plt.fill_between(tList, [an(t) for t in tList], alpha = 0.1)
plt.xlim(left = tList[0],right = tList[-1])
plt.xlabel(r'$t \, \left[\mathrm{s}\right]$')
plt.ylabel(r'$a_\mathrm{n} \, \left[\mathrm{m/s^2}\right]$')
plt.ylim(top = 50, bottom = 0)
plt.grid()
plt.show()