二阶龙格塔库积分法求解混沌产生方程(求助)

    最近论文中常常接触到激光产生混沌的方程,激光器作为非线性元件,在信息处理中具有非常大的潜力,其中激光产生混沌应用在通信中很有用处。论文中对于模拟数据部分,采用了以下公式来产生混沌:

请添加图片描述
以此公式产生混沌的方法应用于模拟数据中的论文,单我看到的已经不下五篇了。对于使用怕python将其产生的混沌运行出来,自己也在尝试。但是得到的结果并不如意。文章中使用的是二阶龙格库塔(second-order Runge-Kutta)的方法来对这两个式子进行积分。以下是我对于二阶龙格库塔方法解方程的步骤(手写是因为到现在还是不会用csdn来编辑公式)请添加图片描述
对于fsp也就是朗格万项的理解确实不够,自己在以后也会精进一下理解,这里把它看成一个常数项进行处理。
对于n~的微分公式的积分并没有采用二阶龙格塔库积分方法,而是通过直接求出原式带入到1式子中。我对于整个解微分方程的python代码书写如下(实验参数已经标注在开头):

import matplotlib.pyplot as plt
import math
rc=5.36*1e11
rs=5.96*1e9
rn=7.53*1e9
rp=1.91*1e10
b=3.2
J=1.222
fr=1e10
oi=0.05
fi=8*1e9
h=1.19*(1/1e12)
chaotic_value=[]
def value_A(a):
    aa=abs(a)
    anss=(rs+rn*aa*aa)*(-1.0)
    return anss
def value_B(a):
    aa=abs(a)
    anss=rs*J*(1-(rp/rc)*aa*aa)*(aa*aa-1)*(-1.0)
    return anss
def value_n(t,a):
    anss=(math.exp(value_A(a)*t)-value_B(a))/value_A(a)
    return anss
def value_f(t,a):
    aa=abs(a)
    first=complex(1,b*(-1))/2.0
    second=(((rc*rn*value_n(t,a))/(rs*J))-rp*(aa*aa-1))*a
    third=oi*rc*complex(math.cos(2*math.pi*fi*t),(-1)*math.sin(2*math.pi*fi*t))
    forth=((4.0*math.pi*10.0*1e6)/(1+b*b))**0.5
    anss=first*second+third+forth
    return anss
t=0.0
y=0.0
chaotic_value.append(y)
for item in range(100):
    k1=value_f(t,y)
    k2=value_f(t+h,y+h*k1)
    y_next=y+h*((k1+k2)/2.0)
    chaotic_value.append(y_next)
    y=y_next
    t=t+h
    pass
for item in chaotic_value:
    print(item)
plt.plot(range(101),chaotic_value)
plt.show()

值得注意的是式子中的i应该是复数的虚部,而一开始我认为是当前的步数。得出的结果更加离谱。下面是取样50个点运行的图像:
请添加图片描述

下图为100个点:
请添加图片描述

 接下来是10000个点

请添加图片描述
最终产生的混沌图像应该是什么样子我也没有见过,但是我感觉我形成的这一个图像过于规律了,不想混沌,但是我也是通过文章表述来编写的代码,debug了挺长时间。很希望专业认识对于这一混沌产生函数的代码编写进行指正。或者是有哪里理解的不对,欢迎交流。感觉以后写论文肯定会用到这个模型的。希望佬们快快帮帮我。
相关论文链接:https://opg.optica.org/oe/fulltext.cfm?uri=oe-31-24-40592&id=542433

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

直接AC好吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值