⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pca_0902.m

📁 用matlab中的基本数学包实现-PCA
💻 M
字号:
M=[ -5 -5; -5 -4;
    -4 -5; -5 -6 ;
    -6 -5;  5  5 ; 
     5  6;  6  5 ;
     4  5;  5  4  ]' ;
Mmean=mean(M,2);
R=[0 0;0 0];
for i=1:10; 
    Mcov=M(:,i)-Mmean;
    R=R+Mcov*Mcov';
end
R=R./10;
[V,D] = eig(R);

n=ndims(D);

tempD=D(1,1);
f=1;   
for j=2:n;   
    if tempD<D(j,j);   
        tempD=D(j,j);
        f=j;
    end
end

projectY=V(:,2)'*M;

figure(1);
plot(M(1,1:5),M(2,1:5),'bx',M(1,6:10),M(2,6:10),'y.');   
axis([-8 8 -8 8]);
title('PCA');
hold on;   

x=-7:0.1:7;
y=x*(V(2,2)/V(1,2));
projectLine1 = line(x,y,'LineWidth',1,'Color',[.0 .8 .0]);

x=0:0.1:3;
y=x*(V(2,1)/V(1,1));
projectLine2 = line(x,y,'LineWidth',1,'Color',[.8 .4 .0]);

x=zeros(10);  y=x(1,:);  x=projectY;
projectLine3 = line([-8 8],[0 0],'LineWidth',1,'Color',[.0 .8 .0]);
plot(x(1:5),y(1:5),'rx',x(6:10),y(6:10),'y.');   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -