用MATLAB写一段能展示主成分图的代码
时间: 2023-07-16 17:14:05 浏览: 128
主成分分析的matlab代码
下面是一个简单的MATLAB代码,用于展示主成分图:
```matlab
% 生成随机数据
data = randn(100,5);
% 计算数据的均值
mean_data = mean(data);
% 数据中心化
data_centered = data - mean_data;
% 计算数据的协方差矩阵
cov_data = cov(data_centered);
% 计算数据的特征向量和特征值
[eig_vectors,eig_values] = eig(cov_data);
% 对特征向量进行排序
[~,idx] = sort(diag(eig_values),'descend');
eig_vectors_sorted = eig_vectors(:,idx);
% 计算主成分得分
scores = data_centered * eig_vectors_sorted;
% 绘制主成分图
figure;
scatter(scores(:,1),scores(:,2));
xlabel('PC1');
ylabel('PC2');
```
该代码生成了一个包含100个样本、每个样本有5个特征的随机数据,并计算了数据的主成分图。主成分图显示了数据在第一和第二主成分上的得分。
阅读全文