欢迎来到天天文库
浏览记录
ID:41695293
大小:48.91 KB
页数:7页
时间:2019-08-30
《最小二乘法拟合圆公式推导及matlab实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、2009-01-17
2、最小二乘法拟合圆公式推导及matlab实现«分享最小二乘法(leastsquaresanalysis)是一种数学优化技术,它通过最小化谋差的平方和找到一组数据的最佳函数匹配。最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方Z和为最小。最小二乘法通常用于曲线拟合(leastsquaresfitting)。这里有拟合圆曲线的公式推导过程和vc实现。最小二乘法拟合圆曲线:R2=O-£)2+°■巧)2R2=x2++尹2・2矽+$2令a=-2Ab=-28可得圆曲线方程的另一个形式:x2+y2+ax+by=0(1)只要求出参数a,b,c就可以求得圆心半径的参数:di(
3、尤,E)样本集(尤e(123...N)中点到圆心的距离为dit可=(禺詡尸+厲冷)2点(乙,乙)到圆辺缘的距离的平方与和半径平方的差为:爲=材-R2=(西.A)2+(迟-5)2-R2=X;+严+旅‘+&£+c令Q(a,brc)为勺的平方和:QMc)=工*=三[(富+茫*込*辿+川2求参數a4c使得Qgg的值最小值。解・JuI■平方差QMc)大于0,因此函数存在大于或等于o的极小值,极大值为无穷大。F(a,b,c?)对疋求偏导,令偏导等于0,得到极值点,比较所有极值点的函数值即可得到最小值。绘@,恥)=匸2(尤2+丫/+込+bYi+c)Yi=0(2)(3)(4)腿W=▽2(町+里+込+码+q)
4、尤=0da一貶丫'。=工2(X,+乙2+込+空+c=O解这个方程组。G)OHwy¥s过一+Aw门€门Jw即)0nxklxNq+気+-N+km—XN4+冬+N/&plN0Nxl>lx©+k+気+k+Kpl—x(J+k+怡+・+K即睡2门*(寸)*右)o「过门—h门N+Fw即+q(rklH[>l—』[>1之)+诂(】门2[>1—M2即)OHdMAxq+気+N-+&H—XGIq+$+m+ckmnOHxk'lAo+xq+怡+N+&M—kJ+xq+気+鼻+电即T蚯hA*(寸)*(E)C=(吧若-'X二X)G=(N工尸-二丫二卩)E=NMX、Y+曲三严-二(X‘+严)三卩可解得:
5、Ca+Db+E=ODa
6、+Gb+H=OHD-EGa=CG-D2vHC-EDQ=_;D--GC工(町+严)+迁:禺+N得A、B、R的估计拟合值:A=—-2B=—-2matlab实现:function[R,A,B]=circ(x,y,N)x1=0;x2=0;x3=0;y1=0;y2=0;y3=o;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);yi=yi+y(0;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)*
7、y(i);x2y1=x2y1+x(i)*x(i)*y(i);endC=N*x2-x1*x1;D=N*x1y1・x1*yi;E=N*x3+N★x1y2・(x2+y2)*x1;G=N*y2・yi*yi;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);%x坐标B=b/(-2);%y坐标R=sqrt(a*a+b*b•欽c)/2;
此文档下载收益归作者所有