数学建模-Topsis综合评价(评价模型)

Topsis算法是一种多准则决策分析方法,通过计算方案与正负理想解的距离来评估优劣。步骤包括构造决策矩阵、规范化处理、确定权重、计算正负理想解和方案相对贴近度。代码示例展示了如何应用该算法,通过归一化和距离计算确定方案的相对优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Topsis算法核心思想是逼近理想解的排序方法。正理想解,各指标都达到各候选方案的最好值,负理想解,各指标都达到各候选方案的最差值。基于有限个评价对象与理想化目标的接近程度进行排序,在现有的对象中进行相对优劣的评价。

 

 

算法步骤:

1.构造决策矩阵vij,i为各方案,j为各指标

2.对决策矩阵进行规范化处理

3.构建权重wj,可通过熵权法、FAHP、相关性等方法确定权重

4.计算加权决策矩阵

图片

 5.计算正负理想解

图片

图片

6.计算各方案与正负理想解间的距离

图片

图片

7.计算各方案与正理想解的相对贴近度

图片

(*算法步骤参考了NHASMJ公众号*) 

Topsis算法基本思想:基于归一化后的原始数据矩阵,找出有限方案中的最优方案和最劣方案(分别用最优向量和最劣向量表示),然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。

 代码实现:

x=[
21584   76.7    7.3  1.01    78.3    97.5
24372   86.3    7.4  0.80    91.1    98.0
22041   81.8    7.3  0.62    91.1    97.3
21115   84.5    6.9  0.60    90.2    97.7
24633   90.3    6.9  0.25    95.5    97.9];
%矩阵
[n,m]=size(x);
%将3,4的低优指标去倒数转化为高优指标并且把所有指标换成接近的大小
x(:,1)=x(:,1)/100;
x(:,3)=(1./x(:,3))*100;
x(:,4)=(1./x(:,4))*100;
zh=zeros(1,m);
d1=zeros(1,n); %最小值矩阵
d2=zeros(1,n); %最大值矩阵
c=zeros(1,n);  %接近程度
%归一化
for i=1:m
    for j=1:n
        zh(i)=zh(i)+x(j,i)^2;
    end
end
for i=1:m
    for j=1:n
       x(j,i)=x(j,i)/sqrt( zh(i));
    end
end
%计算距离
xx=min(x);
dd=max(x);
for i=1:n
    for j=1:m
        d1(i)=d1(i)+(x(i,j)-xx(j))^2;
    end
    d1(i)=sqrt(d1(i));
end
for i=1:n
    for j=1:m
        d2(i)=d2(i)+(x(i,j)-dd(j))^2;
    end
    d2(i)=sqrt(d2(i));
end
%计算接近程度
for i=1:n
    c(i)=d1(i)/(d2(i)+d1(i));
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

会思想的苇草i

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

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

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

打赏作者

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

抵扣说明:

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

余额充值