⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 duffing.m

📁 duffing混沌振子的实现代码
💻 M
字号:
function dx=duffing(t,X)

global F wd  SigData iStep tStep Phase oSig;

%SigData       实测信号
%iStep         积分步计数器
%tStep         采样间隔
%Phase         相位
%oSig          实际每步积分加到振子上的外来信号序列
%              (由于积分步与采样间隔不等,因而oSig与Phase等长,但与SigData等价,相当于一次重采样过程)
%              (oSig序列应当与0.00003*cos(Phase)序列基本重合,只存在采样误差)
%r=0.168;
c=0.5;

x=X(1);

y=X(2);

psi=X(3);

dx=zeros(3,1);

iStep = iStep + 1; %记录积分步数

Phase(iStep) = psi;%记录每次积分时策动信号的相位

dx(1) = y;
%混沌振子本身
dx(2) = -wd*c*y + wd^2*(x*(1-x^2) + F*cos(psi));

%加入实测信号 
%dx(2) = -wd*c*y + wd^2*(x*(1-x^2) + F*cos(psi) + 0.00003*SigData( floor( t/tStep ) + 1));
%oSig(iStep) = SigData( floor( t/tStep ) + 1);

%加入模拟信号
%dx(2) = -wd*c*y + wd^2*(x*(1-x^2) + F*cos(psi) + 0.0003*cos(psi));
%%%%%%%dx(2)=-c*y+1/2*x*(1-x^2)+F*sin(psi);

%含有噪声
%dx(2)= -c*y + x*(1-x^2)+ F*cos(psi)+0.1*rand;

%含有信号和噪声
%dx(2)= -c*y + x*(1-x^2)+ F*cos(psi)+0.1*rand+0.00003*cos(psi);

dx(3) = wd;%角度的导数,通过t表达。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -