模糊综合评价模型建立

模糊综合评价模型建立

一、整体流程

二、代码实现(含大量注释)

#程序文件ex14_4.py
import numpy as np

a = np.loadtxt('data14_4.txt')
# 使用定义匿名函数的形式来定义各个评价指标的隶属函数
f1 = lambda x: x/8800
f2 = lambda x: 1-x/8000
f3 = lambda x: (x<=5.5)+(8-x)/(8-5.5)*((x>5.5) & (x<8))
f4 = lambda x: 1-x/200
f5 = lambda x: (x-50)/(1500-50)

R = []
# len(a)返回列表a的长度,range(len(a))生成一个从0到len(a)-1的整数序列,
# i在每次循环迭代中依次取这些值。
for i in range(len(a)):
    # 'f'是函数名的前缀。
    # str(i+1)将循环变量i加1后转换为字符串,因为索引通常从0开始,而这里假设函数名是从f1开始的。
    # '(a['+str(i)+'])'表示函数的参数,即列表a中索引为i的元素。
    s = 'f'+str(i+1)+'(a['+str(i)+'])'; R.append(eval(s))
# np.array() 函数的作用是将输入 R 转换成一个NumPy数组。
R = np.array(R)
w = np.array([0.25, 0.2, 0.2, 0.1, 0.25])
# np.array() 函数的作用是将输入 R 转换成一个NumPy数组。
# (这是Python 3.5及以上版本中引入的矩阵乘法运算符)
B = w @ R   #计算综合评价值
print('评价值:', np.round(B,4))

三、数据及结果分析

3.1数据

4700    6700   5900   8800   7600
5000    5500   5300   6800   6000
4   6.1    5.5    7  6.8
30  50 40 200    160
1500    700    1000   50 100

3.2结果

评价值: [0.7435 0.5919 0.6789 0.36 0.3905]

得到的评价值越高代表评价效果越好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值