使用Matlab完成以下实验,编程实现PCA和白化变换,可以使用eig或svd函数,但不能使用可以直接完成本任务的函数(例如princomp)。
(1)使用x=randn(2000,2)*[2 1;1 2]生成2000个样本,每个样本都是二维的,使用scatter函数画出这2000个样本。
(2)对这些样本进行PCA变换并保留所有2个维度,使用scatter函数画出PCA后的样本。
(3)对这些样本进行白化变换并保留所有的2个维度,使用scatter函数画出PCA后的样本。
clear
x=randn(2000,2)*[2 1;1 2]; %产生标准正态分布的随机数或矩阵
figure(1);
scatter(x(:,1),x(:,2));
xlim([-