求空间多点拟合球的matlab程序,并给出该球的坐标方程,球心坐标未知,不一定为原点。点坐标为excel文件 10

 我来答
南瓜猪的的的
2013-12-05 · TA获得超过1297个赞
知道小有建树答主
回答量:1598
采纳率:0%
帮助的人:392万
展开全部

最小二乘

Ax=b

AT Ax=AT b

x=(AT A)^-1(AT b)

function [a,b,c,r]=fitcircle(x,y,z)
%(x+a)^2+(y+b)^2+(z+c)^2=r^2
x=x(:);
y=y(:);
z=z(:);
csize=min([length(x),length(y),length(z)]);
if csize<4
    a=0;
    b=0;
    c=0;
    r=-1;
    return
end
pow_xyz=-x(1:csize).*x(1:csize);
pow_xyz=pow_xyz-y(1:csize).*y(1:csize);
pow_xyz=pow_xyz-z(1:csize).*z(1:csize);
A=[x(1:csize),y(1:csize),z(1:csize),ones(csize,1)];
xans=((A'*A)^-1)*(A'*pow_xyz);
a=xans(1);
b=xans(2);
c=xans(3);
r=(a*a+b*b+c*c)/4-xans(4);
r=sqrt(r);
a=a/2;
b=b/2;
c=c/2;
end

lhmhz
高粉答主

2013-12-01 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16989

向TA提问 私信TA
展开全部
解题思路:
首先,利用球的坐标方程的一般式,进行拟合,得到球的坐标方程。
其次,利用已知公式计算球心的坐标和球的半径。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式