混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.5)
- 前言
- 一、自治非哈密顿系统的构造、动态特性分析
- 1.相关理论基础
- 2.两个四维自治非哈密顿系统
- 3.数值分析
- python代码
前言
续接混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.4)
一、自治非哈密顿系统的构造、动态特性分析
1.相关理论基础
2.两个四维自治非哈密顿系统
本节的主要贡献是提出具有如下特点的两个新四维自治非线性联系系统:
第一,提出的系统都是非哈密顿能量保守系统。这可由存在的哈密顿能量函 数与李雅普诺夫指数和为零来说明。
第二,其中一个系统不存在逆时间对称性。
第三,提出的系统都存在两种类型的曲线平衡点。
第四,系统中存在的拟周期运动和混沌运动存在于一个超球面上。
通常一个四维非线性动力学系统可用如下一阶微分方程组来表示:
3.数值分析
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, b = sets
x, y, z, w = Point
return np.array([a * y * w,
x * z,
-x * y + b * w,
-a * x * y - b * z])
t = np.arange(0, 200, 0.01) # 时间序列 总共有 100/0.01=10000 个点
par_a = 2
par_b = 2
par = [par_a, par_b]
P = odeint(dmove, (1, -1, 1, -1), t, args=(par,))
plt.figure()
plt.plot(P[:, 0], lw=2)
plt.plot(P[:, 1], lw=2)
plt.plot(P[:, 2], lw=2)
plt.xlabel("t", fontsize=15)
plt.ylabel("x,y,z", fontsize=15)
plt.figure()
plt.plot(P[:, 0], P[:, 1], lw=1.5, c="b")
plt.xlabel("x", fontsize=12)
plt.ylabel("y", fontsize=12)
plt.figure()
plt.plot(P[:, 0], P[:, 2], lw=1.5, c="b")
plt.xlabel("x", fontsize=12)
plt.ylabel("z", fontsize=12)
plt.figure()
plt.plot(P[:, 2], P[:, 3], lw=1.5, c="b")
plt.xlabel("z", fontsize=12)
plt.ylabel("w", fontsize=12)
plt.show()