Normalization of matrix column

10 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);

Categories

Find more on Mathematics in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!