MATLAB课程设计时钟Word文件下载.docx
《MATLAB课程设计时钟Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB课程设计时钟Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。
white'
...
'
position'
[200200320360],...
name'
北京时间'
);
2、显示刻度
这个时钟显示了四个刻度,分别是12、9、6、3,以下语句分别显示了这四个刻度。
(1)定义一个text控件,显示刻度“12”
b1=uicontrol('
parent'
h,'
style'
text'
string'
12'
fontsize'
…
12,'
[1562752020]);
(2)定义一个text控件,显示刻度“9”
b2=uicontrol('
9'
[601752020]);
(3)定义一个text控件,显示刻度“6”
b3=uicontrol('
6'
[156752020]);
(4)定义一个text控件,显示刻度“3”
b4=uicontrol('
3'
12,'
[2601752020]);
3、设置刻度,分别设置分针的刻度和小时的刻度。
(1)绘制表盘,绘制分钟的刻度
for
n=pi*2:
-pi/30:
pi/30
a1=0.95*cos(n):
0.05*cos(n)/2:
cos(n);
b1=0.95*sin(n):
0.05*sin(n)/2:
sin(n);
plot(a1,b1,'
r-'
end
(2)绘制表盘,绘制小时的刻度
for
-pi/6:
a1=0.9*cos(n):
0.1*cos(n)/2:
b1=0.9*sin(n):
0.1*sin(n)/2:
end
4、分别绘制秒针、分针、时针在相关时间的位置
(1)计算一秒以后秒针的角度位置
sita1=sita1+w1*pausetime;
(2)计算一秒以后分针的角度位置
sita2=sita2+w2*pausetime;
(3)计算一秒以后时针的角度位置
sita3=sita3+w3*pausetime;
综合以上过程,时钟界面基本已经出炉了,时钟的完整程序如下:
%function时钟
h=figure('
e1=uicontrol('
h,...%定义一个edit控件,用于存储日期
edit'
...%该控件的类型为edit,能够编辑其内容
12,...%字体大小为12
[1102012030]);
%位置,距离左边110,距离底边20,宽度为120,高度为30
h,...%定义一个text控件,显示刻度“12”
12,...
h,...%定义一个text控件,显示刻度“9”
h,...%定义一个text控件,显示刻度“6”
h,...%定义一个text控件,显示刻度“3”
s1=[0:
pi/1000:
2*pi];
hl=plot(cos(s1),sin(s1),'
black'
linewidth'
1.5);
%绘制表盘的外圆
title('
时钟'
%添加标题
time=datestr(now);
%得到当前时间
set(e1,'
time(1:
11));
%当前时间的1:
11位是日期,把日期值给el
sita1=pi/2-str2num(time(19:
20))*pi/30;
%秒针转过的角度
sita2=pi/2-str2num(time(16:
17))*pi/30+sita1/60;
%分针转过的角度
sita3=pi/2-str2num(time(13:
14))*pi/6+sita2/12;
%时针转过的角度
w1=-pi/30;
%设置秒针每秒转过的角度,分针走一个半圆需要30s
w2=-pi/1800;
%设置分针每秒转过的角度
w3=-pi/108000;
%设置时针每秒转过的角度
pausetime=1;
axisoff;
axisequal
holdon
plot(0,0,'
or'
%设置刻度
forn=pi*2:
pi/30%绘制表盘,绘制分钟的刻度
b1=0.95*sin(n):
pi/30%绘制表盘,绘制小时的刻度
b1=0.9*sin(n):
%时钟指针
while1
x1=0:
0.75*cos(sita1)/2:
0.75*cos(sita1);
y1=0:
0.75*sin(sita1)/2:
0.75*sin(sita1);
%根据秒针的位置绘制分针
x2=0:
0.6*cos(sita2)/2:
0.6*cos(sita2);
y2=0:
0.6*sin(sita2)/2:
0.6*sin(sita2);
%根据分针的位置绘制分针
x3=0:
0.45*cos(sita3)/2:
0.45*cos(sita3);
y3=0:
0.45*sin(sita3)/2:
0.45*sin(sita3);
%根据时针的位置绘制分针
hp1=plot(x1,y1,'
hp2=plot(x2,y2,'
b-'
2);
hp3=plot(x3,y3,'
g-'
3.5);
sita1=sita1+w1*pausetime;
%计算一秒以后秒针的角度位置
%计算一秒以后分针的角度位置
sita3=sita3+w3*pausetime;
%计算一秒以后时针的角度位置
pause(pausetime);
delete(hp1);
delete(hp2);
delete(hp3);
holdoff
程序运行结果如下
结束语
本文经过MATLAB编写时钟程序,对MATLAB有了进一步的认识和了解,体会到了MATLAB软件的应用广泛和强大。
为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
参考文献
[1]时红霞,刘钧,舒云星.基于MATLAB的大学数学实验[J];
洛阳工业高等专科学校学报;
04期
[2]施晓红,周佳.精通GUI图形界面编程[M].北京:
北京大学出版社,
[3]孙鹏,高金耀,张涛.利用MATLAB实时处理GPS数据[J],东海海洋.,22
(1)