MATLAB: I’m getting this error(“Operands to the || and && operators must be convertible to logical scalar values”) for the below code, can anyone help me with this error

errorfunctionlogical operandlogical operatorsMATLAB

function day_diff = day_diff(month1,day1,month2,day2)
days_mn = [31 28 31 30 31 30 31 31 30 31 30 31];
if month1>=1 && month1<=12 && month1==ceil(month1) && month2>=1 && month2<=12 && month2==ceil(month2)...
&& day1>=1 && day1<=days_mn(month1) && day2>=1 && day2<=days_mn(month2) && day1==ceil(day1) && day2==ceil(day2)...
&& isscalar(month1) && isscalar(day1) && isscalar(month2) && isscalar(day2)
days1 = sum(days_mn(1:1:(month1-1))) + day1;
days2 = sum(days_mn(1:1:(month2-1))) + day2;
day_diff =abs(days1 - days2);
else
day_diff = -1;
end

Best Answer

Move the

isscalar(month1) && isscalar(day1) && isscalar(month2) && isscalar(day2)

to the beginning of the test.