matlab设置x轴一月二月,如何用matlab实现某年某月某日是星期几 我知道我编的程序已病入膏肓了、、求帮忙修改...

该博客介绍了如何使用MATLAB编写一个函数`functionxingqi=day1234567(year,month,day)`来计算给定日期是星期几。函数基于2000年1月1日是星期六的假设,并考虑了平年和闰年的天数差异。通过输入年份、月份和日期,函数能够准确地确定日期对应的星期几。例如,输入`day1234567(2013,10,22)`将返回该日期是星期几。
摘要由CSDN通过智能技术生成

满意答案

function xingqi=day1234567(year,month,day)

%year:年,month:月,day:日,本函数可以算出这个日期是星期几

% 例如: day1234567(2013,10,22)

% 以2000年,1月1日为星期六为基点,前后都可以计算

%平年时1到12月份的前一个月的累计天数,[0 31 28 31 30 31 30 31 31 30 31 30]*triu(ones(12))

yue=[0,31, ...% 一月,二月的前一个月的累计天数

[59,90,120,151,181,212,243,273,304,334]+ ...% 本行会根据本年的闰年或非闰年+1或+0;加号必须在此行,不能在下一行,否则错

(mod(year,4)==0 & mod(year,100)~=0 | mod(year,400)==0)]; % 0是平年,1 是闰年 ;因为计算优先级的原因,注意加括号

run=year-(year>2000)-2000;% 意义见下面的***

xingqi=mod( ...

year-2000 ... %差的年数乘以365天:365*(x-2000) mod 7 = (x-2000) mod 7

... %***大于2000年时,闰年数从2000年算到前一年;小于等于2000年时,闰年数绝对值从本年算到2000年,但不包括2000年这个闰年***

+ fix(run/4)-fix(run/100)+fix(run/400)+(year>2000) ... %闰年数的代数值,包括正负号

+ yue(month) ... %从年初到前一个月的整月天数

+ day ... %本月的天数

-1+6-1,7)+1;% 减1号,加星期6,向前错位1,让星期1模7后变为0,...星期7模7后变为6,之后再向后错位1,变为星期1到星期7

end

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值