Filter löschen
Filter löschen

How can i correctly write an if "yes or no" statement?

51 Ansichten (letzte 30 Tage)
Kelvin Luo
Kelvin Luo am 26 Mai 2017
Beantwortet: Salam Ismaeel am 28 Nov. 2019
For Example, x=input('Do you know the area of your building?(yes/no)' ,'s') if (x=='yes') area=input('What is the area of your building?') elseif (x=='no') shape=input('is your building circular or rectangular?') end How could i make it so that if the input is "yes" or "no" that it would do one of the following commands?

Akzeptierte Antwort

Jan
Jan am 26 Mai 2017
Bearbeitet: Jan am 26 Mai 2017
if strcmpi(x, 'yes')
...
elseif strcmpi(x, 'no')
...
else
error('Please type "yes" or "no"');
end
The == is the elementwise comparison, which fails when x and 'yes' have a different number of characters.

Weitere Antworten (1)

Salam Ismaeel
Salam Ismaeel am 28 Nov. 2019
Just for genral use, not necessary for this case only. I create this function:
%******************************************************************************************
% CheckYesOrNo.m
% This function return 1 for Yes and 0 for No
% Input
% chos : charater variable
% Output:
% T : Logic variable (0 or 1)
%******************************************************************************************
function T = CheckYesOrNo(chos)
chos = lower(chos);
while chos ~= 'y' || chos ~= 'n'
if chos == 'y' || chos == 'n'
break
else
chos=input('Please input y or n? ','s');
end
end
if chos =='y'
T = 1;
else
T = 0;
end

Kategorien

Mehr zu Variables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by