How to delete cell entries with an index vector
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dear community,
I have a cell
A=cell(m,n)
and a logical vector
b=(m,1)
containing logical ones and zeros (true, false). What I like to do now is to delete the cell entries, if there is a logical one
A(b,:)=[];
But the error is: Index of element to remove exceeds matrix dimensions. What have I done wrong?
Thanks a lot!
0 commentaires
Réponses (3)
Azzi Abdelmalek
le 10 Jan 2014
n=3;
m=6;
A=num2cell(rand(m,n))
idx=[1 0 0 1 1 0]
A(logical(idx),:)=[]
0 commentaires
Simon
le 10 Jan 2014
Hi!
Are you sure that b is not longer than size(1) of A? Is b really a logical vector with true or false? I have no problem if I use
n=3
m=5
A=cell(m,n)
b=false(m,1)
b(2) = true
b(5) = true
A(b,:)=[]
An error is thrown for
A=cell(m,n)
b(6) = true
A(b,:)=[]
0 commentaires
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!