Need help inputing words
2 views (last 30 days)
Show older comments
Samy Ben Thabet
on 9 Oct 2018
Commented: Image Analyst
on 9 Oct 2018
I want to ask my user to input a shape:
h=input('What shape do you want?:');
if h==square;
disp(h)
But this never works, Matlab shows me the following error message: "'square' requires Signal Processing Toolbox."
Can someone help me find a way to make this work please :)
0 Comments
Accepted Answer
Star Strider
on 9 Oct 2018
You need to add the 's' to the input argument list, and then use strcmp for the comparison.
Try this:
h=input('What shape do you want?:', 's');
if strcmp(h, 'square')
sprintf('SQUARE!')
end
1 Comment
Image Analyst
on 9 Oct 2018
If you can't use contains() like in my answer because your version of MATLAB is too old, then you can make this more robust by using strcmpi() instead of strcmp() and use strtrim() in case the user put any leading or trailing spaces on their response:
h = input('What shape do you want? ', 's');
if strcmpi(strtrim(h), 'square')
fprintf('SQUARE!\n')
end
More Answers (1)
Image Analyst
on 9 Oct 2018
Try using contains():
clc;
userResponse = input('What shape do you want? ', 's')
if contains(userResponse, 'square', 'IgnoreCase', true)
uiwait(helpdlg('You want a square.'));
else
message = sprintf('%s is an unrecognized response.\nTry again.', userResponse);
uiwait(warndlg(message));
end
0 Comments
See Also
Categories
Find more on Get Started with MATLAB 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!