|
уравнение окружности (х-х0)^2+(y-y0)^2=R^2 раскрутием скобок имеем
x^2+y^2-2*x*x0-2*y*y0+x0^2+y0^2=R^2
пусть -2*x*x0=a, -2*y*y0=b, x0^2+y0^2-R^2=с
тогда x^2+y^2+a*x+b*y+c=0;
если имеем отклонение то уравнение перепишется в виде x^2+y^2+a*x+b*y+c=сигма
где сигма - ошибка.
мы будем минимизировать квадрат ошибки - возведём левую правую часть в квадрат.
(x^2+y^2+a*x+b*y+c)^2=(сигма)^2
сумма квадратов отклонения будет минимально - если частные производные нуль.
частная производная по a
2*(сумма от 0 до N)(x^2+y^2+a*x+b*y+c)*x(итое)=0
частная производная по b
2*(сумма от 0 до N)(x^2+y^2+a*x+b*y+c)*y(итое)=0
частная производная по c
2*(сумма от 0 до N)(x^2+y^2+a*x+b*y+c)=0
итого имеем систему из 3-х уравнений. (двойки есс-но сокращаем)
запишем матрицей (ну в конфе неудобно попробую примерно)
сумма(x^2) сумма(x*y) сумма(x) -сумма(x^3)-сумма(x*y^2)
сумма(x*y) сумма(y^2) сумма(y) -сумма(x^2*y)-сумма(y^3)
сумма(x) сумма(y) N -сумма(x^2)-сумма(y^2)
считаю программой своей (прямой обратный метод гаусса), считаю матрицу экселем и решаю сторонним софтом. результат одинаковый. :( И неправильный.
E-mail: info@telesys.ru