繁体   English   中英

在Matlab中对3D向量的子向量使用范数函数

[英]Using norm function in matlab on a subvector of a 3D vector

我有一个称为x的向量,它是3D向量。 在我的代码中,我需要计算x(1,1,:)(由x(1,1,1),x(1,1,2),...组成的向量)的范数。 如果我尝试使用norm(x(1,i,:))命令,Matlab会向我返回错误“输入必须为二维”。 我能做什么?

MATLAB的norm是一个“特殊”函数,它不像summean许多其他函数那样工作。

但是, vecnorm行为确实类似于这些功能。 它沿第一个非单维度计算范数,或者您可以指定沿哪个维度计算范数:

vecnorm(x(1,1,:))
vecnorm(x,2,3) % computes 2-norm for all vectors along 3rd dimension.

请注意,此功能已在R2017b中引入。 对于较旧的版本,您可以使用sqrt(sum(x.^2,3))模仿行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM