Mie*_*ter 6 matlab distance vectorization norm euclidean-distance
似乎答案应该很简单,但我很难过.我有一个Nx3矩阵矩阵,其中第1和第3列是第n项的XY和Z坐标.我想计算从原点到物品的距离.在非矢量化形式中,这很容易.
距离= norm([xyz]);
要么
距离= sqrt(x ^ 2 + y ^ 2 + z ^ 2);
但是,在矢量化形式中它并非如此简单.当你传递一个矩阵来规范时,它不再返回欧几里德长度.
距离=范数(矩阵); %不起作用
和
distance = sqrt(x(:,1).*x(:,1)+ y(:,2).*y(:,2)+ z(:,3).*z(:,3)); %只是看起来很乱
有一个更好的方法吗?
b3.*_*b3. 14
试试这个:
>> 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