绘制误差椭圆的方法

绘制误差椭圆的方法

首先计算各点误差椭圆三参数,然后绘制误差椭圆。
(本文以十个点为例,即已知10个点,每个点都有10个误差测量点)

计算代码:
for U=2:10:92
str1=[‘B’,num2str(U),’:’,‘B’,num2str(U+9)];
str2=[‘C’,num2str(U),’:’,‘C’,num2str(U+9)];
x=xlsread(‘data1.xlsx’,str1);
y=xlsread(‘data1.xlsx’,str2);
xx=0.0;
yy=0.0;
for i=1:10
xx=xx+x(i);
yy=yy+y(i);
end
x0=xx/10.0;%x坐标均值
y0=yy/10.0;%y坐标均值
xx1=0.0;
yy1=0.0;
xy1=0.0;
for i=1:10
xx1=xx1+(x(i)-x0)^2;
yy1=yy1+(y(i)-y0)^2;
end
Cx2=xx1/10.0;%x坐标方差
Cy2=yy1/10.0;%y坐标方差
Cxy0=cov(x,y);
Cxy=Cxy0(1,2);%x、y协方差
%E:长半轴、F:短半轴、ct:长半轴E方位角
E=sqrt(Cx2+Cy2+((Cx2-Cy2)^2+4CxyCxy))/2;
F=sqrt(Cx2+Cy2-((Cx2-Cy2)^2+4CxyCxy))/2;
ct=(atan((2Cxy))/(Cx2-Cy2))/2;
%画误差椭圆
figure;
plot(x,y,'b’);
hold on
aerf=0:0.01:2
pi;
plot(x0+E
cos(ct)cos(aerf)-Fsin(ct)sin(aerf),y0+Esin(ct)cos(aerf)+Fcos(ct)sin(aerf));
E2=2
E;
F2=2F;
plot(x0+E2
cos(ct)cos(aerf)-F2sin(ct)sin(aerf),y0+E2sin(ct)cos(aerf)+F2cos(ct)sin(aerf));
E3=3
E;
F3=3F;
plot(x0+E3
cos(ct)cos(aerf)-F3sin(ct)sin(aerf),y0+E3sin(ct)cos(aerf)+F3cos(ct)*sin(aerf));
hold off
end

第一个点的误差椭圆示例:
绘制误差椭圆的方法