How to delete repeated elements in column

1 visualizzazione (ultimi 30 giorni)
Pat
Pat il 20 Mar 2016
Commentato: Pat il 20 Mar 2016
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 Commenti
Image Analyst
Image Analyst il 20 Mar 2016
Why? What's the use case for this request?
Pat
Pat il 20 Mar 2016
i want to remove consecutive duplicates for next stage of processing

Accedi per commentare.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 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)
  1 Commento
Pat
Pat il 20 Mar 2016
Thanks Azzi,it helped me a lot.can u suggest a book for matlab programming

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by