comparison number on interval

3 次查看(过去 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 中查找有关 Develop uifigure-Based Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by