Indexing multiple values over large array?
Show older comments
It seems like there would be a function for this but no idea what it would be. Basically,I have an vector generated by histc, e.g.:
1
3
1
0
1
and what it's referring to;
150018
150470
150899
151353
151770
152753
153242
i.e. the first value (150018) is the first bin, the next three values the second bin etc., but I now need to subtract each value in each bin from varying values in another vector - values in bin1-value1, values in bin3(three of them)-value2 and so on.....
I don't see how to do this quickly, but I hope someone know how to use a built-in function and could help?
3 Comments
Azzi Abdelmalek
on 17 Dec 2013
What about the bin corresponding to 0?
Sean de Wolski
on 17 Dec 2013
There are seven values but only six in bins...
MohammedLee Lee
on 18 Dec 2013
Answers (1)
Oliver Woodford
on 17 Dec 2013
histc outputs the bin index of each input value in the second output argument. So you can do:
[~, ind] = histc(vals);
vals = vals - off(ind);
Categories
Find more on Matrix Indexing 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!