Filter löschen
Filter löschen

Return Values that are Between Two Values

1 Ansicht (letzte 30 Tage)
Tiffany
Tiffany am 1 Nov. 2022
Kommentiert: Tiffany am 2 Nov. 2022
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;

Antworten (1)

RAGHUNATHRAJU DASHARATHA
RAGHUNATHRAJU DASHARATHA am 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
target = 2
threshold = 20
threshold = 20
lower_thold = abs(target-threshold)
lower_thold = 18
upper_thold = abs(target+threshold)
upper_thold = 22
series = w_sorted(w_sorted >= lower_thold & w_sorted <= upper_thold)
series = 19
  3 Kommentare
Torsten
Torsten am 2 Nov. 2022
You don't need the number of values. You can simply use
m = mean(series)
Tiffany
Tiffany am 2 Nov. 2022
It doesn't have a number of elements to divide it, so it comes back as NaN?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Time Series finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by