disp is hiding the fact that lx actually contains a char. If you do double('2') you will see the result is 50. To fix you calculations, use something like str2double.
Math operations incorrect GUIDE
1 次查看(过去 30 天)
显示 更早的评论
I am trying to draw a rectangle that has a width (lx) and length (ly) defined by user input with an edit text field using GUIDE. For some reason, the rectangle is not drawing correctly. Below I have the variables and corresponding values where X(1) and Y(1) is the location of the user's mouse click. For some reason, even though lx prints as the correct value, 2, when used in the equation X(1)-lx, lx suddenly becomes 50 and I have no idea why.
disp(lx)
disp(X(1))
disp(X(1)-lx)
disp(X(1)+lx)
2
299
249
349
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!