資源簡介
很好用的杜芬振子仿真的matlab程序,本人已經(jīng)使用過

代碼片段和文件信息
function?dx=duffing(tX)
global?F?wd??SigData?iStep?tStep?Phase?oSig;
%SigData???????實(shí)測信號(hào)
%iStep?????????積分步計(jì)數(shù)器
%tStep?????????采樣間隔
%Phase?????????相位
%oSig??????????實(shí)際每步積分加到振子上的外來信號(hào)序列
%??????????????(由于積分步與采樣間隔不等,因而oSig與Phase等長,但與SigData等價(jià),相當(dāng)于一次重采樣過程)
%??????????????(oSig序列應(yīng)當(dāng)與0.00003*cos(Phase)序列基本重合,只存在采樣誤差)
%r=0.168;
c=0.5;
x=X(1);
y=X(2);
psi=X(3);
dx=zeros(31);
iStep?=?iStep?+?1;?%記錄積分步數(shù)
Phase(iStep)?=?psi;%記錄每次積分時(shí)策動(dòng)信號(hào)的相位
dx(1)?=?y;
%混沌振子本身
dx(2)?=?-wd*c*y?+?wd^2*(x*(1-x^2)?+?F*cos(psi));
%加入實(shí)測信號(hào)?
%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);
%加入模擬信號(hào)
%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;
%含有信號(hào)和噪聲
%dx(2)=?-c*y?+?x*(1-x^2)+?F*cos(psi)+0.1*rand+0.00003*cos(psi);
dx(3)?=?wd;%角度的導(dǎo)數(shù),通過t表達(dá)。
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1273??2008-03-14?21:44??duffing_bifurcation.m
?????文件???????1125??2008-05-27?14:57??Duffing.m
-----------?---------??----------?-----??----
?????????????????2616????????????????????3
評(píng)論
共有 條評(píng)論