Effacer les filtres
Effacer les filtres

cell matching

4 vues (au cours des 30 derniers jours)
Rusmaya Luthfina
Rusmaya Luthfina le 17 Oct 2011
hi,
i have a code like this:
b = {'i'; 'need'; 'five'; 'rats'};
c = {'rats'; 'eat'; 'cheese'};
b{10} = [];
c{10} = [];
how do we match cell c with cell b?? i've tried using ismember but return error 'input must be array of string'
thank you,
---Maya----

Réponses (3)

Walter Roberson
Walter Roberson le 17 Oct 2011
ismember(c,b)
However that will not work if your version of MATLAB is sufficiently old. Which version are you using?
  4 commentaires
Walter Roberson
Walter Roberson le 18 Oct 2011
Good question, I missed that. In that case,
ismember(c(~cellfun(@isempty,c)),b(~cellfun(@isempty,b)))
Jan
Jan le 18 Oct 2011
@Walter: cellfun('isempty') is remarkably faster than cellfun(@isempty).

Connectez-vous pour commenter.


Fangjun Jiang
Fangjun Jiang le 17 Oct 2011
Not sure why do you need to have the b{10}=[] and c{10} = [] statement. If it's allowed, you can set those elements to be empty string, and then run ismember().
b = {'i'; 'need'; 'five'; 'rats'};
c = {'rats'; 'eat'; 'cheese'};
b(end+1:10) = {''};
c(end+1:10) = {''};
ismember(b,c)
  1 commentaire
Rusmaya Luthfina
Rusmaya Luthfina le 18 Oct 2011
actually, i'm programming document retrieval using vector space model, which between database and query must have same dimension.. :(

Connectez-vous pour commenter.


Rusmaya Luthfina
Rusmaya Luthfina le 18 Oct 2011
i've been able to solve my problems.. :D thx u 4 your help!
---Maya--

Catégories

En savoir plus sur Logical 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!

Translated by