混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.4)
- 前言
- 一、逆时间对称性分析
- 二、具有逆时间对称性的单晶格状混沌与拟周期流
- 1.逆时间对称性及哈密顿能量函数
- 2.数值仿真
- python代码
前言
续接混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.3)
一、逆时间对称性分析
二、具有逆时间对称性的单晶格状混沌与拟周期流
1.逆时间对称性及哈密顿能量函数
2.数值仿真
注意系统(3.49)产生的保守运动不能形成任何类型的吸引子。从前面两种情形下可以看出,不同的初始条件会形成不同的动态特性,诸如保守混沌、拟周期 运动,有点类似于耗散系统中隐藏的动态。
python代码
import numpy as np
from scipy.integrate import odeint
import matplotlib.pylab as mpl
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
mpl.rcParams['font.sans-serif'] = ['Times new roman'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
def dmove(Point, t, sets):
a, k = sets
x, y, z = Point
return np.array([y * (y*y - a*a) + z * (z*z - a*a),
-x * (x*x - a*a) + y * z * (z*z - a*a),
-x * (x*x - a*a) - y * y * (y*y - a*a) + k])
t = np.arange(0, 1000, 0.01) # 时间序列 总共有 100/0.01=10000 个点
T = np.linspace(0,100,len(t))
par_a = 2
par_k = 1
par = [par_a, par_k]
P = odeint(dmove, (-2, 2, 0), t, args=(par,))
H = 1 / 2 * (P[:, 0]**2 + P[:, 1]**2 + P[:, 2]**2) # 哈密顿能量
dH_dt = par_k * P[:, 2]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(P[:, 0], P[:, 1], P[:, 2], lw=0.7, c="b")
ax.set_xlabel('x', fontsize=12)
ax.set_ylabel('y', fontsize=12)
ax.set_zlabel('z', fontsize=12)
plt.tight_layout()
ax.set_title("")
ax.grid()
plt.figure()
plt.plot(P[:, 0], P[:, 1], lw=1, c="b")
plt.xlabel("x", fontsize=15)
plt.ylabel("y", fontsize=15)
plt.figure()
plt.plot(P[:, 1], P[:, 2], lw=1, c="b")
plt.xlabel("y", fontsize=15)
plt.ylabel("z", fontsize=15)
plt.figure()
plt.plot(P[:, 0], P[:, 2], lw=1, c="b")
plt.xlabel("x", fontsize=15)
plt.ylabel("z", fontsize=15)
plt.show()