MATLAB对多变量数据进行min-max归一化

2025-10-25 10:13:58

1、首先读入样本数据。

程序如下:

cz_wt=xlsread('样本数据.xlsx');  

正常读入后的结果可在工作区查看矩阵cz_wt是否有了数据,正常结果如下图所示。

MATLAB对多变量数据进行min-max归一化

2、然后计算每列的最大值。

程序代码如下:

mx_czwt=max(cz_wt);  

运行结果如下图。 

MATLAB对多变量数据进行min-max归一化

3、接着计算每列的最小值。

程序代码如下:

mn_czwt=min(cz_wt); 

运行结果如下。

MATLAB对多变量数据进行min-max归一化

4、再张成与old一样大小,主要对行进行复制,列不用变 。

代码:

m=size(cz_wt,1);  

maxnew=repmat(mx_czwt,m,1);  

minnew=repmat(mn_czwt,m,1);

运行结果。

MATLAB对多变量数据进行min-max归一化

5、接下来将归一化的数据赋值给gy_data。

程序:

gy_data=(cz_wt-minnew)./(maxnew-minnew);

运算结果。

MATLAB对多变量数据进行min-max归一化

6、然后将归一化的数据gy_data赋值给归一化的数据表格。

代码为:

xlswrite('归一化处理后数据.xlsx',gy_data); 

运行后,查看归一化的数据表格中是否已经有了归一化的数据。正常情况应看到如下表格。

MATLAB对多变量数据进行min-max归一化

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赋值给归一化的数据表格

%*************************************************************************

MATLAB对多变量数据进行min-max归一化

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢