Normalization of matrix column

39 views (last 30 days)
Danish Nasir
Danish Nasir on 31 Jul 2021
Answered: Matt J on 31 Jul 2021
I have a matrix say 3x4. I want to normalize each column. Each column has its maximum and minimum value.
i want to use normalization formula in each column as = (value- minimum value of that column)/(maximum value of that column-minimum value of that column).
Hence each column is to be normalized with respect to the minimum and maximum value of that column.
A= [ 1 2 3 4
3 4 5 6
4 5 6 7 ]
In above example column 1 has max value 4 and min value 1. so normalize value of first cell(1,1)=1-1/(4-1). Similarly column 2 has 2 as min and 5 as max value. Also all the final values of the modified matrix should be non negative (-ve value to be made +ve).
Pls provide the code.

Answers (2)

Matt J
Matt J on 31 Jul 2021
In recent Matlab,
A= [ 1 2 3 4
3 4 5 6
4 5 6 7 ];
A=normalize(A,1,'range')
A = 3×4
0 0 0 0 0.6667 0.6667 0.6667 0.6667 1.0000 1.0000 1.0000 1.0000

Matt J
Matt J on 31 Jul 2021
a=min(A,[],1); b=max(A,[],1);
A=(A-a)./(b-a);

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!