Во-первых:
# b = 8 / 3
# получилось целочисленное деление, b=2
b = 8.0/3
Во-вторых:
def LorenX(x,y):
# return sigma * (x - y)
return sigma * (y - x)
В-третьих:
...отсюда я взял коэффициенты(последнее сообщение с кодом)
Неправильная копипаста же. Что-то странное с dt вы сделали. Я оттуда же скопипастил без отсебятины:
#
k1 = dt*LorenX(x,y)
m1 = dt*LorenY(x,y,z)
p1 = dt*LorenZ(x,y,z)
k2 = dt*LorenX(x + k1/2,y + m1/2)
m2 = dt*LorenY(x + k1/2,y + m1/2,z + p1/2)
p2 = dt*LorenZ(x + k1/2,y + m1/2,z + p1/2)
k3 = dt*LorenX(x + k1/2,y + m2/2)
m3 = dt*LorenY(x + k1/2,y + m2/2,z + p2/2)
p3 = dt*LorenZ(x + k1/2,y + m2/2,z + p2/2)
k4 = dt*LorenX(x + k1,y + m3)
m4 = dt*LorenY(x + k1,y + m3,z + p3)
p4 = dt*LorenZ(x + k1,y + m3,z + p3)
x += (k1 + 2*k2 + 2*k3 + k4) / 6
y += (m1 + 2*m2 + 2*m3 + m4) / 6
z += (p1 + 2*p2 + 2*p3 + p4) / 6