Vector operations not working correctly

1 view (last 30 days)
I have the following code
cvPredictions = (pval < epsilon)== 1; % Anomaly
cvPredictions = (pval > epsilon)== 0; % Not an anomaly
In the above code, pval is a vector, epsilon is a scalar and cvPredictions will be vector and each element of a vector will be 0 or 1
I want the follwoing
a) if any element of pval is less than epsilon, then, I want the corresponding element of cvPredictions to be 1
b) if any element of pval is greater than epsilon, then, I want the corresponding element of cvPredictions to be 0
I do not want to give a for loop. I do not think the above code is correct. Can anyone suggest me how to achieve a and b in simple one or 2 liner vectorized approach?

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 16 Jun 2019
cvPredictions = pval < epsilon;
  2 Comments
atan
atan on 16 Jun 2019
Edited: atan on 16 Jun 2019
I do not get it. How can this work?
Andrei Bobrov
Andrei Bobrov on 16 Jun 2019
>> pval = randi(100,6,1)
pval =
82
91
13
92
64
10
>> epsilon = 50
epsilon =
50
>> cvPredictions = pval < epsilon
cvPredictions =
6×1 logical array
0
0
1
0
0
1
>>

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!