about easy logic operators
2 次查看(过去 30 天)
显示 更早的评论
A=[2 4 10 9 24;3 5 56 -1 7];
for i = 1: 5
if A(1,i) && A(2,i) < 0 % if 9 && -1 < 0
fprintf('Invalid dimension.The area cannot be computed.\n')
else
fprintf('The area of rectangle %d is %d.\n',i,(A(1,i)*A(2,i)));
end
end
if A(1,i) && A(2,i) < 0 % if 9 && -1 < 0 i think the left one and the right one is the same but the outputs they give are different . Why are they different? Thanks.
0 个评论
回答(1 个)
David Hill
2020-4-29
Need <0 for both conditions
A=[2 4 10 9 24;3 5 56 -1 7];
for i = 1: 5
if A(1,i)<0 && A(2,i)< 0 % if 9 && -1 < 0
fprintf('Invalid dimension.The area cannot be computed.\n')
else
fprintf('The area of rectangle %d is %d.\n',i,(A(1,i)*A(2,i)));
end
end
2 个评论
David Hill
2020-4-29
Matlab syntax for logicals. Any number other than zero is a logical true value.
9 && -1<0; %true && true = true
A(1,1) && A(2,1)<0;%true && false = false
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!