错误使用 double.heaviside输入参数太多。出错 correlation_integral (line 15) sita=heaviside(r,d);%calcul

data=load('dong.dat');
N=length(data);
tau=4;
min_m=2;
max_m=20;
ss=20;
for m=min_m:max_m
    Y=reconstitution(data,N,m,tau);%重构相空间Y
    M=N-(m-1)*tau;%重构相空间中的嵌入点数
    for i=1:M-1
        for j=i+1:M
            d(i,j)=max(abs(Y(:,i)-Y(:,j)));%计算相点Y(i)和Y(j)的距离
        end                                %j>M循环结束 ?? ??
    end
    max_d=max(max(d));%the max distance of all points
    d(1,1)=max_d;
    min_d=min(min(d));%the min distance of all points
    delt=(max_d-min_d)/ss;%the stepsize of r
    for k=1:ss
        r=min_d+k*delt;
        C(k)=correlation_integral(Y,M,r);%计算关联积分
        ln_C(m,k)=log(C(k));%求lnC(r)
        ln_r(m,k)=log(r);%求lnr
        fprintf('%d/%d/%d/%d\n',k,ss,m,max_m);
    end
    plot(ln_r(m,:),ln_C(m,:));
    hold on;
end
fid=fopen('lnr.txt','w');%打开lnr.txt,'w'表示对打开的文件写数据
fprintf(fid,'%6.2f %6.2f\n',ln_r);%将矩阵ln_r的列向量以浮点格式%6.2f %6.2f\n写入到文本文件lnr.txt
fclose(fid);%关闭文件
fid = fopen('lnC.txt','w');%打开lnC.txt,'w'表示对打开的文件写数据
fprintf(fid,'%6.2f %6.2f\n',ln_C);%将矩阵ln_C的列向量以浮点格式%6.2f %6.2f\n写入到文本文件lnc.txt
fclose(fid);%关闭文件
grid on;

以上是我的代码。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值