MATLAB中向量的绝对值

Blu*_*ue7 2 matlab vector absolute modulus

如果我有一个向量: A=[1,1,1] 我知道它有长度,SQRT((1 ^ 2)+(1 ^ 2)+(1 ^ 2))= SQRT(3)=约1.73

但是我如何在MATLAB中做到这一点?

我试过了:

abs(A) 
Run Code Online (Sandbox Code Playgroud)

但这只返回数组中每个元素的绝对值.所以它只返回相同的数组,如下所示:

B=abs(A) 

B=[1,1,1] 
Run Code Online (Sandbox Code Playgroud)

如何让MATLAB给出整个向量的绝对值,所以我得到一个标量输出?

我宁愿用单个函数来做,而不是单独操作向量中的每个元素,因为我的代码变得非常混乱.

谢谢!

Lui*_*ndo 6

最简单的方法是使用norm:

norm(A)
Run Code Online (Sandbox Code Playgroud)

您也可以手动执行:将每个向量元素提升到2的幂,将所有结果求和以获得单个数字,并计算其平方根:

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


mat*_*975 5

使用该norm功能

B = norm(A,2);
Run Code Online (Sandbox Code Playgroud)

第二个参数表示您要使用欧几里德范数