求助 关于correlation_integral的matlab程序
运行了correlation_integral的程序:function C_I=correlation_integral(X,M,r)
%the function is used to calculate correlation integral
%C_I:the value of the correlation integral
%X:the reconstituted state space,M is a m*M matrix
%m:the embedding demention
%M:M is the number of embedded points in m-dimensional sapce
%r:the radius of the Heaviside function,sigma/2<r<2sigma
%calculate the sum of all the values of Heaviside
%skyhawk
sum_H=0;
for i=1:M
% fprintf('%d/%d\n',i,M);
for j=i+1:M
d=norm((X(:,i)-X(:,j)),inf);%calculat the distances of each two points in matris M with sup-norm
sita=heaviside(r,d);%calculate the value of the heaviside function
sum_H=sum_H+sita;
end
end
C_I=2*sum_H/(M*(M-1));%the value of correlation integral
程序运行不了!
请问,倒数第五行中的 heaviside(r,d) 这个函数的程序是怎样的?
谢谢!!:@) 这个应该不是matlab自带的函数
这个命令是计算heaviside函数的固有值 下面就是你所需要的heaviside函数代码
function sita=heaviside(r,d)
%the function is used to calculate the value of the Heaviside function
%sita:the value of the Heaviside function
%r:the radius in the Heaviside function,sigma/2<r<2sigma
%d:the distance of two points
%skyhawk
if (r-d)<0
sita=0;
else sita=1;
end
回复 #2 咕噜噜 的帖子
是MATLAB自带的函数 只不过参数变量为一个他用两个当然不行了回复 #4 sssssxxxxx921 的帖子
有这个函数吗?我找找,以前还没有注意到,因为这个m文件我也是下载的 其实把它的的参量相减当作一个变量代入函数就可以了
页:
[1]