Need to use cellfun for returning index of array
Show older comments
Hello
I need to find index for string in structures when compare with required string.
I use the following code
for i=1:numel(LD)
if strcmp('Lam1',LD(i).Name)
break;
end
end
where i = array index.
Here I will find the index for string residing in LD(:).Names
is their any easy way to find the index using cellfun
I tried like this cellfun(@strcmp,'Lam1',LD(:).Names)
should return the index, correct me I am worng.
2 Comments
You forgot to explain the type of LD.Name: Are they strings or cell strings? And btw., is it LD.Name or LD.Names in plural? I avoid corresponding programming errors by the simple convention:
- All names in singular
- When it matters if a variable is a scalar entity or a list of objects: aMyObject and MyObjectList.
I do not think that this is nicer, but avoiding sources of bugs is more important, especially because useful programs tend to grow.
Thulasi Durai Durai Samy
on 9 Jul 2012
Accepted Answer
More Answers (2)
F.
on 9 Jul 2012
try this :
regexp( { LD(:).Name } , 'Lam1' , 'once )
it's to find the first occurance of Lam1 in the cell array { LD(:).Name }
Walter Roberson
on 9 Jul 2012
Edited: Walter Roberson
on 9 Jul 2012
cellfun(@(S) strcmp('Lam1',S), {LD.Name} )
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!