Why do I get ans = logical 1 or 0 in the command window for the following script?

27 vues (au cours des 30 derniers jours)
%Pythagorean Theorem
clc, clear all, disp('Pythagorean Theorem Formula c = sqrt(a^2+b^2)')
a=input('Enter length a: a = ');
b=input('Enter length b: b = ');
if(a>0), (b>0)
c=sqrt(a^2+b^2)
else
disp('WARNING! Enter only positive lengths')
end

Réponse acceptée

Rik
Rik le 29 Juil 2021
A comma does not mean and. In the Matlab syntax it is used to delimit two statements, so the second part of the line with your if statement is executed if a is larger than 0, in which case it will print the result of b>0 to the command window, because you didn't use a semicolon to suppress the output.
The mlint will have warned you about this with the orange line below the >. You should use the help mlint is giving you. Make sure to deal with all the warnings it is giving you. It will also tell you that clear all should be avoided.

Plus de réponses (0)

Catégories

En savoir plus sur Search Path dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by