www.gusucode.com > 使用Matlab GUI界面实现心电滤波效果交互式查看源码程序 > GUIfilter.m

    clf;
clear;
global num0 num1;
num0 = 0;
num1 = 0;
set(gcf,'color',[0.9 0.9 0.9]);
set(gcf,'Unit','normalized','Position',[0.15,0.25,0.75,0.5]);
set(gcf,'menubar','none','Name','心电滤波效果查看器 by Andrew.Yukai','numbertitle','off');
axes('Position',[0.1,0.1,0.5,0.73]);
surf(40*membrane(1,25));
shading interp; 
daspect([1 1 0.9]);
camlight;
axis off tight; 
title('Welcome to use HeartfigFilter V1.0 under Matlab which is designd by Andrew.yukai');
uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.69,0.9,0.30,0.05],'string','选择数据采集的dat文件',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',12,'fontweight','bold');
 hlist1 = uicontrol(gcf,'Style','list','Unit','normalized',...
    'Posi',[0.715,0.77,0.25,0.13],'String','100Hz心电采样|250Hz心电采样',...
    'fontname','微软雅黑','fontsize',10,'value',2);
uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.69,0.69,0.30,0.05],'string','选择滤波器方案',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',12,'fontweight','bold');
  hlist2 = uicontrol(gcf,'Style','list','Unit','normalized',...
    'Posi',[0.715,0.5,0.16,0.18],'String','Butterworth filter|Chebyshev filter1|Chebyshev filter2',...
    'fontname','微软雅黑','fontsize',9);

uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.88,0.64,0.10,0.05],'string','选择阶数',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',10);
   hlist3 = uicontrol(gcf,'Style','list','Unit','normalized',...
    'Posi',[0.88,0.50,0.1,0.13],'String','1阶|2阶|3阶|4阶',...
    'fontname','微软雅黑','fontsize',9,'value',2);
text1 = uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.69,0.42,0.30,0.05],'string','带宽下限设置  0.5Hz',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',10);
hslider1 = uicontrol(gcf,'Style','slider','Unit','normalized','Position',[0.715,0.38,0.265,0.05],...
    'max',10,'min',0,'sliderstep',[0.001,0.01],'Value',0.5,'call','setvalue1(text1,hslider1)');
text2 = uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.69,0.32,0.30,0.05],'string','带宽上限设置  40Hz',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',10);
hslider2 = uicontrol(gcf,'Style','slider','Unit','normalized','Position',[0.715,0.28,0.265,0.05],...
    'max',130,'min',30,'sliderstep',[0.0001,0.001],'Value',40,'call','setvalue(text2,hslider2)');

text3 = uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.1,0.93,0.22,0.05],'string','读数起始',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',9);
hslider3 = uicontrol(gcf,'Style','slider','Unit','normalized','Position',[0.1,0.89,0.265,0.05]);
text4 = uicontrol(gcf,'Style','text','unit','normalized',...
    'Posi',[0.40,0.93,0.22,0.05],'string','读数终止',...
     'Horizontal','center','fontname','微软雅黑','backgroundcolor',[0.9 0.9 0.9],'fontsize',9);
hslider4 = uicontrol(gcf,'Style','slider','Unit','normalized','Position',[0.39,0.89,0.265,0.05]);
set(hslider3,'call',['ToDraw(hlist1,hlist2,hlist3,hslider1,hslider2,text3,text4,hslider3,hslider4,hcheck,hcheck1);','setvalue3(text3,hslider3);']);
set(hslider4,'call',['ToDraw(hlist1,hlist2,hlist3,hslider1,hslider2,text3,text4,hslider3,hslider4,hcheck,hcheck1);','setvalue4(text4,hslider4);']);
hcheck = uicontrol(gcf,'style','checkbox','string',' 观察原信号波形',...
    'Unit','normalized','Position',[0.85,0.22,0.17,0.05],'Horizontal','center',...
    'fontname','微软雅黑','fontsize',8,'backgroundcolor',[0.9 0.9 0.9],'value',1);
hcheck1 = uicontrol(gcf,'style','checkbox','string',' 显示滤波信号',...
    'Unit','normalized','Position',[0.735,0.22,0.11,0.05],'Horizontal','center',...
    'fontname','微软雅黑','fontsize',8,'backgroundcolor',[0.9 0.9 0.9],'value',1);

 uicontrol(gcf,'Style','push','Unit','normalized',...
    'Posi',[0.732,0.13,0.22,0.08],'String','绘 制',...
    'fontname','微软雅黑','fontsize',11,'fontweight','bold','foregroundcolor','b','call','ToDraw(hlist1,hlist2,hlist3,hslider1,hslider2,text3,text4,hslider3,hslider4,hcheck,hcheck1)');
uicontrol(gcf,'Style','push','Unit','normalized',...
    'Posi',[0.732,0.04,0.22,0.08],'String','关 闭',...
    'fontname','微软雅黑','fontsize',11,'fontweight','bold','foregroundcolor','r','Call','SureToClose');