# Find with an indexed struc

2 views (last 30 days)
AwedBy Matlab on 31 Jul 2014
Commented: AwedBy Matlab on 1 Aug 2014
I have a struc M whose size is (88,1)
If for instance I type M(46,1).acc I get ans = 0
I typed find(M(:,1).acc==0) to find the rows where the acc field is zero, but got the error Error using == : Too many input arguments.
Any help? Thanks!!

Image Analyst on 31 Jul 2014
Try
find([M(:,1).acc]==0)
AwedBy Matlab on 31 Jul 2014
Thanks!

Ben11 on 31 Jul 2014
Edited: Ben11 on 31 Jul 2014
It might not be the most elegant but I think it would solve your problem
Indices = cellfun(@(x) x == 0,struct2cell(M)) % you get a logical array where 0's have an index of 1
there is probably a more clever way to do it though.
AwedBy Matlab on 1 Aug 2014
me too in this case :p

### Categories

Find more on Cell Arrays 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!

Translated by