写一个线性判别分析matlab示例代码
时间: 2023-05-30 14:04:58 浏览: 225
线性判别分析matlab代码实现
5星 · 资源好评率100%
以下是一个简单的线性判别分析matlab示例代码:
%生成样本数据
x1 = [1,2;2,3;3,3;4,5;5,5];
x2 = [1,1;2,2;3,1;4,3;5,2];
%计算样本均值
mu1 = mean(x1);
mu2 = mean(x2);
%计算样本协方差矩阵
Sigma1 = cov(x1);
Sigma2 = cov(x2);
%计算总体协方差矩阵
Sigma = (Sigma1*size(x1,1)+Sigma2*size(x2,1))/(size(x1,1)+size(x2,1));
%计算投影方向
W = inv(Sigma)*(mu1-mu2)';
%计算投影后的样本数据
y1 = x1*W;
y2 = x2*W;
%绘制投影后的数据分布图
figure
hold on
scatter(y1, zeros(size(y1)), 'r')
scatter(y2, zeros(size(y2)), 'b')
xlabel('投影后的数据')
ylabel('类别')
legend('类别1', '类别2')
title('线性判别分析')
阅读全文