Cannot use equal operator to test function argumants

8 次查看(过去 30 天)
I have the following code and I am trying to test if either one of user inputs (out of 3) equals the sum of the other 2 user inputs.
Althought I enter 3 values thatc should return true and therfore the if should happen, it does not.
When I try to write the if condition with a single '=' it des not even let me excute the code.
So any assistance is much appriciated.
function testArgs()
a = input('Enter first value: ');
b = input('Enter first value: ');
c = input('Enter first value: ');
anum = str2double(a);
bnum = str2double(b);
cnum = str2double(c);
if anum==bnum+cnum || bnum==anum+cnum || cnum==anum+bnum
fprintf('some msg');
end

采纳的回答

Fangjun Jiang
Fangjun Jiang 2022-11-15
a = input('Enter first value: ')
"a" is already a numerical value.
You don't need all the str2double() calls.
when you call str2double(), it creates a NaN (Not a Number)
a=1
a = 1
str2double(a)
ans = NaN

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by