unGu.ru — Закон сохранения энергии

Рассмотрим закон сохранения энергии на примере задачи свободного падения тела. Работа есть произведение приложенного усилия на видимые изменения. В случае свободного падения вблизи поверхности Земли приложенная сила — величина постоянная = m*g, а результат работы — изменение высоты тела — h. При подъёме тела совершаемая работа сохраняется в потенциальной энергии = m*g*h. При свободном падении потенциальная энергия переходит в кинетическую = m*v2/2. Составим программу расчёта свободного падения на основе закона сохранения энергии:

g = 9.8
m = 1.
h = 100.
e_p = m*g*h
v = 0.
e_k = m*v**2./2.
t = 0.
dA = e_p/1000.
t_ = [t]
h_ = [h]
v_ = [v]
while h>0.:
	e_p = e_p - dA
	e_k = e_k + dA
	h_new = e_p/m/g
	v_new = (e_k/m*2.)**0.5
	dt = (h-h_new)/(v+v_new)*2.
	t = t + dt
	h = h_new
	v = v_new
	t_.append(t)
	h_.append(h)
	v_.append(v)
import matplotlib.pyplot as plt
plt.plot(t_,h_,'red')
plt.twinx()
plt.plot(t_,v_,'blue')
plt.show()

В этой программе закон сохранения энергии заключён в двух первых строчках цикла, где малая порция работы dA отнимается из потенциальной энергии и добавляется в кинетическую. На основе закона сохранения энергии можно определить скорость для любого положения тела, время для этого не требуется. Время мы восстанавливаем отдельно в следующих строчках, его точность зависит от величины порции работы и на рисунке строим две зависимости: высоты и скорости от времени.