资 源 简 介
椭圆 圆拟合_Matlab
给定一个二次形式的椭圆方程
a*x^2 + 2*b*x*y + c*y^2 + 2*d*x + 2*f*y + g = 0 (1)
我们需要使用最小二乘法找到最优参数 a,b,c,d,f,g.
首先我们将方程(1)左右同时除以a,再将x^2项移到右边,得到如下式子:
2*b"*x*y + c"*y^2 + 2*d"*x + 2*f"*y + g" = -x^2 (2)
我们将(2)式使用矩阵表达为:
M * p = b, 其中 M = [2*x*y y^2 2*x 2*y ones(size(x))], p = [b c d e f g], b = -x^2.
我们使用右除“”得到向量p
p = pseudoinverse(M) * b=M