chenhan 发表于 2011-1-23 10:12

各位可以借鉴下

%温度控制系统 动画演示程序
hf=figure('name','温度控制系统','color',[.96 .96 .96]);%设置标题名字
%该温度控制系统保证温度在60-100摄氏度,当温度高于100摄氏度时,开始冷却;当温度低于60度时,开始加热;分别有指示灯指示
axis([-1 1 -1 1]);
% axis('off');hold on;
x1=;
y1=[-0.46 -1 -1 -0.46];
t=-0.46;%存储温度纵坐标
k=1;k1=1;%k为运行标志位,当k=1时,运行;当k=0时,停止;k1为温度上下降标志位,当k1=1时,温度上升;当k1=0时,温度下降
line(,,'color','k','linewidth',2); %画温度区域左边
line(,[-1;-1],'color','k','linewidth',2);%画温度区域下边
line(,,'color','k','linewidth',2);%画温度区域右边
line(,,'color','k','linewidth',2);%画温度区域上边
line(,,'color','r','linewidth',2);%刻度标记100
text(0.5,1,'100摄氏度','color','r');
line(,,'color','b','linewidth',2);%刻度标记60
text(0.5,0.2,'60摄氏度','color','b');
line(,[-0.46;-0.46],'color','g','linewidth',2);%刻度标记27
text(0.5,-0.46,'室温27摄氏度','color','g');
pp=line(,[-0.46;-0.46],'color','r','linewidth',3);
Fun1=plot(-0.95,0.6,'color','k','marker','.','markersize',30);%加热显示
text(-1,0.5,'加热');
Fun2=plot(-0.5,0.6,'color','k','marker','.','markersize',30);%冷却显示
text(-0.55,0.5,'冷却');
Fun3=plot(-0.95,0.2,'color','k','marker','.','markersize',30);%电源开显示
text(-1,0.1,'ON');
Fun4=plot(-0.5,0.2,'color','r','marker','.','markersize',30);%电源关显示
text(-0.53,0.1,'OFF');
text(-0.9,0,'电源指示灯');
%停止按钮
pushbutton1=uicontrol(hf,...
    'units','normalized',...
    'style','pushbutton',...
    'string','停止',...
    'backgroundcolor',,...
    'position',,...
    'callback','k=0;');
%关闭按钮
pushbutton2=uicontrol(hf,...
    'units','normalized',...
    'style','pushbutton',...
    'string','关闭',...
    'backgroundcolor',,...
    'position',,...
    'callback','close');
temp=patch(x1,y1,); %画室温初始温度
while k==1    %产生温度上升、下降动画
        set(Fun4,'color','k');
        set(Fun3,'color','r');
        if k1==1    %温度上升
            set(Fun1,'color','r');
            set(Fun2,'color','k');
            for i=1:1600
              a=t+(1-t)/1600*i;
              y1=;
              set(temp,'ydata',y1);
              set(pp,'ydata',);
              drawnow;
            end
            t=a;
            k1=0;
          else if k1==0     %温度下降
            set(Fun1,'color','k');
            set(Fun2,'color','r');
            for i=1:1000
                a=t-(t-0.2)/1000*i;
                y1=;
                set(temp,'ydata',y1);
                set(pp,'ydata',);
                drawnow;
            end
            t=a;
            k1=1;
              end
        end
end
set(Fun1,'color','k');  %停止还原
set(Fun2,'color','k');
    set(Fun3,'color','k');
    set(Fun4,'color','r');

hsdst 发表于 2011-1-23 13:58

qiang da -----------------------------------------------

chenhan 发表于 2011-1-23 14:07

回复 hsdst 的帖子


    其实这些都是很容易的东西   不是 很难

chenhan 发表于 2011-1-23 14:15

大家可以好好看看  

五味大侠 发表于 2011-1-23 14:51

lz有点意思

chenhan 发表于 2011-1-23 15:03

回复 五味大侠 的帖子

那是必须的  
   
页: [1]
查看完整版本: 各位可以借鉴下