用 MATLAB设计一个万年历_第1页
用 MATLAB设计一个万年历_第2页
用 MATLAB设计一个万年历_第3页
用 MATLAB设计一个万年历_第4页
用 MATLAB设计一个万年历_第5页
已阅读5页,还剩57页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程作业用matlab设计万年历课程数学软件学生姓名学习编号手机号码哪所大学理学院哪个类信号仪表1134教师提交时间2015年6月7日目录万年历的效果图.2第一章设计目的和要求.31.1设计目的.31.2设计要求.3第二章图形用户界面设计.32.1打开图形用户界面.32.2添加按钮控制.2.3根据控件的属性和视觉效果进行某些修改.52.4保存和添加功能.52.4.1在“年_编辑1 _回调”中编写代码.52.4.2在“月_编辑2 _回调”中编写代码.62.4.3将代码写在“周_按钮1 _回调”中.62.4.4将代码写入“rili _ pushbutton2 _ callback”.6第三章万年历

2、的使用.73.1运行.83.2输入.83.3错误警告.9第四章重写界面.10第五章结论、问题解决和改进.105.1结论和讨论.105.2解决问题.105.3可以改进的领域.10第六章经验.11参考.11附录:源代码.11万年历渲染第一章设计目的和要求:1.1设计目的:通过万年历程序的设计,培养学生综合运用matlab进行程序设计,加强函数的使用,提高软件系统分析能力和程序文档建立与汇总能力,培养学生利用系统提供的标准函数和典型算法设计开发应用软件。通过本课程设计,我们可以培养独立思考和综合应用相关知识的能力,巩固数学软件课程的内容,掌握gui界面设计的基本方法,更好的理解matlab的好处和可

3、用性!1.2设计要求:设计一个万年历gui界面,界面布局如上图所示,包括“输入年份”、“输入月份”、“显示周”,显示日历等控件。在界面上随意输入具体的年和月,点击按钮显示本月的日历及其对应的周(0表示无数字日期)。第2章图形用户界面设计:2.1打开图形用户界面输入指南输入或单击工具栏上的图标打开指南窗口:2.2添加按钮控制1.选择五个静态文本控件,定义“输入年”、“输入月”、“周”和“当前月的日历显示区域”,显示每周的“日”、“第一”、“第二”、“第三”、“第四”、“第五”和“第六”;2.选择两个按钮空间来定义“显示周”和“显示日历”;3.添加两个编辑文本框控件来输入具体的数字年和月;4.添加

4、42个编辑文本框控件以显示特定日期。(具体位置如下所示)2.3根据控件属性和视觉效果做出一定的修改1.双击四个静态文本框“输入年份”、“输入月份”、“星期”和“当前月份的日历显示区域”,在“字符串”文本框中输入相应的中文,并将字体大小“字体大小”设置为20,其余为默认值。2.对于“周”下的静态文本框,在“字符串”文本框中不输入任何内容,将“字体大小”设置为25,并在“标签”文本框中输入“齐星_文本4”。3.对于输入年和月的编辑文本框,在“字符串”文本框中输入0,将字体大小“字体大小”设置为18,在“标签”文本框中分别输入“年_编辑1”和“月_编辑2”。4.对于两个按钮,在“字符串”文本框中输入

5、“显示日期”和“显示日期”,将字体大小“字体大小”设置为20,并在“标签”文本框中分别输入“周_按钮1”和“日_按钮2”。5.对于42个编辑文本框,首先将“启用”属性中的“打开”设置为“非活动”,将它们变成静态文本框,并保持控件高亮显示;其次,不要在“字符串”文本框中输入任何内容;最后,在“标签”文本框中从左到右输入“r1_edit”、“r2_edit”和“r42_edit”。2.4保存和添加功能功能将按钮和静态文本框保存为“万年利图”,然后编辑器的m文本会自动弹出,并在相应的控件中添加功能函数。以下是相应控件的功能函数代码。(单击工具栏中的按钮,快速跳转到每个控件的回调函数)2.4.1在“年

6、_编辑1 _回调”中编写代码函数nian_edit1_callback(hobject,eventdata,handles)%添加以下程序:输入=str num(get(hobject,string);%输入年份if(i空(输入)设置(hobject,字符串,0)目标guid data(hobject,句柄);2.4.2在“月_编辑2 _回调”中编写代码函数yue_edit2_callback(hobject,eventdata,handles)输入=str num(get(hobject,string);%输入月份if(i空(输入)设置(hobject,字符串,0)目标如果输入=13erro

7、rdlg(月份不能超过12,警告)%显示警告信息库目标guid data(hobject,句柄);2.4.3将代码写在“周_按钮1 _回调”中功能周_按钮1 _回调(hobject、事件数据、句柄)%添加以下程序:h=天;一个。第二。第三,这是必要的。第四,它是必要的;五个;(6);%显示结果set(handles.xingqi_text4,string,h);%更新结构guid data(hobject,句柄);2.4.4将代码写入“rili _ pushbutton2 _ callback”函数rili _ pushbutton2 _回调(hobject、eventdata、句柄)%添加以

8、下程序:nian=get(handles.nian_edit1,string);yue=get(handles.yue_edit2,string);年份=str2num(年);月=str2num(月);%找出每年12个月中的天数对于m=1:12如果mod(年,4)=0 mod(年,100)=0|mod(年,400)=0d=31 29 31 30 31 30 31 31 30 31 31 30 31 30 31;其他d=31 28 31 30 31 30 31 31 30 31 31 30 31 30 31;目标y=d(1:米);目标%定义初始值run=0;闰年初始值%ping=0;%平均年初始

9、值%计算从第一年到前一年的闰年和和平年的数量对于q=1:year-1if(mod(q,4)=0 mod(q,100)=0)|mod(q,400)=0运行=运行1;其他ping=ping 1;目标目标%计算从第一年到当年第一个月的天数s=366 *运行365 * ping对于p=1:month月-1s=s y(p);目标%获取本月的天数n=y(月);a=零(n,1);s=s1;%计算本月第一天的星期几w=mod(s,7);对于k=1:na(w k)=k;目标t=a(1:结束);零(42-长度(a),1);% 0未替换任何日期设置(句柄r1_edit,string,num 2 str(t(1);%

10、显示结果设置(句柄r2_edit,string,num 2 str(t(2);设置(句柄r3_edit,string,num 2 str(t(3);%直到r40_edit(此处省略,但所有内容都必须写入m文件)% _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _设置(句柄. r41_edit,string,num 2 str(t(4);设置(句柄. r42_edit,string,num 2 str(t(5);guid data(hobject,句柄

11、);第三章万年历的使用3.1操作在这个m文件编辑窗口中点击工具栏上的“运行”按钮,或者在guide的输出编辑器中点击工具栏上的按钮,创建一个函数图形用户界面,如下图所示3.2输入在图中输入年份为“2015”,月份为“2”,点击“显示周”按钮和“显示日历”按钮。显示结果如下3.3错误警告如果在“输入月份”文本框中输入的数字超过12,将弹出一个警告对话框提示错误。例如,输入月份“13”,将弹出如下图所示的警告窗口。第四章重写界面请注意,上图左上角的名字是“万年历”,而不是“李万年”。事实上,修改非常简单,只需在输出编辑器界面中单击鼠标右键,然后从弹出的快捷菜单中选择“属性检查器”命令,即可打开界面

12、属性窗口。将窗口标题(名称属性)设置为“万年历”,关闭窗口,运行界面,显示结果为创建的“万年历”窗口。在图中输入年份为“2015”,月份为“6”,点击“显示周”按钮和“显示日历”按钮,显示结果为待创建的图形用户界面。第五章结论、问题解决和改进5.1结论和讨论:经过多次实验,该程序显示了本月的日历,相应的周结果与事实相符。5.2问题解决:如果界面编号混淆,可能是因为42个文本框不是从上到下依次添加的,所以编辑文本框的位置可以互换,直到显示的日历符合事实。5.3可以改进的地方:1.图形用户界面可以适当美化2.农历可以加进去3.添加节日和农历节气的显示第六章经验目前,流行的计算机日历程序通常是各种版本的窗口中的日历程序和基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论