📄 pm.m
字号:
x=[1 10 60 80 100 100];
y=[100 60 120 140 160 180];
z=[50 100 160 200 240 240]; %需要拟合的坐标向量;
m=length(x);a11=0;a12=0;a13=0;a21=0;a22=0;a23=0;a31=0;a32=0;a33=0;
x=x+2;
for i=1:m
a11=a11+x(i)^2;a12=a12+x(i)*y(i);a13=a13+x(i)*z(i);
a21=a12;a22=a22+y(i)^2;a23=a23+y(i)*z(i);
a31=a13;a32=a23;a33=a33+z(i)^2;
end
R(1,1)=a11;R(1,2)=a12;R(1,3)=a13;
R(2,1)=a21;R(2,2)=a22;R(2,3)=a23;
R(3,1)=a31;R(3,2)=a32;R(3,3)=a33;
R=R./m; %拟和数据的自相关矩阵;
e(1,1)=sum(x)/m;e(2,1)=sum(y)/m;e(3,1)=sum(z)/m; %拟和数据的均值矢量;
b11=e(1,1)^2;b12=e(2,1)*e(1,1);b13=e(1,1)*e(3,1);
b21=b12;b22=e(2,1)^2;b23=e(2,1)*e(3,1);
b31=b13;b32=b23;b33=e(3,1)^2;
ee(1,1)=b11;ee(1,2)=b12;ee(1,3)=b13;
ee(2,1)=b21;ee(2,2)=b22;ee(2,3)=b23;
ee(3,1)=b31;ee(3,2)=b32;ee(3,3)=b33;
E=R-ee %求出拟合数据的协方差矩阵;
load hald
[pc,var]=pcacov(E); %利用pcacov()函数求出协方差矩
b0=-e'*pc(:,3) %阵的最小特征值的归仪化向量;
x1=0:200;x2=0:200;
[x1g,x2g]=meshgrid(x1,x2); %生成网格矩阵;
scatter3(x,y,z,50,'r','filled');hold on %描述原始数据;
zzz=(-pc(1,3)/pc(3,3))*x1g-(pc(2,3)/pc(3,3))*x2g-b0/pc(3,3);
surf(x1g,x2g,zzz) %绘出拟合平面;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -