MATLAB对多变量数据进行min-max归一化
1、首先读入样本数据。
程序如下:
cz_wt=xlsread('样本数据.xlsx');
正常读入后的结果可在工作区查看矩阵cz_wt是否有了数据,正常结果如下图所示。

2、然后计算每列的最大值。
程序代码如下:
mx_czwt=max(cz_wt);
运行结果如下图。

3、接着计算每列的最小值。
程序代码如下:
mn_czwt=min(cz_wt);
运行结果如下。

4、再张成与old一样大小,主要对行进行复制,列不用变 。
代码:
m=size(cz_wt,1);
maxnew=repmat(mx_czwt,m,1);
minnew=repmat(mn_czwt,m,1);
运行结果。

5、接下来将归一化的数据赋值给gy_data。
程序:
gy_data=(cz_wt-minnew)./(maxnew-minnew);
运算结果。

6、然后将归一化的数据gy_data赋值给归一化的数据表格。
代码为:
xlswrite('归一化处理后数据.xlsx',gy_data);
运行后,查看归一化的数据表格中是否已经有了归一化的数据。正常情况应看到如下表格。

7、完整程序及截图如下:
%*********数据归一化,采用min-max法对数据进行最大最小归一化。*******
cz_wt=xlsread('样本数据.xlsx'); %读入样本数据
mx_czwt=max(cz_wt); %计算每列的最大值
mn_czwt=min(cz_wt); %计算每列的最小值
%张成与old一样大小,主要对行进行复制,列不用变
m=size(cz_wt,1);
maxnew=repmat(mx_czwt,m,1);
minnew=repmat(mn_czwt,m,1);
gy_data=(cz_wt-minnew)./(maxnew-minnew); % 将归一化的数据赋值给gy_data
xlswrite('归一化处理后数据.xlsx',gy_data); % 将归一化的数据gy_data赋值给归一化的数据表格
%*************************************************************************
