MATLAB: How to normalize matrix by specific columns matlab

by columnsmatrixnormalizationspecific columns

Hi everyone,
I have matrix 366×35. I would like to normalize values by specific columns, it means that only columns 1-33 should be normalized and others (34-35) should keep previous values. How I can do that?

Best Answer

One kind of normalization:
YourMatrix(:,1:33) = YourMatrix(:,1:33)./sum(YourMatrix(:,1:33));
Another kind:
YourMatrix(:,1:33) = mat2gray(YourMatrix(:,1:33)); %normalizes between min and max of the entire set of columns
Another kind:
min33 = min(YourMatrix(:,1:33));
max33 = max(YourMatrix(:,1:33));
range33 = max33 - min33;
YourMatrix(:,1:33) = (YourMatrix(:,1:33) - min33)./range33; %normalizes each column to 0 to 1 independently