看起来这个问题的答案应该很简单,但我很困惑。我有一个 Nx3 矩阵,其中第 1、2 和 3 列是第 n 个项目的 X Y 和 Z 坐标。我想计算从原点到该项目的距离。在非矢量化形式中,这很容易。
距离=范数([x y z]);
or
距离 = sqrt(x^2+y^2+z^2);
然而,矢量化形式并不那么简单。当您将矩阵传递给范数时,它不再返回欧几里德长度。
距离=范数(矩阵); %不起作用
and
距离 = sqrt(x(:,1).*x(:,1)+y(:,2).*y(:,2)+z(:,3).*z(:,3)); %只是看起来很乱
有一个更好的方法吗?
尝试这个:
>> xyz = [1 2 3; 4 5 6; 7 8 9; 2 8 4]
xyz =
1 2 3
4 5 6
7 8 9
2 8 4
>> distance = sqrt(sum(xyz.^2, 2))
distance =
3.74165738677394
8.77496438739212
13.9283882771841
9.16515138991168
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)