www.gusucode.com > 使用Matlab GUI界面实现心电滤波效果交互式查看源码程序 > ToDraw.m
function ToDraw(hlist1,hlist2,hlist3,hslider1,hslider2,text3,text4,hslider3,hslider4,hcheck,hcheck1) datasource = get(hlist1,'value'); filtertype = get(hlist2,'value'); ordernum = get(hlist3,'value'); lowcut = get(hslider1,'value'); highcut = get(hslider2,'value'); check = get(hcheck,'value'); check1 = get(hcheck1,'value'); global num0 num1; switch datasource case 2 [Time V1 V2 V3 V4 channelA channelB channelC channelD IO] = textread('data_250_1.dat',... '%f %f %f %f %f %f %f %f %f %f','headerlines',10); datalength = length(V4); set(hslider3, 'max',floor(datalength/2)-1,'min',1,'sliderstep',[0.01,0.1]); set(hslider4, 'max',datalength,'min',ceil(datalength/2),'sliderstep',[0.01,0.1]); if num0 == 0 set(hslider3,'value',ceil(datalength/8)); set(hslider4,'value',ceil(datalength*7/8)); num0 = 1; num1 = 0; end lowlim = get(hslider3,'value'); highlim = get(hslider4,'value'); if filtertype == 1 filter_250_1(ordernum,lowcut,highcut,lowlim,highlim,check,check1,hslider3,hslider4,text3,text4); elseif filtertype == 2 filter_250_2(ordernum,lowcut,highcut,lowlim,highlim,check,check1,hslider3,hslider4,text3,text4); else filter_250_3(ordernum,lowcut,highcut,lowlim,highlim,check,check1,hslider3,hslider4,text3,text4); end otherwise [Time V1 V2 V3 V4 channelA channelB channelC channelD IO] = textread('data_100_1.dat',... '%f %f %f %f %f %f %f %f %f %f','headerlines',10); datalength = length(V4); set(hslider3, 'max',floor(datalength/2)-1,'min',1,'sliderstep',[0.01,0.1]); set(hslider4, 'max',datalength,'min',ceil(datalength/2),'sliderstep',[0.01,0.1]); if num1 == 0 set(hslider3,'value',ceil(datalength/8)); set(hslider4,'value',ceil(datalength*7/8)); num1 = 1; num0 = 0; end lowlim = get(hslider3,'value'); highlim = get(hslider4,'value'); if filtertype == 1 filter_100_1(ordernum,lowcut,highcut,lowlim,highlim,check,check1,hslider3,hslider4,text3,text4); elseif filtertype == 2 filter_100_2(ordernum,lowcut,highcut,lowlim,highlim,check,check1,hslider3,hslider4,text3,text4); else filter_100_3(ordernum,lowcut,highcut,lowlim,highlim,check,check1,hslider3,hslider4,text3,text4); end end