【发布时间】:2014-01-06 22:10:50
【问题描述】:
对于给定的向量,比如v=[1 2 2],我需要进行归一化,结果矩阵中所有值的总和必须为 1。然后我使用 matlab 代码作为w=v/norm(v,1)。现在结果w=[0.2000 0.4000 0.4000] 即sum=0.2+0.4+0.4=1 并且满足条件。但是当使用负值时,结果是错误的。即如果v=[1 -2 2] 和w=v/norm(v,1)。现在结果是w=[0.2000 -0.4000 0.4000] 和sum = 0.2+(-0.4)+0.4 != 1。这个和不等于一。然后我使用w=abs(v)/norm(v,1)。这是正确的吗?
【问题讨论】:
-
我相信这是正确的。请注意,当您取绝对值时,您正在“丢弃”有关单位向量方向的信息。
-
您对规范化的具体要求是什么?不能只是求和为 1,因为 [1 -2 2] 已经求和为 1...
-
取决于你的目的到底是什么。也许@Dan 的回答可以帮助您,如果没有,请详细说明您的要求。
标签: matlab