comparison number on interval

1 次查看(过去 30 天)
Hello i have this code, i should get px py pz values when px and py are in interval <-524,524> and pz <0,524>
but it returns values even when i as set them as belowm what doesen't meet conditions
Can anyone help ?
px = 0;
py = 1000;
pz = 0;
if (-524 <= px) && (px <= 524) | (-524 <= py) && (py <= 524) | (0 <= pz) && (pz <= 524)
px
py
pz
else
fig = uifigure;
message = ["Point is out of border of work space","Insert coordinations with max vule 524."];
uialert(fig,message,"Warning","Icon","warning");
end
px = 0
py = 1000
pz = 0
  2 个评论
Joshua Levin Kurniawan
Hi Dominik, if you want to print px, py, and pz value in the interval of <-524,524> and <0,524> for px py and pz consecutively, then you must specify:
if ((-524 <= px) && (px <= 524)) && ((-524 <= py) && (py <= 524)) && ((0 <= pz) && (pz <= 524))
Remember that logic AND is denotated && in MATLAB, whereas || means OR. Hence, your code will looks like this:
px = 0;
py = 1000;
pz = 0;
if ((-524 <= px) && (px <= 524)) && ((-524 <= py) && (py <= 524)) && ((0 <= pz) && (pz <= 524)) % <-524,524> for px, py interval and <0,524> for px py AND pz interval
px
py
pz
else
fig = uifigure;
message = ["Point is out of border of work space","Insert coordinations with max vule 524."];
uialert(fig,message,"Warning","Icon","warning");
end
Hope this can help.

请先登录,再进行评论。

采纳的回答

VBBV
VBBV 2024-4-21
px = 0;
py = 1000;
pz = 0;
if (-524 <= px) & (px <= 524) & (-524 <= py) & (py <= 524) & (0 <= pz) & (pz <= 524)
px
py
pz
else
end
  2 个评论
VBBV
VBBV 2024-4-21
Use & (and) in place of | (or) in the if-condition
Dominik Gajdos
Dominik Gajdos 2024-4-21
yes this helps thank you very much

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by