?? 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 + -