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