📄 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 + -