finding out the frequencies of numbers within coloumns

1 view (last 30 days)
Hii I have two coloumns matrix, first coloumn temperatures, while the other moisture values.. I want to find out the frequeincies for each temperature with each moisture and vice versa, ensuring to take all the probabilities ofoverlapping. For example:what is the number of occurence of 1 degree and 0.23 moisture, 1 degree and 0.4 moisture, and so on then, 2 degree with each of moisturesvalues.. CAN YOU HELP ME PLZ

Accepted Answer

Sven
Sven on 28 Feb 2012
Hi Yasmine. Let's first make some random temperatures and moistures:
tempmoist = randi(20,200,2);
Now let's find the unique pairs of these, and get a list matching all our temperatures/moistures to those unique pairs.
[unqVals, ~, grpNos] = unique(tempmoist,'rows')
Now let's use histogram to count the number of occurrences of each of those pairs.
counts = histc(grpNos, 1:max(grpNos))
You can display all the unique temperature/moisture pairs, along with the number of times they occur by joining them together like this:
[unqVals counts]
Hope that's the answer you were looking for.

More Answers (3)

Yasmine
Yasmine on 28 Feb 2012
Hi seven thank you that was helpful when i have inunique pairs but what if i have unique ones and i want to put them in ranges coz i have in decimal places, so for example i want the number of unique pairs if the tempertures from 1 to 1.9 degrees and when moisture is from 0.04 to 0.08 and so on...
  1 Comment
Sven
Sven on 29 Feb 2012
Then you just need to do one prior step: choose your "ranges", then round your values into those ranges. For example, the following lines make some random numbers between 0 and 1, then makes 11 bins from 0 to 1 at intervals of 0.1, then asks, "which bin is each of my values nearest to?". After getting this kind of result for your data, you can run the code in the answer.
rawData = rand(50,1)
binCenters = 0:0.1:1
whichBins = interp1(binCenters, 1:length(binCenters), rawData,'nearest')

Sign in to comment.


Yasmine
Yasmine on 1 Mar 2012
the matrix i have is already of unique pairs of two coloumns, alp= Tem moist 1 0.77 2 0.08 2 0.78 2 0.90 3 0.09 3 0.1 4 0.13
and so on... now i want to know what is the occurence no. when temp==2 and moist is between (0.04 to 0.08)for example.. then when temp==2 and moist is between (0.09 to 0.12).. then when temp is 3 and with same ranges of moist.. I hope that is clear ..??

Yasmine
Yasmine on 1 Mar 2012
OOPs the numbers werent written in the right format: first coloumn of matrix is(temp) 1, 2,2,2,3,3,4 and second one (moist): 0.77,0.08,0.78,0.90,0.09,0.14,0.13

Categories

Find more on Graph and Network Algorithms in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!