Matlab動(dòng)態(tài)時(shí)鐘范例_第1頁(yè)
Matlab動(dòng)態(tài)時(shí)鐘范例_第2頁(yè)
Matlab動(dòng)態(tài)時(shí)鐘范例_第3頁(yè)
Matlab動(dòng)態(tài)時(shí)鐘范例_第4頁(yè)
Matlab動(dòng)態(tài)時(shí)鐘范例_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Matlab動(dòng)態(tài)時(shí)鐘范例一、主程序代碼%將下列命令保存到M文件中,直接運(yùn)行 %Matlab時(shí)鐘動(dòng)畫(huà)演示%原版在%Anson Tsiar于2017-3-2去掉try循環(huán),并顯示中文日期(另寫(xiě)date_cn函數(shù)),增加數(shù)字顯示(也將更新時(shí)間設(shè)為1s)%Anson Tsiar于2017-3-3更改表盤(pán)顏色,增加時(shí)鐘短刻度,更改表盤(pán)繪制次序,并使秒針取整秒(舍小數(shù))%增加符合中文習(xí)慣(函數(shù)實(shí)現(xiàn))的數(shù)字時(shí)鐘%為防止其他意外報(bào)錯(cuò),重回try,2017-3-4(本版模擬時(shí)鐘秒針一秒一秒地跳)%2017-3-8 設(shè)置背景為白色(老版本的matlab figure默認(rèn)背景為灰色)try %close all c

2、lc; %hfig=figure('NumberTitle','off','name','Clock Animation Demo-matlabfan','MenuBar','none'); hfig=figure('NumberTitle','off','name','動(dòng)態(tài)時(shí)鐘','MenuBar','none'); set(gca,'position',0.13 0.05 0.775

3、0.815) set(gcf,'color','w') %設(shè)備背景顏色為白色 theta=linspace(0,6.3,1000); x1=7*cos(theta);y1=7*sin(theta); plot(x1,y1,'color',0.93 0.99 0.9,'linewidth',3); %繪制內(nèi)表盤(pán) hold on for k=1:12; xk=9*cos(-2*pi/12*k+pi/2); yk=9*sin(-2*pi/12*k+pi/2); plot(xk/9*8 xk/9*7,yk/9*8 yk/9*7,. 

4、9;linewidth',2,. 'color',0.4 0.8 0.9); %長(zhǎng)刻度 for l=1:4 xl=9*cos(-2*pi/12*k+pi/2-2*pi/60*l); yl=9*sin(-2*pi/12*k+pi/2-2*pi/60*l); plot(xl/9*8 xl/9*7.5,yl/9*8 yl/9*7.5,. 'color',0.3 0.8 0.9); %短刻度 end text(xk/9*6,yk/9*6,num2str(k),'fontsize',16,'color',0.9 0.3 0.8,.

5、'FontName','Times New Roman','HorizontalAlignment','center'); %表盤(pán)時(shí)刻標(biāo)度 end axis equal x2=8*cos(theta);y2=8*sin(theta); plot(x2,y2,'color',0.5 0.5 0.5,'linewidth',4); %繪制外表盤(pán) axis off axis(-10 10 -12 10) d_cn,w_cn=date_cn(); title(d_cn,'fontsize',

6、18,'FontName','Microsoft YaHei') txt1=text(0,9.5,w_cn,'fontsize',18,'FontName','Microsoft YaHei','HorizontalAlignment','center'); % 計(jì)算時(shí)針位置 ti=clock; td1=ti(1:3); th=-(ti(4)+ti(5)/60+ti(6)/3600)/12*2*pi+pi/2; xh3=4.0*cos(th); yh3=4.0*sin(th); xh

7、1=-0.1*xh3; yh1=-0.1*yh3; xh2=xh3/2+0.5*cos(th-pi/2); yh2=yh3/2+0.5*sin(th-pi/2); xh4=xh3/2-0.5*cos(th-pi/2); yh4=yh3/2-0.5*sin(th-pi/2); hh=fill(xh1 xh2 xh3 xh4 xh1,yh1 yh2 yh3 yh4 yh1,0.6 0.5 0.3); % 計(jì)算分針位置 tm=-(ti(5)+ti(6)/60)/60*2*pi+pi/2; xm3=6.0*cos(tm); ym3=6.0*sin(tm); xm1=-0.1*xm3; ym1=-0.1

8、*ym3; xm2=xm3/2+0.5*cos(tm-pi/2); ym2=ym3/2+0.5*sin(tm-pi/2); xm4=xm3/2-0.5*cos(tm-pi/2); ym4=ym3/2-0.5*sin(tm-pi/2); hm=fill(xm1 xm2 xm3 xm4 xm1,ym1 ym2 ym3 ym4 ym1,0.8 0.4 0.1); % 計(jì)算秒針位置 ts=-(ti(6)/60*2*pi+pi/2; hs=plot(-1*cos(ts) 7*cos(ts),-1*sin(ts) 7*sin(ts),'color','r','lin

9、ewidth',2); set(gcf,'doublebuffer','on'); fill(0.4*cos(theta),0.4*sin(theta),'r'); %繪制指針轉(zhuǎn)軸 rectangle('Position',-9,-11.6,18,3,'Curvature',0.4,. 'EdgeColor',0.1 0.1 0.1,'FaceColor',0.8 0.8 0.8,. 'LineWidth',2,'LineStyle','

10、;-'); %畫(huà)數(shù)字時(shí)鐘外框 %while 1; %此處原是1,死循環(huán),關(guān)閉figure會(huì)報(bào)錯(cuò)退出 while ishandle(hfig) %現(xiàn)關(guān)閉窗口后ishandle(hfig)變成0,會(huì)直接退出循環(huán) %更新日期和星期 ti=clock;%每次讀取系統(tǒng)時(shí)間,并進(jìn)行運(yùn)算 td2=ti(1:3); if isequal(td1,td2) td1=td2; d_cn,w_cn=date_cn(); title(d_cn,'fontsize',18,'FontName','Microsoft YaHei') delete(txt1); tx

11、t1=text(0,9.5,w_cn,'fontsize',18,'FontName','Microsoft YaHei','HorizontalAlignment','center'); end ti(6)=floor(ti(6); %秒數(shù)取整(舍棄小數(shù)部分) %若不取整,只要刷新時(shí)間夠快,則可認(rèn)為秒鐘是連續(xù)轉(zhuǎn)動(dòng)的 % 計(jì)算時(shí)針位置 th=-(ti(4)+ti(5)/60+ti(6)/3600)/12*2*pi+pi/2; xh3=4.0*cos(th); yh3=4.0*sin(th); xh1=-0.1*xh

12、3; yh1=-0.1*yh3; xh2=xh3/2+0.5*cos(th-pi/2); yh2=yh3/2+0.5*sin(th-pi/2); xh4=xh3/2-0.5*cos(th-pi/2); yh4=yh3/2-0.5*sin(th-pi/2); set(hh,'XData',xh1 xh2 xh3 xh4 xh1,'YData',yh1 yh2 yh3 yh4 yh1) % 計(jì)算分針位置 tm=-(ti(5)+ti(6)/60)/60*2*pi+pi/2; xm3=6.0*cos(tm); ym3=6.0*sin(tm); xm1=-0.1*xm3;

13、 ym1=-0.1*ym3; xm2=xm3/2+0.5*cos(tm-pi/2); ym2=ym3/2+0.5*sin(tm-pi/2); xm4=xm3/2-0.5*cos(tm-pi/2); ym4=ym3/2-0.5*sin(tm-pi/2); set(hm,'XData',xm1 xm2 xm3 xm4 xm1,'YData',ym1 ym2 ym3 ym4 ym1) % 計(jì)算秒針位置 ts=-(ti(6)/60*2*pi+pi/2; set(hs,'XData',-1*cos(ts) 7*cos(ts),'YData'

14、,-1*sin(ts) 7*sin(ts) t_cn=time_cn(ti(4),ti(5),ti(6); txt2=text(0,-10,t_cn,. 'fontsize',18,'FontName','Microsoft YaHei',. 'HorizontalAlignment','center'); %顯示數(shù)字時(shí)間 tie=clock; drawnow; pause(0.01); delete(txt2) endcatch returnend二、函數(shù)代碼為實(shí)現(xiàn)日期(含星期)和時(shí)間的中文顯示,上述主程序代碼中

15、使用兩個(gè)自定義函數(shù):date_cn和time_cn。1)date_cn函數(shù)function d_cn,w_cn=date_cn()%本函數(shù)將當(dāng)前日期轉(zhuǎn)化為中文輸出%格式:d_cn=XXXX年XX月XX日 (XX為阿拉伯?dāng)?shù)字)% w_cn=星期幾(幾為日、中文一到六)n=now; %若只求日期不求星期,則可 n=date;yy=year(n);y=strcat(num2str(yy),'年');mm=month(n);m=strcat(num2str(mm),'月');dd=day(n);d=strcat(num2str(dd),'日');d_cn

16、=strcat(y,m,d);%可一步到位:%d_cn=strcat(num2str(year(n),'年',num2str(month(n),'月',num2str(day(n),'日');ww=weekday(n)-1;%英文從星期日開(kāi)始,第一天為1;中文從星期一開(kāi)始,則星期日可記為0。table = '0','日' '1','一' '2','二' '3','三' '4','四' &#

17、39;5','五' '6','六'%weekIndex=find(strcmp(table,num2str(ww);weekIndex= strcmp(table,num2str(ww);w_cn=('星期',tableweekIndex,2);2)time_cn函數(shù)function t_cn=time_cn(h,m,s)%本函數(shù)輸入二十四小時(shí)制的時(shí)間,輸入符合中文習(xí)慣的時(shí)間。if h<0 | h>24 | m<0 |m>=60 | s<0 |s>=60 error('錯(cuò)誤的時(shí)間

18、格式,請(qǐng)確保輸入時(shí)間為為二十四小時(shí)制的時(shí)間!'); return;endtable = '0','深夜' '1','深夜' '2','深夜' '3','凌晨' '4','凌晨' '5','凌晨' '6','早上' '7','早上' '8','早上' '9','上午' &#

19、39;10','上午' '11','上午' '12','中午' '13','下午' '14','下午' '15','下午' '16','下午' '17','下午' '18','傍晚' '19','晚上' '20','晚上' '21','晚上' '22','晚上' '23','晚上' '24','深夜'timeIndex=strcmp(table,num2str(h);timescope=char(table(timeIndex,2);if h>12 h=h-12;elseif

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論