100行以上的matlab程序 万分感谢!!!!

100行以上的matlab程序 万分感谢!!!!,第1张

时钟宴段闷1:(第一个程序)

hfig=figure('visible','off')

set(hfig,'NumberTitle','off')

set(hfig,'name','My Clock')

set(hfig,'MenuBar','none')

set(hfig,'color',[0.5 0.7 0.3])

set(hfig,'visible','on')

A=linspace(0,6.3,1000)

x1=8*cos(A)

y1=8*sin(A)

x2=7*cos(A)

y2=7*sin(A)

plot(x1,y1,'b','linewidth',1.4)

hold on

plot(x2,y2,'b','linewidth',3.5)

fill(0.4*cos(A),0.4*sin(A),'燃衡r')

axis off

axis([-10 10 -10 10])

axis equal

set(gca,'position',[0.13 0.05 0.775 0.815])

title(date,'fontsize',18)

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],'color',[0.3 0.8 0.9])

h=text(xk,yk,num2str(k),'fontsize',16,'color',...

[0.9 0.3 0.8],'HorizontalAlignment','center')

end

% 计算时针位置

ti=clock

th=-(ti(4)+ti(5)/60+ti(6)/3600)/12*2*pi+pi/2

xh3=4.0*cos(th)

yh3=4.0*sin(th)

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([0 xh2 xh3 xh4 0],[0 yh2 yh3 yh4 0],[0.6 0.5 0.3])

% 计算分针位置

tm=-(ti(5)+ti(6)/60)/60*2*pi+pi/2

xm3=6.0*cos(tm)

ym3=6.0*sin(tm)

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([0 xm2 xm3 xm4 0],[0 ym2 ym3 ym4 0],[0.6 0.5 0.3])

% 计算秒针位置

ts=-(ti(6))/60*2*pi+pi/2

hs=plot([0 7*cos(ts)],[0 7*sin(ts)],...

'color',[0.6 0.5 0.3],'linewidth',3)

set(gcf,'doublebuffer','on')

k=1

while k<6

ti=clock

% 计算时针位置

th=-(ti(4)+ti(5)/60+ti(6)/3600)/12*2*pi+pi/晌弯2

xh3=4.0*cos(th)

yh3=4.0*sin(th)

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',[0 xh2 xh3 xh4 0],'YData',[0 yh2 yh3 yh4 0])

% 计算分针位置

tm=-(ti(5)+ti(6)/60)/60*2*pi+pi/2

xm3=6.0*cos(tm)

ym3=6.0*sin(tm)

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',[0 xm2 xm3 xm4 0],'YData',[0 ym2 ym3 ym4 0])

% 计算秒针位置

ts=-(ti(6))/60*2*pi+pi/2

set(hs,'XData',[0 7*cos(ts)],'YData',[0 7*sin(ts)])

drawnow

pause(0.09)

end

时钟2:(第二个程序)

% clfshg

h=figure('menubar','none',...

'color','white',...

'position',[200 200 320 360],...

'name','CLOCK')

e1=uicontrol('parent',h,...%定义一个edit控件,用于存储日期

'style','edit',... %该控件的类型为edit,可以编辑其内容

'fontsize',12,... %字体大小为12

'position',[110 20 120 30])%位置,距离左边110,距离底边20,宽度为120,高度为30

b1=uicontrol('parent',h,...%定义一个text控件,显示刻度“12”

'style','text',...

'string','12',...

'fontsize',12,...

'position',[156 275 20 20])

b2=uicontrol('parent',h,...%定义一个text控件,显示刻度“9”

'style','text',...

'string','9',...

'fontsize',12,...

'position',[60 175 20 20])

b3=uicontrol('parent',h,...%定义一个text控件,显示刻度“6”

'style','text',...

'string','6',...

'fontsize',12,...

'position',[156 75 20 20])

b4=uicontrol('parent',h,...%定义一个text控件,显示刻度“3”

'style','text',...

'string','3',...

'fontsize',12,...

'position',[260 175 20 20])

s1=[0:pi/1000:2*pi]

hl=plot(cos(s1),sin(s1),'b-')%绘制表盘的外圆

time=datestr(now) %得到当前时间

set(e1,'string',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

axis offaxis equal

hold on

plot(0,0,'or')

%设置刻度

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

for 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

%时钟指针

while 1

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,'b-')

hp2=plot(x2,y2,'b-','linewidth',2)

hp3=plot(x3,y3,'g-','linewidth',2)

sita1=sita1+w1*pausetime %计算一秒以后秒针的角度位置

sita2=sita2+w2*pausetime %计算一秒以后分针的角度位置

sita3=sita3+w3*pausetime %计算一秒以后时针的角度位置

pause(pausetime)

delete(hp1)

delete(hp2)

delete(hp3)

end

hold off

因为disp后面跟字符,a(i,j)是数值,不能直接接。

用num2str就可以了颤并,修改后的程序及结茄轿迹果为:

>>帆巧 a=[1,2,35,4,67,9,33,1,7]

for i=1:4

for j=1:3

a(i,j)=a(i,j)+1

disp(['a(i,j)=',num2str(a(i,j))])

end

end

a(i,j)=2

a(i,j)=3

a(i,j)=4

a(i,j)=6

a(i,j)=5

a(i,j)=7

a(i,j)=8

a(i,j)=10

a(i,j)=4

a(i,j)=4

a(i,j)=2

a(i,j)=8


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12354800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存