untiedata.m

来自「一个计算多维定标(MDS)的matlab源代码」· M 代码 · 共 38 行

M
38
字号
function [ newseries , ntiedblocks , whichtiedblock ] = untiedata( ns , series );

whichtiedblock  = zeros( 1,ns );
ntiedblocks     = 0;
newseries       = 1;

for i=1:ns
   if (i>1)
      now = series( i );
      
      if (last==now)
         if (newseries==1)
            ntiedblocks = ntiedblocks + 1;
            newseries = 0;
         end   
         
         whichtiedblock( i   ) = ntiedblocks;
         whichtiedblock( i-1 ) = ntiedblocks;
      else
         newseries = 1;
      end
      
   end
   
   last = series( i );
end

order     = 1:ns;
newseries = 1:ns;

for i=1:ntiedblocks
   ii = find( whichtiedblock==i );
   
   av = mean(  order( ii ) );
   
   newseries( ii ) = av;
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?