Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

How to code this?

1 view (last 30 days)
Lucas
Lucas on 25 Jan 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi all,
Currently I have matrix which rows I want to divide into bins. However, the edges of these bins should be different for every row. Example:
Data= [ 1 1.5 2 3 4; 1. 2 4 5 6;]
edges= [1 2 3; 3 4 5]
I want to use the command [counts, bins] = histc(). I can code this using a for-loop, but is there a possibility to this in a vectorized way? That the output is a 2x5 "counts" and 2x5 "bins" matrix, in which the Data rows have been split according to different edges criteria?
Thanks in advance!
Lucas

Answers (1)

Amit
Amit on 25 Jan 2014
histc supports matrixes. So you dont hove to use for loop. http://www.mathworks.com/help/matlab/ref/histc.html
  2 Comments
Lucas
Lucas on 25 Jan 2014
Hi Amit, Thanks for your response, but that doesnt answer my question. The question is about how to use multiple 'edges' vectors, so every row of a matrix is binned differently. "Histc" doesnt support that by default; you can input a matrix for edges, but histc sees it reads it as one binning criterium, rather than a new binning criterium for each row.
Lucas
Amit
Amit on 25 Jan 2014
I see. I think looping would be the option. However, if it only 2 rows and 2 edges, you can just use histc twice instead of for .. end

This question is closed.

Community Treasure Hunt

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

Start Hunting!