Normalize to unit norm

I have a variable containing a probability distribution (just an one-dimensional array of values). How can I normalize a to unit norm?

 採用された回答

Wayne King
Wayne King 2012 年 5 月 27 日

1 投票

If you want to normalize a vector to have unit L2 norm.
x = randn(100,1);
x = x./norm(x,2);
norm(x,2)

12 件のコメント

Nuchto
Nuchto 2012 年 5 月 27 日
Thanks, Wayne, for your quick reply :) However, I don't understand. My values in x should add up to 1, but I can't find the new array of elements in x with the new values that would add up to 1.
Oleg Komarov
Oleg Komarov 2012 年 5 月 27 日
They're in ans.
Nuchto
Nuchto 2012 年 5 月 27 日
ANS is just a value (1), is not an array of values that add up to zero.
Oleg Komarov
Oleg Komarov 2012 年 5 月 27 日
My mistake, ans proves that the x values are normalized to a unit L2 norm.
Nuchto
Nuchto 2012 年 5 月 27 日
when I sum(x) after the second line, the sum doesn't add up to 1.
Nuchto
Nuchto 2012 年 5 月 30 日
Help!!!
Oleg Komarov
Oleg Komarov 2012 年 5 月 30 日
x./sum(x)
Now, this is not a unit norm normalization (as I understand it, thus nobody answered earlier).
Nuchto
Nuchto 2012 年 6 月 1 日
What is a unit norm normalization as you understand it?
Kye Taylor
Kye Taylor 2012 年 6 月 1 日
"Unit norm" itself is not well-defined without specifying the norm itself.
@Nuchto, it sounds like you are looking for the l1 norm, while the initial answer provided by @Wayne is using the l2 norm...
As @Oleg suggested, you can normalize by the sum to obtain the same as the following
normX = x/norm(x,1)
Be careful if simply normalizing by the sum because it doesn't account for negative values in the original vector. However, since you are working with a probability distribution, that isn't an issue.
Oleg Komarov
Oleg Komarov 2012 年 6 月 1 日
"same as the following
normX = x/norm(x,1)"
IF all x >0.
Nuchto
Nuchto 2012 年 6 月 2 日
Thanks, it works now. What is in lay terms :) the difference between l1 and l2 norm?
Oleg Komarov
Oleg Komarov 2012 年 6 月 2 日
http://en.wikipedia.org/wiki/Norm_%28mathematics%29, Euclidean vs taxicab

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeRandom Number Generation についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by