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 Exchange에서 Random Number Generation에 대해 자세히 알아보기

태그

질문:

2012년 5월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by