www.gusucode.com > Matlab动力系统和时间序列分析工具箱 > Matlab动力系统和时间序列分析工具箱/lab432/gui/gui_moving_average.m

    function gui_moving_average
% GUI_MOVING_AVERAGE provide moving average filtration of data

% last modified 02.12.04

global TS

str=TS.name;
[selection,ok] = listdlg('PromptString','Select data:',...
                'SelectionMode','multiple','ListString',str);

if ok
    prompt = {'Enter window size (in samples) '};
	dlg_title = 'Moving average';
	num_lines= 1;
	def     = {'5'};
	answer  = inputdlg(prompt,dlg_title,num_lines,def);
	if ~isempty(answer)
        window=str2num(answer{1});
        for i=1:length(selection)
            TS.data(:,selection(i))=moving_average(TS.data(:,selection(i)),window);
            TS.name{selection(i)}=['ma' num2str(window) '_' TS.name{selection(i)}];
            waitbar_handle=waitbar(i/length(selection));
        end
        delete(waitbar_handle);
    end
end