MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by Brian on 14 Jun 2013

Hi, I have a 365x10 matrix/array? not sure what it would be called need to find the amount of numbers in a certain range/below a certain value eg 0.

Thanks for any help.

*No products are associated with this question.*

Answer by Image Analyst on 14 Jun 2013

Edited by Image Analyst on 14 Jun 2013

Accepted answer

Try this:

T = rand(365,10); % Some random data

% Define the range as [0, 0.2]. rangesLowValue = 0; rangesHighValue = 0.2; % Count the number of values in the range: countLessThanPoint3 = sum(T(:) >= rangesLowValue & T(:)<rangesHighValue)

Brian on 14 Jun 2013

Thanks, I'm really not getting this though.

I have a pre-defined matrix of real data, this is what I wrote:

load('temp.mat') disp(T);

ranges High Value = 0 count Less than point3=sum(T(:) <= ranges High Value

but I'm doing something wrong clearly ...

Image Analyst on 14 Jun 2013

Yes. You can't write variable names with spaces in them. Plus I don't know why you didn't just do it like I said. Explain what this means " in a certain range/below a certain value eg 0." Do you mean that the limits of the entire range (both the low and high values) are less than 0? Like the low value = -999 and the high value is -1?

Answer by Andrei Bobrov on 14 Jun 2013

A = rand(20,10); A(A < .3) = -A(A < .3); % your array

out = nnz(A < 0);

## 0 Comments