📄 gui_data_statistics.m
字号:
function gui_data_statistics;
% DATA_STATISTICS display basic statistics for time series
%
% last modified 12.09.04
global TS
str=TS.name;
[selection,ok] = listdlg('PromptString','Select data:',...
'SelectionMode','multiple','ListString',str);
if ok
% statistics(TS.data(:,selection));
TS.data=TS.data(:,selection);
TS.name=TS.name(selection);
else
return
end
fprintf('\nDisplaying statistics\n_____________________\n');
L=length(TS.name);
Stat=zeros(7,L);
for i=1:L
try
Stat(1,i)=min(TS.data(:,i)); % -min
Stat(2,i)=max(TS.data(:,i)); % -max
Stat(3,i)=Stat(2,i)-Stat(1,i); % -range
Stat(4,i)=mean(TS.data(:,i)); % -mean
Stat(5,i)=median(TS.data(:,i)); % -median
Stat(6,i)=std(TS.data(:,i)); % -std
Stat(7,i)=var(TS.data(:,i)); % -var
catch
Stat(:,i)=NaN*ones(7,L);
disp('Empty time series');
end
end
str_arr={};
str_arr{1}='Data name';
str_arr{2}='---------';
for i=1:L
str_arr{end+1}=TS.name{i};
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'min'];
str_arr{2}=[str_arr{2} '---'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(1,i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'max'];
str_arr{2}=[str_arr{2} '---'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(2,i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'range'];
str_arr{2}=[str_arr{2} '-----'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(3,i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'mean'];
str_arr{2}=[str_arr{2} '----'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(4,i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'median'];
str_arr{2}=[str_arr{2} '------'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(5,i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'std'];
str_arr{2}=[str_arr{2} '---'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(6,i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'var'];
str_arr{2}=[str_arr{2} '---'];
for i=1:L
str_arr{2+i} =[str_arr{2+i} sprintf('%6.4f',Stat(7,i))];
end
for i=1:length(str_arr)
disp(str_arr{i})
end
function s=align_with_blank(s,N);
L=length(s);
l=[];
for i=1:L
l=[l length(s{i})];
end
M=max(l);
max_length=M+N;
for i=1:L
s{i}=[s{i} blanks(max_length-length(s{i}))];
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -