Checking inequality condition for each component of a vector.

2 次查看(过去 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 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by