|
- function [E1,E2,m]=cao_m(data,min_m,max_m,tau)
- %该程序用Cao氏法计算时间序列的嵌入维数m
- % clc
- % clear
- % load stock
- % data=x; % data为原始数据,列向量,n行1列
- min_m=1;
- % max_m=10;% min_m,max_m分别为最小和最大嵌入维数
- % tau=2; % tau为时间延迟
- % 作者:Adu,武汉大学,adupopo@163.com
- [E1,E2]=cao1(data,min_m,max_m,tau);
- n=length(E1);
- figure
- plot(1:n,E1,'-bs',1:n,E2,'-r*');xlabel('维数');ylabel('E1&E2');
- title('Cao氏法求最小嵌入维数');
- legend('E1','E2');
- grid on
- temp=E2./E1;
- for k=2:length(temp)
- if(abs(temp(k)-1)<=0.02&abs(temp(k)-temp(k-1)<=0.03))
- temp(k)
- m=k;
- break;
- end
- end
- m
复制代码 |
|