python多层次模糊综合评价代码
时间: 2023-07-22 13:09:43 浏览: 176
多层次模糊综合评价是一种常用的决策分析方法,可以对多个指标进行加权综合评价。下面是一个使用Python实现多层次模糊综合评价的示例代码:
```python
import numpy as np
# 第一层指标权重
w1 = np.array([0.4, 0.3, 0.3])
# 第二层指标权重
w2 = np.array([[0.2, 0.3, 0.5],
[0.4, 0.3, 0.3],
[0.3, 0.4, 0.3]])
# 第三层指标权重
w3 = np.array([[[0.1, 0.2, 0.7],
[0.3, 0.3, 0.4],
[0.4, 0.3, 0.3]],
[[0.2, 0.1, 0.7],
[0.3, 0.4, 0.3],
[0.5, 0.2, 0.3]],
[[0.3, 0.2, 0.5],
[0.6, 0.2, 0.2],
[0.4, 0.3, 0.3]]])
# 第一层指标数据
x1 = np.array([0.7, 0.8, 0.6])
# 第二层指标数据
x2 = np.array([[0.6, 0.8, 0.7],
[0.7, 0.6, 0.5],
[0.5, 0.7, 0.6]])
# 第三层指标数据
x3 = np.array([[[0.5, 0.7, 0.8],
[0.6, 0.5, 0.4],
[0.7, 0.6, 0.5]],
[[0.7, 0.6, 0.5],
[0.5, 0.7, 0.6],
[0.4, 0.5, 0.7]],
[[0.6, 0.5, 0.7],
[0.7, 0.4, 0.5],
[0.5, 0.6, 0.7]]])
# 第一层模糊加权平均
y1 = np.dot(w1, x1)
# 第二层模糊加权平均
y2 = np.zeros((3,))
for i in range(3):
y2[i] = np.dot(w2[i], x2[i])
# 第三层模糊加权平均
y3 = np.zeros((3, 3))
for i in range(3):
for j in range(3):
y3[i][j] = np.dot(w3[i][j], x3[i][j])
# 整体模糊加权平均
y = np.dot(w1, np.array([y2, y3]))
# 输出结果
print(y)
```
其中`w1`,`w2`和`w3`分别为第一、第二、第三层指标的权重矩阵,`x1`,`x2`和`x3`分别为第一、第二、第三层指标的数据矩阵,`y1`,`y2`和`y3`分别为第一、第二、第三层模糊加权平均的结果,`y`为整体模糊加权平均的结果。其中,使用了`numpy`库中的`dot`函数进行矩阵乘法运算。
阅读全文