判别分析matlab代码
时间: 2023-07-03 19:25:20 浏览: 145
MATLAB在判别分析问题中的代码
以下是一个简单的线性判别分析的 MATLAB 代码示例。该代码假设我们有两类样本数据,每类样本有两个特征。我们将这些数据存储在两个矩阵中,每个矩阵的行表示一个样本,列表示一个特征。我们将这些矩阵分别命名为 X1 和 X2。
```matlab
% 将数据存储在两个矩阵中:X1 和 X2
X1 = [1 2; 2 3; 3 4; 4 5];
X2 = [2 1; 3 2; 4 3; 5 4];
% 将数据合并到一个矩阵中,并为每个样本分配一个类别标签
X = [X1; X2];
Y = [ones(size(X1,1),1); 2*ones(size(X2,1),1)];
% 使用 LDA 拟合模型
lda = fitcdiscr(X, Y);
% 生成一些新的测试数据
Xtest = [1.5 2.5; 3.5 4.5; 5.5 6.5];
% 对测试数据进行分类预测
label = predict(lda, Xtest);
disp(label);
```
在这个例子中,我们首先将两个矩阵 X1 和 X2 合并到一个矩阵 X 中,并为每个样本分配一个类别标签 Y。然后,我们使用 `fitcdiscr` 函数拟合 LDA 模型。最后,我们生成一些新的测试数据 Xtest,并使用 `predict` 函数对其进行分类预测。在这个例子中,`label` 的值应该为 `[1; 1; 2]`,表示前两个测试样本属于第一类,第三个测试样本属于第二类。
阅读全文