【cpg控制】Hopf振荡器的一种python实现

系列文章目录

【CPG控制】Hopf振荡器引入beta参数

【CPG控制】Hopf振荡器之间的耦合

【cpg控制】HOPF振荡器动态特性分析

一、python 解微分方程

python有用于求解常微分方程的库,库里面提供了不少功能,例如sympy的dsolve,以及scipy.integrate.odeint。其具体用法可参考官方文档,这里就不过多赘述,举两个例子看下效果

1、利用dsolve求解析解

f ( x ) ′ ′ + f ( x ) = 0 {f(x)}'' + f(x) = 0 f(x)+f(x)=0

import sympy as sy
 
def fun(x,f):
    return sy.diff(f(x),x,2)+f(x) 
x=sy.symbols('x') # 变量符号
f=sy.Function('f') # 函数符号
sy.pprint(sy.dsolve(fun(x,f),f(x))) # 打印等式

我们能得到以下方程

f(x) = C₁⋅sin(x) + C₂⋅cos(x)

c 1 = 1 , c 2 = 1 c_1=1, c_2=1 c1=1,c2=1,我们用matplotlab把他的图像画出来:

t = np.arange(0, 5, 0.001)
y = np.sin(t) + np.cos(t)
figure = plt.figure()
plt.grid(ls="--")
plt.plot(t, y)
plt.show()

2、利用scipy.integrate.odeint求解

我们先尝试一阶的微分方程: d y d t = y \frac{dy}{dt} = y dtdy

  • 23
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值