Matrix dimensions must agree error in if loop

2 views (last 30 days)
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'

Accepted Answer

Andrei Bobrov
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
>>

More Answers (0)

Categories

Find more on Numeric Types 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!