How to delete repeated elements in column

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 Kommentare

Image Analyst
Image Analyst am 20 Mär. 2016
Why? What's the use case for this request?
Pat
Pat am 20 Mär. 2016
i want to remove consecutive duplicates for next stage of processing

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 20 Mär. 2016

0 Stimmen

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 Kommentar

Pat
Pat am 20 Mär. 2016
Thanks Azzi,it helped me a lot.can u suggest a book for matlab programming

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Just for fun finden Sie in Hilfe-Center und File Exchange

Gefragt:

Pat
am 20 Mär. 2016

Kommentiert:

Pat
am 20 Mär. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by