Error with if elseif statements
Show older comments
My program is set up to ask the user for an input variable, as follows:
GOAL=input('WHAT IS YOUR GOAL?(FIT=FITNESS, FB=FAT BURN, N=NEITHER): ','s');
Then, I wrote an if, elseif statement written as:
if GOAL==('FIT')
I wrote the same thing for if GOAL==('FB') and if GOAL==('N'), and each is followed by functions to be executed for whichever the user chooses.
The error message that I am getting says:
Error using == Matrix dimensions must agree.
Am I approaching it wrong? Anything helps, thanks.
1 Comment
Vaibhav Sharma
on 18 Feb 2018
I get the exact message for a different function of question answering
Accepted Answer
More Answers (1)
Daniel kiracofe
on 30 Nov 2016
0 votes
In matlab, strings are arrays of characters. Two strings with different lengths have different array dimensions. e.g.
'dog' is a 3x1 character array.
'bird' is a 4x1 character array
So something like this
if ('dog' == 'bird')
will give an error because you are trying to compare a 3x1 array with a 4x1 array, and to compare arrays they must have the same length.
try the strcmp() function instead. i.e
if strcmp(GOAL, 'fit')
Categories
Find more on Operators and Elementary Operations 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!