Checking inequality condition for each component of a vector.

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

采纳的回答

Joe Yeh
Joe Yeh 2016-10-3
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

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Scope Variables and Generate Names 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by