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

43 visualizaciones (últimos 30 días)
%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

Respuesta aceptada

Rik
Rik el 29 de Jul. de 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.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by