📄 normalize_da_coefficients.m
字号:
function da=normalize_da_coefficients(da,coef_name);
% NORMALIZE_DA_COEFFICIENTS normalize discriminant analysis coefficients
% da - discriminant model
% Using: normalize_da_coefficients; - GUI-mode
% normalize_da_coefficients(da,coef_name); - batch mode
% resulting coefficients are: = <coefficients set>/coef(coef_name)
% example: normalize_da_coefficients(da,'c1');
%
% last modified 7.2.05
str=da.coefficients_txt;
str=[{'c0 (-discr. fun.)'} str];
if nargin<2
[selection,ok] = listdlg('PromptString','Normalize on:',...
'SelectionMode','single','ListString',str);
else
ok=0;
for i=1:length(str)
if strcmp(coef_name,str{i})
ok=1;
selection=i;
break
end
end
end
if ok
if selection==1
for i=1:size(da.coeff_data,2)
da.coeff_data(:,i)=-da.coeff_data(:,i)./da.discriminant_func;
end
da.discriminant_func=ones(size(da.discriminant_func));
else
da.discriminant_func=da.discriminant_func./da.coeff_data(:,selection-1);
for i=1:size(da.coeff_data,2)
if i~=selection-1
da.coeff_data(:,i)=da.coeff_data(:,i)./da.coeff_data(:,selection-1);
end
end
da.coeff_data(:,selection-1)=ones(size(da.coeff_data(:,selection-1)));
end
end
time=da.time;
Coeff_data=da.coeff_data;
Fisher=da.fisher;
Discr_func=da.discriminant_func;
IX=[];
for i=1:length(time)
if (~all(isfinite(Coeff_data(i,:))))|(~isfinite(Discr_func(i)))
IX=[IX i];
fprintf('infinty values removed at time %d\n',time(i));
end
end
if ~isempty(IX)
Coeff_data(IX,:)=[];
Fisher(IX)=[];
time(IX)=[];
Discr_func(IX)=[];
end
da.time=time;
da.coeff_data=Coeff_data;
da.fisher=Fisher;
da.discriminant_func=Discr_func;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -