ldcf.net
当前位置:首页 >> mAtlAB 多个离散三维点 拟合圆 求圆心坐标及半径 ... >>

mAtlAB 多个离散三维点 拟合圆 求圆心坐标及半径 ...

利用Matlab的非线性拟合函数,求得圆的一般方程系数;再利用公式求出拟合圆的圆心和半径。 附件,为你提供了一个实例。...

输入的离散点在 变量X中 X=[x1 y1 z1; x2 y2 z2; ...........]; 是一个n行,3列的矩阵,1,2,3列分别为x,y,z坐标 p0=mean(X);%以重心为初始圆心 r02=mean(sqrt(sum((X-repmat(p0,[size(X,1) 1])).^2,2)));%以到重心的平均距离为初始半径 f=@(p)...

设该圆心坐标为r(x,y,z),半径为R,则拟合最优函数及其导数满足: 所要做的就是求解偏导数为0的4个非线性方程,可以用matlab的fsolve求解

用最小二乘法可以得出,圆心横坐标就是图上点的横坐标的平均值,圆心纵坐标就是图上的点的 坐标的平均值;(只找了左边的圆 右边的一样,坐标都是像素坐标) clc,clear; data=imread('round.PNG'); data1=double(data(:,1:250)); data2=double(d...

r_min是最小半径 ,r_max是最大半径

给你一个例子,供你参考。 clc,clear A=[384 310;386 306;389 300;392 294;396 287;400 281;404 277;409 272;413 269;417 267;420 265;424 263;430 260;434 257;439 256]; X=A; n=length(X(:,1)); y=ones(n,1); b=[rand(1)*1000 rand(1) rand(1)...

M文件的代码如下: function [newX,newY,v]=FitEllip(X,Y,N) %本函数用最小二乘法拟合椭圆 %输入变量:X、Y为数据点坐标(列向量),N为输出椭圆上的点的数量 %输出变量:newX,newY为拟合的椭圆上的点的坐标(列向量) %输出变量:v为拟合的椭圆...

请下载2002年的一篇文章:《拟合圆的几种方法》 里面有方法介绍和mathematica的实现代码 这篇文章我提交文库了,但似乎还没有通过审核,如需要回头你自己在文库搜搜看,没的话自己找地方去求。 里面的最小二乘法我试了OK,但费了点功夫 看你提问...

function [R,A,B]=circ(x,y,N)%定义函数circ %最小二乘法拟合圆曲线 x1 = 0; x2 = 0; x3 = 0; y1 = 0; y2 = 0; y3 = 0; x1y1 = 0; x1y2 = 0; x2y1 = 0; for i = 1 : N x1 = x1 + x(i); x2 = x2 + x(i)*x(i); x3 = x3 + x(i)*x(i)*x(i); y1 = y1 ...

给你一个例子,《MATLAB的拟合圆》, http://yun.baidu.com/s/1zTEjW

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com