MATLAB課程設(shè)計(jì)時(shí)鐘_第1頁(yè)
MATLAB課程設(shè)計(jì)時(shí)鐘_第2頁(yè)
MATLAB課程設(shè)計(jì)時(shí)鐘_第3頁(yè)
MATLAB課程設(shè)計(jì)時(shí)鐘_第4頁(yè)
MATLAB課程設(shè)計(jì)時(shí)鐘_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MATLAB制作時(shí)鐘 摘 要:MATLAB是一款強(qiáng)大的、應(yīng)用廣泛的軟件,本文主要利用MATLAB的相關(guān)編程來(lái)設(shè)計(jì)實(shí)現(xiàn)時(shí)鐘界面顯示效果。關(guān)鍵字:MATLAB、時(shí)鐘、界面 引 言 MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。MATLAB 的應(yīng)用范圍非常廣,包括信號(hào)和圖像處理、通訊、控制系統(tǒng)設(shè)計(jì)、測(cè)試和測(cè)量、財(cái)務(wù)建模和分析以及計(jì)算生物學(xué)等眾多應(yīng)用領(lǐng)域。 本文通過(guò)MATLAB編程設(shè)計(jì)時(shí)鐘顯示界面來(lái)體會(huì)它功能的強(qiáng)大和應(yīng)用的廣泛。完整的時(shí)鐘界面有時(shí)針、分針、秒針以及刻度等組成,下面詳細(xì)介紹實(shí)現(xiàn)時(shí)鐘界面的步驟。 1、設(shè)置時(shí)鐘相關(guān)參數(shù),

2、比如界面大小、界面顏色,時(shí)鐘名稱等。 h=figure('menubar','none','color','white',. 'position',200 200 320 360,. 'name','北京時(shí)間'); 2、顯示刻度 這個(gè)時(shí)鐘顯示了四個(gè)刻度,分別是12、9、6、3,以下語(yǔ)句分別顯示了這四個(gè)刻度。(1)定義一個(gè)text控件,顯示刻度“12”b1=uicontrol('parent',h,'style','text','

3、string','12','fontsize', 12,'position',156 275 20 20); (2)定義一個(gè)text控件,顯示刻度“9”b2=uicontrol('parent',h,'style','text','string','9','fontsize', 12,'position',60 175 20 20); (3)定義一個(gè)text控件,顯示刻度“6”b3=uicontrol('parent&#

4、39;,h,'style','text','string','6','fontsize', 12,'position',156 75 20 20); (4)定義一個(gè)text控件,顯示刻度“3”b4=uicontrol('parent',h,'style','text','string','3','fontsize',12,'position',260 175 20 20); 3、設(shè)置刻度,

5、分別設(shè)置分針的刻度和小時(shí)的刻度。(1)繪制表盤(pán), 繪制分鐘的刻度f(wàn)or 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)繪制表盤(pán),繪制小時(shí)的刻度f(wàn)or n=pi*2:-pi/6:pi/30 a1=0.9*cos(n):0.1*cos(n)/2:cos(n); b1=0.9*sin(n):0.1*sin(n)/2:sin(n); plot(a1,b1,'r-');end 4、分

6、別繪制秒針、分針、時(shí)針在相關(guān)時(shí)間的位置(1)計(jì)算一秒以后秒針的角度位置sita1=sita1+w1*pausetime; (2)計(jì)算一秒以后分針的角度位置 sita2=sita2+w2*pausetime; (3)計(jì)算一秒以后時(shí)針的角度位置sita3=sita3+w3*pausetime; 綜合以上過(guò)程,時(shí)鐘界面基本已經(jīng)出爐了,時(shí)鐘的完整程序如下:% function 時(shí)鐘 h=figure('menubar','none',. 'color','white',. 'position',200 200 320 36

7、0,. 'name','北京時(shí)間');e1=uicontrol('parent',h,. %定義一個(gè)edit控件,用于存儲(chǔ)日期 'style','edit',. %該控件的類(lèi)型為edit,可以編輯其內(nèi)容 'fontsize',12,. %字體大小為12 'position',110 20 120 30); %位置,距離左邊110,距離底邊20,寬度為120,高度為30b1=uicontrol('parent',h,. %定義一個(gè)text控件,顯示刻度“12” '

8、;style','text',. 'string','12',. 'fontsize',12,. 'position',156 275 20 20);b2=uicontrol('parent',h,. %定義一個(gè)text控件,顯示刻度“9” 'style','text',. 'string','9',. 'fontsize',12,. 'position',60 175 20 20);b3=uic

9、ontrol('parent',h,. %定義一個(gè)text控件,顯示刻度“6” 'style','text',. 'string','6',. 'fontsize',12,. 'position',156 75 20 20);b4=uicontrol('parent',h,. %定義一個(gè)text控件,顯示刻度“3” 'style','text',. 'string','3',. 'fontsize

10、',12,. 'position',260 175 20 20);s1=0:pi/1000:2*pi;hl=plot(cos(s1),sin(s1),'black','linewidth',1.5); %繪制表盤(pán)的外圓title('時(shí)鐘');%添加標(biāo)題time=datestr(now); %得到當(dāng)前時(shí)間set(e1,'string',time(1:11); %當(dāng)前時(shí)間的1:11位是日期,把日期值給elsita1=pi/2-str2num(time(19:20)*pi/30; %秒針轉(zhuǎn)過(guò)的角度sita2=pi

11、/2-str2num(time(16:17)*pi/30+sita1/60; %分針轉(zhuǎn)過(guò)的角度sita3=pi/2-str2num(time(13:14)*pi/6+sita2/12; %時(shí)針轉(zhuǎn)過(guò)的角度w1=-pi/30; %設(shè)置秒針每秒轉(zhuǎn)過(guò)的角度,分針走一個(gè)半圓需要30sw2=-pi/1800; %設(shè)置分針每秒轉(zhuǎn)過(guò)的角度w3=-pi/108000; %設(shè)置時(shí)針每秒轉(zhuǎn)過(guò)的角度pausetime=1;axis off;axis equalhold onplot(0,0,'or');%設(shè)置刻度f(wàn)or n=pi*2:-pi/30:pi/30 %繪制表盤(pán),繪制分鐘的刻度 a1=0.95

12、*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-');endfor n=pi*2:-pi/6:pi/30 %繪制表盤(pán),繪制小時(shí)的刻度 a1=0.9*cos(n):0.1*cos(n)/2:cos(n);b1=0.9*sin(n):0.1*sin(n)/2:sin(n); plot(a1,b1,'r-');end%時(shí)鐘指針while 1 x1=0:0.75*cos(sita1)/2:0.75*cos(sita1);y1=0:0.75*sin(sita1)

13、/2:0.75*sin(sita1); %根據(jù)秒針的位置繪制分針x2=0:0.6*cos(sita2)/2:0.6*cos(sita2);y2=0:0.6*sin(sita2)/2:0.6*sin(sita2); %根據(jù)分針的位置繪制分針 x3=0:0.45*cos(sita3)/2:0.45*cos(sita3);y3=0:0.45*sin(sita3)/2:0.45*sin(sita3); %根據(jù)時(shí)針的位置繪制分針 hp1=plot(x1,y1,'r-','linewidth',1.5); hp2=plot(x2,y2,'b-','l

14、inewidth',2); hp3=plot(x3,y3,'g-','linewidth',3.5); sita1=sita1+w1*pausetime; %計(jì)算一秒以后秒針的角度位置 sita2=sita2+w2*pausetime; %計(jì)算一秒以后分針的角度位置 sita3=sita3+w3*pausetime; %計(jì)算一秒以后時(shí)針的角度位置 pause(pausetime); delete(hp1); delete(hp2); delete(hp3);endhold off 程序運(yùn)行結(jié)果如下 結(jié)束語(yǔ) 本文通過(guò)MATLAB編寫(xiě)時(shí)鐘程序,對(duì)MATLAB有了進(jìn)一步的認(rèn)識(shí)和了解,體會(huì)到了MATLAB軟件的應(yīng)用廣泛和強(qiáng)大。為科學(xué)研究、工程設(shè)計(jì)以及必須

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論