Vector operations not working correctly

1 次查看(过去 30 天)
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?

采纳的回答

Andrei Bobrov
Andrei Bobrov 2019-6-16
cvPredictions = pval < epsilon;
  2 个评论
atan
atan 2019-6-16
编辑:atan 2019-6-16
I do not get it. How can this work?
Andrei Bobrov
Andrei Bobrov 2019-6-16
>> 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
>>

请先登录,再进行评论。

更多回答(0 个)

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by