c_values = [0, 0.2, 0.5, 1.5] # Wartości współczynnika tłumienia c print(c_values)
for c in c_values: omega = 0 theta = theta_0 / 180 * math.pi time_values = [] theta_values = []
print("Tłumienie c =", c) time_2 = 0 for i in range(iterations): time = i * h time_values.append(time / T_0) theta_values.append(theta)
omega_2 = omega theta, omega = runge_kutta(theta, omega, h, c) if (omega * omega_2 < 0) or (omega_2 == 0): print("T/2/T_0=", (time - time_2) / T_0) time_2 = time
plt.plot(time_values, theta_values)
# WYKRESY - RYSOWANIE: plt.xlabel(r'Czas unormowany $t/T_0$') plt.ylabel(r'$\theta(t)$ [stopnie]') plt.title('Wykres kąta wychylenia wahadła z tłumieniem od czasu') plt.grid(True) plt.legend(['c = 0', 'c = 0.2', 'c = 0.5', 'c = 1.5'])
plt.show()
if __name__ == "__main__": main()
Równanie różniczkowe zwyczajne rzędu n Jeżeli mamy równanie różniczkowe zwyczajne rzędu to w szczególnych wypadkach można obniżyć jego rząd. Zagadnienie obniżania stopnia równań różniczkowych omawia np. Np. gdy dane jest równanie różniczkowe w postaci jawnej
to zamienia się je na układ równań rzędu 1 poprzez wprowadzenie dodatkowych zmiennych