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 Time Series 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!