计算矩阵中每行的范数

Jac*_*111 3 math matlab matrix norm

我有一个Nx3矩阵(A),列分别是X,Y,Z.我想计算每行的sqrt(X ^ 2 + Y ^ 2 + Z ^ 2)的范数.我做了一个for循环:

for i = 1:length(A)
Result(i) = norm(A(i,:))
end
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Dan*_*Dan 9

你可以这样做:

sqrt(sum(A.^2, 2))
Run Code Online (Sandbox Code Playgroud)

您的方法返回1x3,返回3x1.因此,如果你想要你可以转置它,但我怀疑你真的需要.