zoukankan      html  css  js  c++  java
  • matlab计算LZ复杂度

    我这个计算得14通道,每个通道截取3000个数据得复杂度,最后将计算得出得数据存储到本地txt文档中

    function  LZC(data)
    % 计算一维信号的复杂度
    % data时间序列 
    % lzc:信号的复杂度 
    data = data(:,1:3000);
    for i=1:14
      MeanData = mean(data(i,:)); % 数据二值化处理,基于均值的二值化处理
      b=(data(i,:)> MeanData);
      x(1:length(b))='0';  
      x(b)='1';%二值化后得到01序列字符串。
      c = 1; %模式初始值
      S = x(1);
      Q = [];
      SQ = []; %S Q SQ初始化
      for i=2:length(x)
        Q = strcat(Q,x(i));
        SQ = strcat(S,Q);
        SQv = SQ(1:length(SQ)-1);
         if isempty(findstr(SQv,Q)) %如果Q不是SQv中的子串,说明Q是新出现的模式,执行c 加1操作 
          S = SQ;
          Q = [];
          c = c+1; 
         end
      end
      c=c+1;    %循环得到的c是字符串断点的数目,所以要加1
      b = length(x)/log2(length(x));
      lzc = c/b;
    %   fprintf('
    
    序列data的LZ复杂度是
    
    ');
    %   fprintf('%f', lzc);
      fid=fopen('C:Users25626Desktop滤波后数据14复杂度5 3.txt','a');
      fprintf(fid,'%f
    ',lzc);
    end
      fclose(fid);
    end
    

      

  • 相关阅读:
    《编写高质量代码》读书笔记一
    [转] Markdown
    皓首穷经还是及时行乐!
    有用的iOS网站地址
    [股票] 入市
    https原理 就是两次http
    数据预处理
    重新建立程序员的应对方式
    ROC曲线手画
    机器学习的总结
  • 原文地址:https://www.cnblogs.com/andrew-address/p/12725445.html
Copyright © 2011-2022 走看看