How to delete repeated elements in column
    4 views (last 30 days)
  
       Show older comments
    
I have 10x4 array with strings say
D={'Run'  ''     'play'     '';
    ''    'go'    ''       'sit' ;  
    'Run' ''      'play'    '';
    ''    'go'      ''     'sit';
    ''    'down'    ''     'play';
    ''    'go'      ''     'sit'}
I want to remove consecutive elements in each column such that i get result as
res={'Run'  ''     'play'     '';
    ''    'go'      ''       'sit'  ; 
    ''     ''      ''         '';
    ''    ''        ''        '';
    ''    'down'    ''       'play';
    ''    'go'      ''       'sit'}
I tried using for loop and deleting ,the thing is that all elements with same names get deleted.
Kindly help
2 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 20 Mar 2016
        D={'Run'  ''     'play'     '';
  ''    'go'    ''       'sit' ;  
  'Run' ''      'play'    '';
  ''    'go'      ''     'sit';
  ''    'down'    ''     'play';
  ''    'go'      ''     'sit'}
ii=unique(D);
v=0:numel(ii);
b=cellfun(@(x) v(ismember(ii,x)),D);
[n,m]=size(D);
c=b;
for l=1:m
  for k=2:n
      q=b(1:k-1,l);
      idx=find(q,1,'last');
      if b(k,l)==q(idx) ;
          c(k,l)=0;
      end
  end
end
out=ii(c+1)
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

