gpt4 book ai didi

matlab - 如何计算没有循环的矩阵的欧几里德长度?

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:58 25 4
gpt4 key购买 nike

看起来这个问题的答案应该很简单,但我很难过。我有一个 Nx3 矩阵,其中第 1、2 和 3 列是第 n 个项目的 X Y 和 Z 坐标。我想计算从原点到项目的距离。在非矢量化形式中,这很容易。

距离 = 范数([x y z]);

距离 = sqrt(x^2+y^2+z^2);

然而,在矢量化形式中,它并不那么简单。当您将矩阵传递给 norm 时,它不再返回欧几里得长度。

距离=范数(矩阵); %不起作用

distance = 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

关于matlab - 如何计算没有循环的矩阵的欧几里德长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com