How can strings be used in an if loop?

I am trying to use a string to create an if loop for a programme that analyses an image. I'm getting this string from a prompt then just placing in a test to see if my code has worked. Can anyone give me any pointers as to how to get this to work? My code is attached
prompt1 = 'Would you like to remove edge effects (Y/N)?'
ans1 = input(prompt1)
if ans1 = 'Y'
x = 5*5
elseif ans1 = 'N'
x = 5/5
end

 Accepted Answer

the cyclist
the cyclist on 12 Jul 2016
Edited: the cyclist on 12 Jul 2016
prompt1 = 'Would you like to remove edge effects (Y/N)?';
ans1 = input(prompt1,'s');
if strcmpi(ans1,'y')
x = 5*5
elseif strcmpi(ans1,'n')
x = 5/5
end

More Answers (2)

You'd need to use ans1 == 'Y' (two equal signs) or else use the string compare function strcmpi(ans1, 'Y').
Alternatively…
prompt1 = 'Would you like to remove edge effects (Y/N)?'
ans1 = input(prompt1)
switch ans1
case {'Y', 'y'}
x = 5*5
case {'N', 'n'}
x = 5/5
otherwise
% the input was neither of the above
end

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!