Create location Index from cell arrays

1 visualizzazione (ultimi 30 giorni)
I have a small piece of code that loops through an array and creates an Index location of that value in another cell array. According to the code profiler, this small little loop is taking up 75% of the time of my entire script. I have a smaller cell array (Mutual Fund Portfolio) called 'FundHlds'. What I do with this loop is find the location of each identifer from this array in my larger list, another cell array called 'UniqueList'. Once I create this Index, I can then compare everything in my current portfolio to the information contained in the UniqueList cell array via the Index. I'd like to get rid of this loop method because it's very slow, and the help documentation states that strmatch will be going away in the future. Does anyone know a better way to do this?
for t = 1:length(FundHlds)
bl(t,1) = strmatch(FundHlds(t),UniqueList);
end
Thanks a lot, Brian

Risposta accettata

Walter Roberson
Walter Roberson il 17 Lug 2012
[tf, idx] = ismember(FundHlds, UniqueList);
  1 Commento
Brian
Brian il 17 Lug 2012
Excellent. I had never used the ismmeber command for an Index before. In fact I don't even know if I had used it with text.
Thanks much

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by