Checking inequality condition for each component of a vector.

7 views (last 30 days)
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?

Accepted Answer

Joe Yeh
Joe Yeh on 3 Oct 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

More Answers (1)

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

Categories

Find more on Scope Variables and Generate Names in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!