示例#1
0
文件: testadj.py 项目: qiqi/home
from lorenz import Lorenz

l = Lorenz(10.0, 28.0, 8.0/3.0)
dtraj, traj = [], []
DT, NSTEP = 0.01, 1000
dx, dy, dz = 0.0, 10.0, 10.0
x, y, z = 0.0, 10.0, 10.0

dtraj.append((dx, dy, dz))
traj.append((x, y, z))
for i in range(NSTEP):
   dx, dy, dz = l.diff(x, y, z, dx, dy, dz, DT)
   x, y, z = l.step(x, y, z, DT)
   dtraj.append((dx, dy, dz))
   traj.append((x, y, z))

trajadj = []
xadj, yadj, zadj = 0.0, 10.0, 10.0
trajadj.append((xadj, yadj, zadj))
for i in range(NSTEP-1, 0-1, -1):
   x, y, z = traj[i]
   xadj, yadj, zadj = l.adj(x, y, z, xadj, yadj, zadj, DT)
   trajadj.append((xadj, yadj, zadj))
trajadj.reverse()

aggr = (asarray(trajadj) * asarray(dtraj)).sum(axis=1)
# pylab.plot(aggr)
print aggr.max() - aggr.min()

pylab.plot(numpy.arange(len(trajadj)) * DT, trajadj)