:򷽳/Բ

ʽ:
[w,er]=SphereFit(x,y,z)
[w,er]=SphereFit(x,y)

x:洢xԪ
y:洢yԪ,עάxӦ
z:洢zԪ,עάxӦ.˲ʱ,ƽԲ̽

w:صϵ
er:صľ

˵:
1,ϷΪ 
$$
(x-a)^2+(y-b)^2+(z-c)^2=R^2 
$$
ϵϵabcR^2ӳw,
w = [ a , b , c , R^2 ]
erӳǵʽ߲ľ, 
$$
Er = \sum[(x-a)^2+(y-b)^2+(z-c)^2-R^2]
$$

2ƽϵԲ,ϷΪ
$$(x-a)^2+(y-b)^2=R^2
$$ϵϵabR^2ӳw,
w = [ a , b , R^2 ]
erӳǵʽ߲ľ,
$$
Er = [(x-a)^2+(y-b)^2-R^2]
$$
ԭ:
1,ϷΪ
$$(x-a)^2+(y-b)^2+(z-c)^2=R^2$$Է̽չȻοɵõ
$$
x^2+y^2+z^2 = 2xa + 2yb + 2zc + R^2-a^2-b^2-c^2
$$
2ΪxyzΪ֪,ô
//űʾһƾ
$$
\begin{aligned}
B &=\begin{bmatrix}x^2+y^2+z^2\end{bmatrix}
\\
A &=\begin{bmatrix}2x &2y&2c&1\end{bmatrix}
\\
X &=\begin{bmatrix}a&b&c&R^2-a^2-b^2-c^2\end{bmatrix}
\end{aligned}
$$
31㷽̱ A*X=B ,һԷ,򱾳ԷС˽⼴

:

//Է (x-1)^2+(y-2)^2+(z-3)^2=1 Ϊ

x=[0,1,1,1,1,2];y=[2,2,2,1,3,2];z=[3,2,4,3,3,3];[w,er]=SphereFit(x,y,z)//سõµĽ,ԤĽȫһ
w =
[ 1.00000000000000    2.00000000000001    3.00000000000002    1.00000000000000 ]
er =
[ 3.2311742677E-27 ]