📄 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) %绘出拟合直线;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -