Checking inequality condition for each component of a vector.

7 visualizaciones (últimos 30 días)
I think there is a bug and below is what I saw:
command: vec = [0;-5;6;1.99;-2.01;-2.001;0.5];
-0.1 < vec < 0.1
ans =
0
1
0
0
1
1
0
command: -1.9 < vec < 2.1
ans =
1
1
1
1
1
1
1
I need to apply piecewise univariate function for each component in my code. Can anyone suggest a way to get the correct result?

Respuesta aceptada

Joe Yeh
Joe Yeh el 3 de Oct. de 2016
Unlike Python, you can't use multiple inequality expression in MATLAB. You'll have to do this :
-0.1 < vec & vec < 0.1
-1.9 < vec & vec < 2.1

Más respuestas (1)

Fangjun Jiang
Fangjun Jiang el 3 de Oct. de 2016
To explain the result you saw, your command is equal to :
temp=-0.1 < vec;
temp < 0.1

Categorías

Más información sobre Scope Variables and Generate Names en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by