24小时热门版块排行榜    

查看: 1322  |  回复: 3

轻描淡写01

新虫 (小有名气)

[求助] Matlab题目 求解 明天就交作业了~~~~~~~ 已有1人参与

例3:编写一个程序,输入年,月,日,输出这一年到该日期为止已经逝去的天数(包括当天)
• 程序需要计算先前月份的天数之后,然后再计算当月已经过去了多少天,在求和的过程中将会用到for循环。
• 每一个月的天数不尽相同,我们用switch结构来确定每一个月的正确天数。
• 涉及闰年,在公历中,闰年是这样规定的
1. 能被400整除的年为闰年
2. 不能被400整除但能被100整除的年不为闰年
3. 不能被100整除但能被4整除的年为闰年
4. 其余的年份不为闰年
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
function [TotalDays, Flag_Leap_Year] = MyTotalDays(yyyy,mm,dd)
% 计算当年逝去天数
% 也可用Matlab库函数daysdif计算:daysdif('01/01/2015','11/04/2015',0)
% datenum也可。
Year = yyyy;
Month = mm;
Day = dd;
% 建议增加年月日数据合法性判断
% 判断是否为闰年
% 1. 能被400整除的年为闰年
% 2. 不能被400整除但能被100整除的年不为闰年
% 3. 不能被100整除但能被4整除的年为闰年
% 4. 其余的年份不为闰年
Flag_Leap_Year = 0;
if rem(Year,400) == 0
    Flag_Leap_Year = 1;
elseif rem(Year,400) ~= 0 && rem(Year,100) == 0
    Flag_Leap_Year = 0;
elseif rem(Year,100) ~= 0 && rem(Year,4) == 0
    Flag_Leap_Year = 1;
else
    Flag_Leap_Year = 0;
end
TotalDays = 0;
for i = 1:mm-1
    TotalDays = TotalDays + MyMonth(i, Flag_Leap_Year);
end
TotalDays = TotalDays + Day;

end

function Days = MyMonth(Month,IsLeapYear)
% 计算给定月份天数
Days = 0;
if Month == 2
    Days = 28*(~IsLeapYear) + 29*IsLeapYear;
elseif Month == 4 || Month == 6 || Month == 9 || Month == 11
    Days = 30;
else
    Days = 31;
end
end

用法示例
[D,F] = MyTotalDays(2015,11,04)
D =
   308
F =
     0
返回D:天数;F:是否为闰年。
知其然,知其所以然。
2楼2015-11-04 23:48:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

轻描淡写01

新虫 (小有名气)

引用回帖:
2楼: Originally posted by mygt_hit at 2015-11-04 23:48:48
function  = MyTotalDays(yyyy,mm,dd)
% 计算当年逝去天数
% 也可用Matlab库函数daysdif计算:daysdif('01/01/2015','11/04/2015',0)
% datenum也可。
Year = yyyy;
Month = mm;
Day = dd;
% 建议增加年月日 ...

谢谢啦  ~~~  已经解决了
3楼2015-11-05 10:14:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shenyxtata

金虫 (正式写手)

2楼给个完整程序才赏1个金币
4楼2015-11-05 10:20:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 轻描淡写01 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:39 by 9i7PCSZyMzot
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:27 by 9i7PCSZyMzot
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:27 by 9i7PCSZyMzot
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:15 by 9i7PCSZyMzot
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:03 by 9i7PCSZyMzot
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 00:51 by 9i7PCSZyMzot
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 3/150 2026-09-20 00:15 by 9i7PCSZyMzot
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 4pRyVGCVerAA 2026-09-19 3/150 2026-09-20 00:03 by 9i7PCSZyMzot
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 4pRyVGCVerAA 2026-09-19 4/200 2026-09-20 00:03 by 9i7PCSZyMzot
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:51 by 9i7PCSZyMzot
[基金申请] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:39 by 9i7PCSZyMzot
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:27 by 9i7PCSZyMzot
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:27 by 9i7PCSZyMzot
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:03 by 9i7PCSZyMzot
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 4pRyVGCVerAA 2026-09-18 7/350 2026-09-19 21:03 by 9i7PCSZyMzot
[基金申请] 国社科系统bug了,是不是要放榜了? +7 kynobel 2026-09-16 9/450 2026-09-19 14:52 by 接好运婷
[考博] 申博发邮件 +8 Lmengk 2026-09-15 9/450 2026-09-19 09:27 by 中间体超市
[有机交流] 各位大神,目前国内有哪些比较好用的逆合成软件? 20+3 zapen 2026-09-15 9/450 2026-09-18 18:17 by zapen
[考博] 上海工程技术大学激光智能制造课题组|2027级博士研究生招生公告 +7 水士口 2026-09-16 8/400 2026-09-16 13:47 by kkklens
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +8 两三岁ss 2026-09-14 8/400 2026-09-16 09:46 by 水士口
信息提示
请填处理意见