最小二乘法拟合圆公式推导及matlab实现

最小二乘法拟合圆公式推导及matlab实现

ID:47324801

大小:161.50 KB

页数:5页

时间:2020-01-10

最小二乘法拟合圆公式推导及matlab实现_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《最小二乘法拟合圆公式推导及matlab实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2009-01-17 

2、 最小二乘法拟合圆公式推导及matlab实现最小二乘法(leastsquaresanalysis)是一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配。最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。最小二乘法通常用于曲线拟合(leastsquaresfitting)。这里有拟合圆曲线的公式推导过程和vc实现。matlab实现:function[R,A,B]=irc(x,y,N)%x,y是平面点的坐标,N是点个数%R是拟合半径,A,B是圆心的平面坐标x1=0;x2=0;x

3、3=0;y1=0;y2=0;y3=0;x1y1=0;x1y2=0;x2y1=0;fori=1:Nx1=x1+x(i);x2=x2+x(i)*x(i);x3=x3+x(i)*x(i)*x(i);y1=y1+y(i);y2=y2+y(i)*y(i);y3=y3+y(i)*y(i)*y(i);x1y1=x1y1+x(i)*y(i);x1y2=x1y2+x(i)*y(i)*y(i);x2y1=x2y1+x(i)*x(i)*y(i);endC=N*x2-x1*x1;D=N*x1y1-x1*y1;E=N*x3+N*x1y2-(x2+y2)*x1;G=

4、N*y2-y1*y1;H=N*x2y1+N*y3-(x2+y2)*y1;a=(H*D-E*G)/(C*G-D*D);b=(H*C-E*D)/(D*D-G*C);c=-(a*x1+b*y1+x2+y2)/N;A=a/(-2);B=b/(-2);R=sqrt(a*a+b*b-4*c)/2;VCvoidCViewActionImageTool::LeastSquaresFitting(){if(m_nNum<3){return;}inti=0;doubleX1=0;doubleY1=0;doubleX2=0;doubleY2=0;doubleX

5、3=0;doubleY3=0;doubleX1Y1=0;doubleX1Y2=0;doubleX2Y1=0;for(i=0;i

6、ts[i].y;X1Y1=X1Y1+m_points[i].x*m_points[i].y;X1Y2=X1Y2+m_points[i].x*m_points[i].y*m_points[i].y;X2Y1=X2Y1+m_points[i].x*m_points[i].x*m_points[i].y;}doubleC,D,E,G,H,N;doublea,b,c;N=m_nNum;C=N*X2-X1*X1;D=N*X1Y1-X1*Y1;E=N*X3+N*X1Y2-(X2+Y2)*X1;G=N*Y2-Y1*Y1;H=N*X2Y1+N*Y3-(X

7、2+Y2)*Y1;a=(H*D-E*G)/(C*G-D*D);b=(H*C-E*D)/(D*D-G*C);c=-(a*X1+b*Y1+X2+Y2)/N;doubleA,B,R;A=a/(-2);B=b/(-2);R=sqrt(a*a+b*b-4*c)/2;m_fCenterX=A;m_fCenterY=B;m_fRadius=R;return;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。