我已经换了方法计算tau,现在tau值已经不是小数了,但是用小数量法计算出来的lyapunov指数有好几十,请大家帮忙看看
可能是taumax出了问题,我不知道这是怎么定义的,就用了原数,这个程序是计算别的方程的,我把数据部分改成自己的了,
%输入---------------------------------------------------
%-----------------------0.008----------------------------------------
load hr_a1_s0.008.tim%
x=hr(:,9)
m=3;
N=length(x);
tau=4;
%求平均周期P---------------------------------------------------------
dt=herui(2,1)-herui(1,1);
fs=1/dt; % 采样频率
dflag='mean';
nfft=1024;
window=256;
noverlap=window/2;
[p,f]=psd(x,nfft,fs,window,noverlap,dflag);
%mpf:
mpf=trapz(f,f.*p)/trapz(f,p);
P=1/mpf;
%-----------------------------------------------------------------
taumax = 30; % 最大离散步进时间
%-----------------------------------------------------------------
Y1 = Lyapunov_rosenstein_2(x,tau,m,taumax,P,fs);
figure
subplot(211); plot(Y1); grid; xlabel('i'); ylabel('y(i)'); title('Logistic')
subplot(212); plot(diff(Y1)); grid; xlabel('n'); ylabel('slope');
linear_zone = [9:30]'; % 线性区域
F1 = polyfit(linear_zone,Y1(linear_zone),1);
Lyapunov_2 = F1(1) % 以 2 为底的指数
Lyapunov_e = Lyapunov_2/1.4427 % 以 e 为底的指数 |