I keep seeing the error of "Output argument 'valid' (and maybe others) not assigned during call to 'valid_date'." Didn't i assign? Where am i missing? Thanks in advance ♥
VALID_DATE FUNCTION PROBLEM : Write a function called valid_date that takes three positive integer scalar inputs year, month, day. If these three represent a valid date, return a logical true, otherwise false...
1 次查看(过去 30 天)
显示 更早的评论
function [valid] = valid_date(y,m,d)
if ~isscalar(y) || ~isscalar(m) || ~isscalar(d)
valid= false;
end
if m > 12
valid= false;
elseif d > 31
valid= false;
end
if mod(y,4)==0
valid= valid_date(y,2,29);
valid= true;
end
if mod(y,400)==0 && mod(y,100)==0
valid= valid_date(y,2,29);
valid=false;
end
if m== 1 || 3 || 5 || 7 || 8 || 10 || 12
if d== 31
valid= true;
end
elseif m== 4 || 6 || 9 || 11
if d== 31
valid= false;
end
elseif m== 2
if d>=30
valid= false;
end
end
回答(1 个)
Anmol Dhiman
2020-11-3
编辑:Anmol Dhiman
2020-11-3
Hi Emirhan ,
You need to initialize valid in the function. Add the following statement after creating function
function [valid] = valid_date(y,m,d)
valid = true; % or valid = false;
Regards,
Anmol Dhiman
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Argument Definitions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!