Return Values that are Between Two Values
    6 views (last 30 days)
  
       Show older comments
    
I have this vector:
w_sorted = [0;0;0;0;1;2;19;60;78];
target = 2;
threshold = 20;
lower_thold = abs(target-threshold);
upper_thold = abs(target+threshold);
series = all(w_sorted >= lower_thold & w_sorted <= upper_thold);
I need series to return all values in the w_sorted vector that are between the lower and upper threshold.
However, I need series to return the actual values, not the logical, which all currently does. I've tried the following which did not work as I needed it to:
series = w_sorted(w_sorted > low_range & w_sorted < up_range);
series = w_sorted(w_sorted(:,1) >= low_range & w_sorted(:,1) <= up_range);
series = w_sorted < low_range | w_sorted > up_range;
0 Comments
Answers (1)
  RAGHUNATHRAJU DASHARATHA
      
 on 1 Nov 2022
        As per my understanding you want to get the values between the lower and upper threshold from your vector.
I will try to explain it using your code with minor change.
w_sorted = [0;0;0;0;1;2;19;60;78];
target = 2
threshold = 20
lower_thold = abs(target-threshold)
upper_thold = abs(target+threshold)
series = w_sorted(w_sorted >= lower_thold & w_sorted <= upper_thold)
3 Comments
  Torsten
      
      
 on 2 Nov 2022
				You don't need the number of values. You can simply use
m = mean(series)
See Also
Categories
				Find more on Financial Toolbox 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!