How to count the number of times a value from a vector exceeded an interval?

2 次查看(过去 30 天)
Dear all,
I have this vector r = [1 2 4 5 6 3 2 7] and I want to count how many times each value exceeds the interval from 4-5. More detailed, after r(5) it should count 1, after r(6) it should count 2, after r(7) it should count also 2 because it counted it before since the previous value is lower than 4 and finally after r(8) it should count 3.
Thank you very much.
  1 个评论
Jan
Jan 2018-8-5
@Stergios Verros: It would help to understand your question, if you post the wanted output for the example input also.

请先登录,再进行评论。

采纳的回答

Rik
Rik 2018-8-3
编辑:Rik 2018-8-3
The rules you want are a bit unclear, but if I understand them correctly, the code below should do what you want. If not, please give the desired output as a vector, not as text.
r = [1 2 4 5 6 3 2 7];
range=[4 5];
%Mark the positions exceeding the upper value:
L2=r>range(2);%The value should be greater than the bound
L2=L2&~[true L2(1:end-1)];%The previous value should not
%Do the reverse for the lower bound
L1=r<range(1);
L1=L1&~[false L1(1:end-1)];
output=cumsum(L1|L2);
  5 个评论
Image Analyst
Image Analyst 2018-8-3
编辑:Image Analyst 2018-8-3
No, not to me. Let's say r = [11 12 14 15 16 13 12 17]. What does "how many times each value exceeds the interval from 4-5" mean. It sounds like you're wanting a histogram when you say "how many times", but what's really confusing is "the interval from 4-5". So, for my example r, do you want
  1. the number of values that exceed 4,
  2. the number of times values exceed 5, or
  3. the number of values that exceed 14 (which is element #4)?
Finally, what is your desired output?
Rik
Rik 2018-8-5
Did my last edit solve your question? If so, please consider marking it as accepted answer.

请先登录,再进行评论。

更多回答(1 个)

Stergios Verros
Stergios Verros 2018-8-6
Thank you Rik!

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by