This question already has answers here:
applying norm function to rows of matrix - Matlab [duplicate]

(3 个回答)


7年前关闭。




我有一个 Nx3 矩阵(A),列分别是 X、Y、Z。我想计算每行的 sqrt(X^2+Y^2+Z^2) 范数。我为此做了一个 for 循环:
for i = 1:length(A)
Result(i) = norm(A(i,:))
end

有没有其他方法可以避免for循环?

谢谢

最佳答案

你可以这样做:

sqrt(sum(A.^2, 2))

您的方法返回 1x3,其中返回 3x1。所以如果你愿意,你可以转置它,但我怀疑你真的需要。

关于matlab - 计算矩阵中每一行的范数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18330033/

10-10 18:52