📄 panju.m
字号:
function y=PanJu(a,b,c,p)
% 求三个输入矩阵的J判据
width_a=numel(a)/length(a);
width_b=numel(b)/length(b);
width_c=numel(c)/length(c);
% 计算每个矩阵的行数及样本数
if width_a==1
ma=a;
else
ma=sum(a)/width_a;
end
if width_b==1
mb=b;
else
mb=sum(b)/width_b;
end
if width_c==1
mc=c;
else
mc=sum(c)/width_c;
end
m=p(1)*ma+p(2)*mb+p(3)*mc;
Sb=p(1)*(ma-m)*(ma-m)'+p(2)*(mb-m)*(mb-m)'+p(3)*(mc-m)*(mc-m)';
ka=0;
for i=1:1:width_a
k1=(a(i,:)-ma)*(a(i,:)-ma)';
ka=ka+k1;
end
kb=0;
for i=1:1:width_b
k2=(b(i,:)-mb)*(b(i,:)-mb)';
kb=kb+k2;
end
kc=0;
for i=1:1:width_c
k3=(c(i,:)-mc)*(c(i,:)-mc)';
kc=kc+k3;
end
Sw=p(1)/width_a*ka+p(2)/width_b*kb+p(3)/width_c*kc;
y=trace(Sb)/trace(Sw);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -