利用matlab软件算空间中到其他点的最短距离的那个点

x=[565.454 562.058 561.39 563.782 567.941 571.255 571.938 569.5];
y=[528.012 525.544 521.447 518.108 517.407 519.857 523.953 527.356];
z=[1.792 1.818 1.783 1.769 1.772 1.77 1.794 1.801 ];
求这8个空间中的点的最短距离的空间中的那个点
目标函数为min =sum(sqre(((x-x0)^2)+((y-y0)^2)+((z-z0)^2)));
x0 y0 z0为要求点的假设值
利用matlab做
求软件程序

第1个回答  2013-09-13
这是最小二乘法求解的结果。CC=[x0 y0 z0]
x = x(:); y = y(:); z = z(:);
N = length(x);
Y = [x; y; z];
H = zeros(length(Y), 3);
H(1:N,1) = 1;
H(N+1:2*N, 2) = 1;
H(2*N+1:3*N, 3) = 1;
CC = H\Y
其实跟圆拟合或者求几何中心结果基本一样:
CC =
566.6647
522.7105
1.7874追问

??? Undefined function or variable 'x0'.
matlab中不能识别你的x0和你的x,你没有定义它
能不能改善?

追答

CC=[x0 y0 z0] 这句话不是代码 是我解释CC的含义
x y z是你给出的 就是题目里的那三个