Number of values between constraints

t=linspace(0,pi,1001); y=floor(100.*sin(t));
Find the number of values of y between 25 and 71, inclusive.
Okay, so it's basically finding the length of the values in between the given range. I can tell that it'll require looping, but I don't know how to set it up. Thank you for any and all help

 Accepted Answer

No reason to loop:
n = sum(x>=25&x<=71)

4 Comments

I need the number of values between 25 and 71.
yes, that's what 'n' will be if you run my line of code on a vector x. if x is a matrix, you'll have to call sum once for every dimensions in ndims(x) or reshape(x,[],1);
or
sum(x(:)>=25 & x(:)<=71)
Ah, I see. I had to tweak the format of the other equations, but your code was solid. Thank you so much.

Sign in to comment.

More Answers (1)

Use the logical indexing techniques you learned from your previous question, and then instead of summing the contents of the array, determine the number of "true" comparisons that resulted (I'm deliberately not saying how to do that; you should be able to build on the previous techniques.)

1 Comment

Thanks Walter, I've used the "For", and then used an "If" to verify which values fall within the range. What I'm having trouble with is getting the "length" of those values. Is there a way to assemble them in a matrix from the looping process and then simply use "length" on that matrix?

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!