📄 disp_result_da_model.m
字号:
function disp_result_da_model(da,X);
% Display computed DA Model. Result coeffs. are averaged by time.
% da - discriminant model
% X - data matrix
% last modified 4.10.05
old_format=get(0,'Format');
format short;
Coeff_mean=mean(da.coeff_data);
Coeff_var=var(da.coeff_data);
txt=sprintf('0=%.3f',-mean(da.discriminant_func));
for i=1:length(Coeff_mean)
txt=[txt sprintf('%+.3f',Coeff_mean(i)) '*' kill_points(da.functions_txt{i})];
end
disp('________________________________________________________________');
disp('Model type (discriminant analysis):');
disp(sprintf(' First window length: %d sample points, \n Second window length: %d sample points',da.win1,da.win2));
disp(' Model:');
mod_type=['0=c0+' da.df_txt];
try
e=sym(mod_type); % recuire Symb. Toolbox
pretty(e,80);
catch
disp(mod_type);
end
disp('Result model:');
try
e=sym(txt); % recuire Symb. Toolbox
pretty(e,80);
catch
disp(txt);
end
disp(sprintf('\n Fisher criterion: mean= %6.4f, variance=%6.4f',mean(da.fisher),var(da.fisher)));
disp(' ');
str_arr={};
str_arr{1}='Coefficient';
str_arr{2}='-----------';
str_arr{3}='c0 (-discr.fun.)';
for i=1:length(da.coefficients_txt)
str_arr{end+1}=da.coefficients_txt{i};
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'mean'];
str_arr{2}=[str_arr{2} '----'];
str_arr{3}=[str_arr{3} sprintf('%6.4f',-mean(da.discriminant_func))];
for i=1:length(da.coefficients_txt)
str_arr{3+i} =[str_arr{3+i} sprintf('%6.4f',Coeff_mean(i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'median'];
str_arr{2}=[str_arr{2} '------'];
str_arr{3}=[str_arr{3} sprintf('%6.4f',-median(da.discriminant_func))];
for i=1:length(da.coefficients_txt)
str_arr{3+i} =[str_arr{3+i} sprintf('%6.4f',median(da.coeff_data(:,i)))];
end
% str_arr=align_with_blank(str_arr,4);
% str_arr{1}=[str_arr{1} 'expectation'];
% str_arr{2}=[str_arr{2} '-----------'];
% str_arr{3}=[str_arr{3} sprintf('%6.4f',expected_value(-da.discriminant_func))];
% for i=1:length(da.coefficients_txt)
% str_arr{3+i} =[str_arr{3+i} sprintf('%6.4f',expected_value(da.coeff_data(:,i)))];
% end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} 'variance'];
str_arr{2}=[str_arr{2} '---------'];
str_arr{3}=[str_arr{3} sprintf('%6.4f',var(da.discriminant_func))];
for i=1:length(da.coefficients_txt)
str_arr{3+i} =[str_arr{3+i} sprintf('%6.4f',Coeff_var(i))];
end
str_arr=align_with_blank(str_arr,4);
str_arr{1}=[str_arr{1} '|mean/variance|'];
str_arr{2}=[str_arr{2} '---------------'];
str_arr{3}=[str_arr{3} sprintf('%6.4f',abs(mean(da.discriminant_func)/var(da.discriminant_func)))];
warning off MATLAB:divideByZero
for i=1:length(da.coefficients_txt)
str_arr{3+i} =[str_arr{3+i} sprintf('%6.4f',abs(Coeff_mean(i)/Coeff_var(i)))];
end
warning on MATLAB:divideByZero
for i=1:length(str_arr)
disp(str_arr{i})
end
disp('---------------------------------------------------------------------------')
disp(' ');
disp('Here: ')
for i=1:length(X.name)
STR=[' ' 'x' num2str(i) ' is ' X.name{i}];
disp(STR)
end
format(old_format);
function s=kill_points(str);
s=[];
for i=1:length(str)
if (str(i)=='.')
if isempty(str2num(str(i-1)))|isempty(str2num(str(i+1)))
continue
end
end
s=[s str(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
function v=expected_value(X);
% [n,xout]=hist(X,ceil(length(X)^0.5));
% [m,I]=max(n);
% a=xout(I)-min(diff(xout))
% b=xout(I)+min(diff(xout))
% h=min([(b-a)/50 0.01])
% [n,xout]=hist(X,a:h:b);
% [m,I]=max(n);
% v=xout(I);
v=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -