% PCA_example-2--sent close all; clear all; format compact; format short; warning off; zakr = 3; % zakres osi wykresow rozrzutu x0 = randn(500,1); %E = [x0 x0]; E = [x0+randn(500,1)*0.1 x0+randn(500,1)*0.1]; X = centralize(E); X [m,n] = size(X); [m n] mean(X) X'*X/m vx = sort(diag(X'*X),'descend') vx = vx/sum(vx) figure(1); bar(vx); axis([0 length(vx)+1 0 1]) fig_scatter(2,X(:,end),X(:,end-1),zakr); C = X'*X/m [K,L] = eigs(C,n,'sm') %Y = X*K; % K % K*diag([1;0]) Y = X*(K*diag([1;0])) Y vy = sort(diag(L),'descend') % sortowanie nadmiarowe (eigs) vy = vy/sum(vy) figure(11); bar(vy); axis([0 length(vy)+1 0 1]) %fig_scatter(3,Y(:,1),Y(:,2),zakr); fig_scatter(12,Y(:,1),Y(:,2),zakr); tilefigs; close all; Z = Y*K'; fig_scatter(1,X(:,1),X(:,2),zakr); fig_scatter(2,Y(:,1),Y(:,2),zakr); fig_scatter(3,Z(:,1),Z(:,2),zakr); tilefigs;