Представи си свят, в който дори най-малката пеперуда може да унищожи цялата планета. Звучи абсурдно, нали? И все пак в това има известна истина. В средата на XX век математикът Едуард Лоренц създава прост математически модел на атмосферната конвекция. Моделът съдържа система от три обикновени диференциални уравнения, които днес познаваме като уравненията на Лоренц:
Тези уравнения показват, че ако променим началните условия съвсем малко, получаваме различен резултат. Хитрото е, че резултатът е коренно различен, а не просто леко отместен. Това поведение се нарича хаотично и е причината много физични системи да са принципно непредсказуеми.
Решаване на системата
Ще ползваме най-простия метод – този на Ойлер:
където е стъпката. Приложен към системата на Лоренц:
import numpy as np
import matplotlib.pyplot as plt
sigma, rho, beta = 10, 28, 8 / 3
h, t = 0.01, 10000
x = np.empty(t + 1); y = np.empty(t + 1); z = np.empty(t + 1)
x[0], y[0], z[0] = 10, 10, 10
for i in range(t):
x[i + 1] = x[i] + h * (sigma * (y[i] - x[i]))
y[i + 1] = y[i] + h * (x[i] * (rho - z[i]) - y[i])
z[i + 1] = z[i] + h * (x[i] * y[i] - beta * z[i])
fig = plt.figure(figsize=(12, 9))
ax = fig.add_subplot(projection="3d")
ax.plot(x, y, z, color="g", alpha=0.7, linewidth=0.5)
plt.show()
Чувствителност към началните условия
Три траектории, които започват на разстояние една от друга, се разделят след няколко секунди симулирано време:

