﻿功能:椭圆函数拟合

格式:
[s,er]=EllipseFit(x,y)

x:矩阵变量存储的x坐标元素数据 
y:矩阵变量存储的y坐标元素数据

s :返回的系数矩阵 
er:返回的均方误差和

说明:
1、本函数主要拟合如下二维非标准椭圆方程
$$
s_1x^2+s_2y^2+2s_3xy+2s_4x+2s_5y+s_6=0
$$
2、本函数返回的第1个系数为1,返回的误差也是在此系数下的度量。
3、如果想将椭圆函数标准化,或者想知道椭圆长短轴,拟合出系数后,可以使用函数{EllipseNorm<矩阵运算/EllipseNorm>}。

例子:
//创建一个半长轴为3,短半轴为2的椭圆方程数据
a = 3;
b = 2;
s = 0:0.001:6.2;
x = a * cos(s)+6;
y = b * sin(s)-8;
[s,er] = EllipseFit(x,y)//回车得到如下结果
s =
[ 1.00000000000000
  2.24999999997748
  5.6501284319E-12
 -5.99999999995465
  17.9999999997852
  170.999999998050 ]
er =
[ 1.6268409340E-18 ]

[w,r,t] = {EllipseNorm<矩阵运算/EllipseNorm>}(s)//让其恢复到标准椭圆可得如下结果,可以发现结果和我们设置一致
w =
[ 2.00000000000483    2.99999999999223 ]
r =
[ 4.5201027456E-12    1.00000000000000
  1.00000000000000   -4.5201027456E-12 ]
t =
[-5.99999999999985
  7.99999999999967 ]