why do we need to normalize data in matlab? what is the purpose?

 Réponse acceptée

Jan
Jan le 9 Juil 2017
Modifié(e) : Jan le 9 Juil 2017
Normalization of an array is applied, if data in a specific range is required.
If you e.g. want to create a gray scale image with the maximum range, shifting and scaling the data to the range [0.0, 1.0] is used. Sounds can be normalized to [-1.0, 1.0], to give the full range. If you normlize the X values to be centered around 0 and have a standard deviation of 1.0, the resulting linear equations for a polinomial fit (see polyfit) are stable (the matrix is not ill-conditioned).
You see, a short but meaningful answer depends on the topic you are working in. The more specific the question, the crispier is the answer.

5 commentaires

That is a nice answer but a bit too technical for the purpose I need. I was looking more for a definition and why it is used.
yes sorry, you guys are right it depends on the needs. Thanks very much for all your comments
Exactly. Use the supreme court rule for normalization: You will know when you need it.
Well, you may know something is wrong, but you may not know normalization is the cure. Case in point: this recent question
Yes, but they SHOULD have known in that case. :) Good point though.

Connectez-vous pour commenter.

Plus de réponses (1)

John D'Errico
John D'Errico le 9 Juil 2017
Modifié(e) : John D'Errico le 9 Juil 2017
Not that this will help...
Normalization is simply a linear transformation of your problem, usually made necessary because of the limits imposed due to floating point arithmetic. There are an uncountable number of places where it may be necessary.
You normalize data because the scaling of the data is a numerical problem. This is often may be simply an issue of poorly chosen units. For example, maybe you used femto-meters, instead of kilometers on one or more variables.
So normalize the data to avoid the numerical problems. On some problems, normalization is no problem at all, such as computing a correlation, which is scale invariant. Or scale may not matter to you, but double precision computations may fail due to scaling issues.
At the end, it may be necessary to re-transform the problem, post-solution to undo the normalizations.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by