Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-09-22, 00:32   #1
yemaogong
初级会员
 
注册日期: 2008-04-12
年龄: 83
帖子: 11
声望力: 18
yemaogong 正向着好的方向发展
默认 [原创]计算属相

中国古代有两套排序系统,一个是天干,有甲乙丙丁戊己庚辛壬癸是个组成;另一个是地支,有子丑寅卯辰巳午未等十二个组成。把十天干和十二地支相搭配,形成六十个对子,叫做六十甲子。古代即用六十甲子,或说用天干地支纪年、记月、记日、纪时。从而形成影响中国数千年的八字。由于干支纪年太过深奥,一般人难以记忆,于是出现了简易纪年及用属相纪年,用鼠牛虎兔龙蛇马羊猴鸡狗猪等十二种动物与十二地支对应。那一年的地支纪年的地支对应啥动物,就说这年是啥年。比如今年是农历戊子年,子对应鼠,所以今年是鼠年。查看隶属,可知公元4年是甲子年,地支数是1,为公元数减3所得,而地支数为12,所以属相由除12的余数决定。总之,巩俐年减3的差数除12的余数就是地支数或说是属相数。由此很容易得出计算属相的程序。需要说明的是:由于公元前1年应该是0年,所以公元前n年如果用-n表示的话,得出结果应该加1;

计算属相程序:
x=input('输入公历年,公元前n年用-n表示');
if(x<0) x=x+1;
switch mod((x-3),12);
case 0
fprintf('猪')
case 1
fprintf('鼠')
case 2
fprintf('牛')
case 3
fprintf('虎')
case 4
fprintf('兔')
case 5
fprintf('龙')
case 6
fprintf('蛇')
case 7
fprintf('马')
case 8
fprintf('羊')
case 9
fprintf('猴')
case 10
fprintf('鸡')
case 11
fprintf('狗')
end
yemaogong 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
如何讓數值收斂更快 chenmw2000 MATLAB论坛 0 2008-12-09 11:48
[求助]新手问题 simonspringzz MATLAB论坛 0 2008-12-06 10:14
[求助]负反馈电路的仿真 necy MATLAB论坛 0 2008-12-01 20:59
[求助]各位达人 beardgh MATLAB论坛 0 2008-09-19 16:34
[求助]请各位大哥帮帮忙 warlock8238 MATLAB论坛 3 2008-09-14 15:31


所有时间均为北京时间。现在的时间是 18:28


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.