circle.m

来自「椭圆拟合的相关介绍与数学运算方法」· M 代码 · 共 26 行

M
26 行
字号
function [z, r] = circle (X, z, r);%CIRCLE         Geometric circle fit%% [z,r] = circle (X, z, r)% fits the best circle by nonlinear least squares% for true geometric distance.%% X: given points <X(i,1), X(i,2)>% z, r: starting values for ellipse solution%% z, r: parameters for ellipse found  u = [z(1), z(2) , r]'    % Starting values  h = u;  while norm(h)>norm(u)*1e-6,    a = u(1)-X(:,1); b = u(2)-X(:,2);    fak = sqrt(a.*a + b.*b);    J = [a./fak b./fak -ones(size(a))];      f = fak -u(3);    h = -J\f;    u = u + h;  end;  z = u(1:2); r = u(3);end % circle

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?