www.pudn.com > PCA_NN.rar > qq.m


x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22]; 
y=[1.1 2.1 2.9 4.1 5.2 5.9 6.8 8.2 9.2 9.8 11 11.9 12.9 14.2 15.1 16 16.8 17.9 19.3 19.9 21 21.9]; %需要拟合的坐标向量; 
m=length(x);a11=0;a12=0;a21=0;a22=0; 
 for i=1:m 
     a11=a11+x(i)^2;a12=a12+x(i)*y(i);a21=a12;a22=a22+y(i)^2; 
 end  
R(1,1)=a11;R(1,2)=a12;R(2,1)=a21;R(2,2)=a22; 
R=R./m;                                                                     %拟和数据的自相关矩阵; 
e(1,1)=sum(x)/m;e(2,1)=sum(y)/m;                                           %拟和数据的均值矢量; 
b11=e(1,1)^2;b12=e(2,1)*e(1,1);b21=b12;b22=e(2,1)^2; 
ee(1,1)=b11;ee(1,2)=b12;ee(2,1)=b21;ee(2,2)=b22; 
E=R-ee                                                                       %求出拟合数据的协方差矩阵; 
load hald 
[pc,var]=pcacov(E);                                                       %利用pcacov()函数求出协方差矩  
b0=-e'*pc(:,2)                                                             %阵的最小特征值的归仪化向量; 
scatter(x,y,2.5);hold on                                                     %描述原始数据; 
yyy(1,1)= -b0/pc(2,2);xx(1,1)=0; 
xx(1,2)=x(m);yyy(1,2)=yyy(1,1)+(-pc(1,2)/pc(2,2))*xx(1,2); 
plot(xx,yyy)                                                                 %绘出拟合直线;