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');