﻿功能:标准椭圆(椭球)函数拟合

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

x:矩阵变量存储的x坐标元素数据 
y:矩阵变量存储的y坐标元素数据,注意维数与x变量对应 
z:矩阵变量存储的z坐标元素数据,注意维数与x变量对应.当此参数不存在时,则对平面椭圆方程进行拟合 

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

说明:

1、本函数主要是针对方程 (x-a0)^2/a1 + (y-b0)^2/b1 + (z-c0)^2/c1 = 1 或者 (x-a0)^2/a1 + (y-b0)^2/b1 = 1 已知数据x、y、z拟合出最佳系数a0,a1,b0,b1,c0,c1

2、当参数只有x、y时,拟合方程 (x-a0)^2/a1 + (y-b0)^2/b1 = 1 ，返回的 a = [ a0 , a1 , b0 , b1 ]

3、当参数为x、y、z时,拟合方程 (x-a0)^2/a1 + (y-b0)^2/b1 + (z-c0)^2/c1 = 1 ，返回的 a = [ a0 , a1 , b0 , b1 , c0 , c1 ]


例子:

//我们以例子 (x-5)^2/16+(y-2)^2/4=1为例子说明

x=1:0.5:9; y = sqrt((1-(x-5)^2/16)*4)+2;//回车产生x、y数据。当然这里的x、y应该由你直接提供，这里为了测试,就以这种方式产生x、y数据

[a,er]=EllipseFit(x,y)//回车得到如下结果a0=4.99999999985720,a1=16.0000000096100,b0=1.99999999636555,b1=4.00000001557093
a =
[ 4.99999999985720    16.0000000096100    1.99999999636555    4.00000001557093 ]
er =
[ 1.6771107275E-18 ]