矩阵标准化处理(内附MATLAB代码)

矩阵指标标准化处理

文章目录

矩阵指标标准化处理

1.原理

2.代码实现

2.1正向指标标准化

2.2负向指标标准化

3.运行结果

 3.1 工作区变量

3.2 矩阵R标准化结果

4.总结


1.原理

 

2.代码实现

2.1正向指标标准化

R=[790 3977 849 1294 1927 1105 204 1329
    768 5037 1135 1330 1925 1459 275 1487
    942 2793 820 814 1617 942 155 976
    916 2798 901 932 1599 910 182 1135
    1006 2864 1052 1005 1618 839 196 1081];

[rows,cols]=size(R);   % 输入矩阵的大小,rows为行数(对象个数),cols为列数(指标个数)

Rmin = min(R);         %矩阵中最小行
Rmax = max(R);         %矩阵中最大行
A = max(R) - min(R);   %分母 矩阵中最大行减最小行

y = R - repmat(Rmin,rows,1);      %分子 R矩阵每一行减去最小行
for j = 1 : cols                  %该循环用于标准化处理 分子/分母
     y(:,j) = y(:,j)/A(j);
end
S = sum(y,1);                     %列之和(用于列归一化)        
for i = 1 : cols                  %该循环用于列的归一化
    Y(:,i) = y(:,i)/S(i); 
end
Y                                 %打印R矩阵正向指标标准化处理结果

2.2负向指标标准化

R=[790 3977 849 1294 1927 1105 204 1329
    768 5037 1135 1330 1925 1459 275 1487
    942 2793 820 814 1617 942 155 976
    916 2798 901 932 1599 910 182 1135
    1006 2864 1052 1005 1618 839 196 1081];
[rows,cols]=size(R);   % 输入矩阵的大小,rows为行数(对象个数),cols为列数(指标个数)

Rmin = min(R);         %矩阵中最小行
Rmax = max(R);         %矩阵中最大行
A = max(R) - min(R);   %分母 矩阵中最大行减最小行

y1 = repmat(Rmax,rows,1) - R;     %分子 最大行减去R矩阵每一行

for j = 1 : cols                  %该循环用于负向指标标准化处理 分子/分母
     y1(:,j) = y1(:,j)/A(j);
end
S = sum(y1,1);                    %列之和(用于列归一化)
for i = 1 : cols                  %该循环用于列的归一化
    Y1(:,i) = y1(:,i)/S(i); 
end
Y1;                               %打印矩阵负向指标标准化处理结果

3.运行结果

 3.1 工作区变量

3.2 矩阵R标准化结果

4.总结

文章实现了矩阵正向指标(负向指标)标准化处理,内附MATLAB代码。

  • 2
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Karry D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值