driven_fre=@(t,y,tau,Delta,eta,g,J)[ ...
Delta/(tau*pi)+2*y(1,:).*y(2,:)-g*y(1,:); ...
y(2,:).^2+eta(t)-(pi*tau*y(1,:)).^2+tau*J.*y(1,:) ...
]/tau;
tau=10;
Delta=1;
J=0;
g=3;
eta=1;
frequency=[0:1 :(4.5*freq0)];
drive=@(eta,d_eta,f,t) eta+d_eta*sin(2*pi*f/1000*t);
d_eta=0.5;
for j=1:numel(frequency)
if frequency(j)
T=[0 200000]/frequency(j);
else
T=[0 200000]/freq0;
end
[t,y]=ode45(@(t,y)driven_fre(t,y,tau,Delta,...
@(t)drive(eta,d_eta,frequency(j),t),g,J),T(1):1/100000:T(end),[0.1,1]);
ind=t>=t(end)-t(fix(end/2));
t=t(ind); t=t-t(1);
y=y(ind,:);
Fs= 1/(1/100);
r=y(:,1)*1000;
[a_mean(j),freq(j)]= peaks(r,t)
[pospks,posidx] = findpeaks(r,t);
[negpks,negidx] = findpeaks(-r,t);
negpks=-negpks;
for k= 1:(length(posidx)-1)
dist(k)= (posidx(k+1)-posidx(k));
dist(k)= dist(k)/1000;
end
mean_dist= mean(dist);
freq(j)= 1/mean_dist ;
a_mean(j)=mean(pospks)-mean(negpks);
end
0 Comments
Sign in to comment.