• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-08-08
  • 语言: Matlab
  • 标签: Fisher  线性判别  

资源简介

Fisher线性判别实验,.m文件,各行代码功能备注明确,有利于学习,matlab直接运行,数据更改即可用于其他类别实验分析。

资源截图

代码片段和文件信息

w1 = [-0.4   0.58   0.089;
    -0.31  0.27  -0.04;
    -0.38  0.055 -0.035;
    -0.15  0.53   0.011;
    -0.35  0.47   0.034;
     0.17  0.69   0.1;
    -0.011 0.55  -0.18;
    -0.27  0.61   0.12;
    -0.065 0.49   0.0012;
    -0.12  0.054 -0.063];
w2 = [ 0.83   1.6  -0.014;
     1.1    1.6   0.48;
    -0.44  -0.41  0.32;
     0.047 -0.45  1.4;
     0.28   0.35  3.1;
    -0.39  -0.48  0.11;
     0.34  -0.079 0.14;
    -0.3   -0.22  2.2;
     1.1    1.2  -0.46;
     0.18  -0.11 -0.49];
xx1 = [-0.7    0.58  0.089];
xx2 = [0.047  -0.4   1.04];
 %求w1 w2均值m1 m2和总类内离散度ws
 m1 = mean(w1)‘;
 m2 = mean(w2)‘;
 n1 = size(w11);
 n2 = size(w21);
 s1 = cov(w1)*(n1-1);  %类内离散度矩阵就是类型方差矩阵,但是这里要注意一点:
 s2 = cov(w2)*(n2-1);  %matlab中算的协方差被缩小了n-1倍,所以要乘(n-1)
 sw = s1 + s2;       
 w  = inv(sw)*(m1-m2); 
 ym1 = mean(w‘*m1);     %一维Y空间内,各类样品均值
 ym2 

评论

共有 条评论