《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 88024|回复: 688
收起左侧

[数运] 离散数据点拟合圆方程Matlab代码

  [复制链接]
发表于 2009-2-20 18:51:09 | 显示全部楼层 |阅读模式
circl.jpg

给出一组共面的数据点,拟合圆方程返回圆心坐标c和半径r

与圆拟合相关的其他你可能关心的内容:
【椭圆(圆)拟合MATLAB源程序】http://www.matlabsky.com/thread-292-1-3.html
【过已知三点做圆MATLAB源代码】http://www.matlabsky.com/thread-290-1-3.html
【Matlab中圆台绘制的实现】http://www.matlabsky.com/thread-273-1-3.html
【通过空间两点绘制任意圆柱】http://www.matlabsky.com/thread-269-1-4.html

附件中包含了三个拟合源程序,以下是它们的介绍,具体使用说明查看源代码:

1# Taubin method http://www.mathworks.com/matlabcentral/fileexchange/22678该程序属于强健和精确圆拟合,即使数据点只是很小圆弧范围内,也能拟合令人满意的结果。
该算法由G. Taubin于1991年在"Estimation Of Planar Curves, Surfaces And Nonplanar Space Curves Defined By Implicit Equations, With Applications To Edge And Range Image Segmentation"中提出。
它比kasa算法更稳定,比pratts算法更快

2# Pratt method http://www.mathworks.com/matlabcentral/fileexchange/22643该程序属于强健和精确圆拟合,即使数据点只是很小圆弧范围内,也能拟合令人满意的结果。
该算法由 V. Pratt于1987年在"Direct least-squares fitting of algebraic surfaces"中提出。
它比kasa算法更加稳定

3# Kasa method http://www.mathworks.com/matlabcentral/fileexchange/22642拟合圆速度最快的算法,该算法由I. Kasa于1976年在"A curve fitting procedure and its error analysis"中提出。在2楼中提供的代码其实是基于该算法的一个程序
它在稳定性不如Pratt和Taubin算法

circle_fit.rar (3.51 KB, 下载次数: 552)
发表于 2017-1-4 11:49:03 | 显示全部楼层
顶  顶  顶  顶  顶  顶  顶  顶  顶  顶  顶  顶  顶  顶  顶  
回复 支持 反对

使用道具 举报

发表于 2017-9-29 15:22:09 | 显示全部楼层

强大,有一些离散二维数据点,想要用半径约束的最小二乘法拟合圆
回复 支持 反对

使用道具 举报

发表于 2017-6-27 10:26:10 | 显示全部楼层
强大,有一些离散二维数据点,想要用半径约束的最小二乘法拟合圆
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-20 19:15:06 | 显示全部楼层
circ.jpg

该圆方程拟合算法基于Kasa算法,是1楼中第三种算法的另一个程序而已

http://www.mathworks.com/matlabcentral/fileexchange/5557

Given a set of measured x,y pairs that a re supposed to reside on a circle, but with some added noise. A circle to these points, i.e. find xc,yc,R, such that (x-xc)^2+(y-yc)^2=R^2  

The method minimizes the sum of squared radial deviations.

circle_fit.zip

1.58 KB, 下载次数: 738, 下载积分: 贝壳 -1

发表于 2009-3-8 19:32:48 | 显示全部楼层
发表于 2009-3-8 19:34:12 | 显示全部楼层
谢谢了,先下载了呀,是个不错的帖子
发表于 2009-4-1 22:07:27 | 显示全部楼层
虽然不是很明白 还是要自习研读一下
发表于 2009-4-2 04:09:29 | 显示全部楼层
这个很好...应该是网上最详细的了
发表于 2009-4-2 17:18:04 | 显示全部楼层
支持,谢谢楼主,thank you //////////////
发表于 2009-4-9 11:52:46 | 显示全部楼层
楼主辛苦了,有文档,很好,应该是网上最详细的了
发表于 2009-4-13 10:16:19 | 显示全部楼层
你发了很多不错的资料,谢谢了,也很想向你请教,能说下QQ吗
发表于 2009-4-18 13:13:18 | 显示全部楼层
xuexixuexi ,kankan xian
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2020-2-19 11:12 , Processed in 0.063110 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表