# Matrix dimensions must agree error in if loop

7 views (last 30 days)
Ellen De Jonghe on 15 Jan 2020
Commented: Ellen De Jonghe on 15 Jan 2020
Why do I get a matrix dimensions error here?
I'm alson not sure about the num2str parts in the disp. Do I even have to convert day to a string because it is a string right?
day = input('What day is today?', 's');
if day == 'Saturday' | day == 'Sunday'
disp(['Its ' num2str(day) ' ! Its weekend!'])
else
disp(['Its ' num2str(day) ' ! Get to work!'])
end
>> whichDay
What day is today? sunday
Matrix dimensions must agree.
Error in whichDay (line 2)
if day == 'Saturday' | day == 'Sunday'

Andrei Bobrov on 15 Jan 2020
Edited: Andrei Bobrov on 15 Jan 2020
day = input('What day is today? -> ', 's');
lo = any(strcmpi(day,{'saturday','sunday'}));
if lo
disp(['Its ' day ' ! Its weekend!'])
else
disp(['Its ' day ' ! Get to work!'])
end
Illustration to the error you received:
day = input('What day is today? -> ', 's');
What day is today? -> Sunday
>> day == 'Saturday' | day == 'Sunday'
Matrix dimensions must agree.
>> day == 'Saturday'
Matrix dimensions must agree.
>> day == 'Sunday'
ans =
1×6 logical array
1 1 1 1 1 1
>>

#### 1 Comment

Ellen De Jonghe on 15 Jan 2020
Thanks!
Do you also know why i get the error?