I have to check the arguments of my function for a number of cases. The function passes all tests besides the arguments
12, 3, [3 4], 5
The code is as follows
function dd= day_diff(month1, day1, month2, day2)if month1<1 || month2<1 || day1<=0|| day2<=0 || rem(month1,1)~=0 ||rem(day1,1)~=0 || rem(month2,1)~=0 || rem(day2,1)~=0 || isscalar(month1)~=1 || isscalar(month2)~=1 || isscalar(day1)~=1 || isscalar(day2)~=1 dd=-1;elseif (month1==2 && day1==29) || (month2==2 && day2==29) dd=-1;elseif (eomday(2015,month1)==30 && day1==31) ||(eomday(2015,month2)==30 && day2==31) dd=-1;
The error I get
>> day_diff(12, 3, [3 4], 5)Operands to the || and && operators must be convertible to logicalscalar values.Error in day_diff (line 2)if (month1<1 || isscalar(month1)~=1) || (month2<1||isscalar(month1)~=1) || day1<=0|| day2<=0 || rem(month1,1)~=0||rem(day1,1)~=0 || rem(month2,1)~=0 || rem(day2,1)~=0 ||isscalar(day1)~=1 || isscalar(day2)~=1
Any help will be appreciated.
Best Answer