TOPSIS——数学建模

一、方法和原理

 D里面的元素可以表示 山东 浙江等等  ai1.....ain 可以表示具体的因素 有n个 称为n个

具体的例子

 D为某个研究院 aij 表示第i个研究院第j个影响元素

二、算法步骤

 

 

 确定变量是属于哪一类 成本型还是效益型 两者的正理想解和负理想解是不一样的 效益型 正理想解是越大越好 负理想解是越小越好 ,然而负理想解是相反的。 

 三、实例

 

我们上来不能直接对数据进行处理 要进行预处理

 区间型 需要进行甄别 确定某一个区间

预处理的方法

 

 

 aij有可能不为0,所以道理相同

 标准的0-1变化 0,1都存在 在这个区间

区间变化符合这个公式 然后推上这个公式 

clc,clear
a=[0.1 5 5000 4.7
    0.2 6 6000 5.6
    0.4 7 7000 6.7
    0.9 10 10000 2.3
    1.2 2 400 1.8];
[m,n]=size(a);
x2=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb&x<qujian(1))+(x>=qujian(1)&x<=qujian(2))+(1-(x-qujian(2)))./(ub-qujian(2)).*(x>qujian(2)&x<=ub);
qujian=[5,6];lb=2;ub=12;
a(:,2)=x2(qujian,lb,ub,a(:,2));
for j=1;n
    b(:,j)=a(:,j)/norm(a(:,j));
end
w=[0.2 0.3 0.4 0.1];
c=b.*repmat(w,m,1);
cstar=max(c);
cstar(4)=min(c(:,4));
c0=min(c);
c0=max(c(:,4));
for i=1:m
    sstar(i)=norm(c(i,:)-cstar)
    s0(i)=norm(c(i,:)-c0);
end
f=s0./(sstar+s0);
[sf,ind]=sort(f,'descend')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值