matlab几何平均法求权重
时间: 2023-09-15 15:23:25 浏览: 76
在Matlab中,几何平均法求权重可以通过计算矩阵的特征向量来实现。具体步骤如下:
1. 定义判断矩阵:
```
judge = [1, 6/9, 7/8; 9/6, 1, 9/7; 8/7, 7/9, 1];
```
2. 初始化权重矩阵:
```
w = zeros(3, 3);
```
3. 计算权重矩阵的每个元素:
```
for i = 1:3
for j = 1:3
w(i, j) = judge(i, j) / (judge(1, j) * judge(2, j) * judge(3, j));
end
end
```
4. 使用eig函数计算判断矩阵的特征值和特征向量:
```
[V, D = eig(judge);
```
5. 找到特征值矩阵D中的最大特征值3,并对应找到特征向量矩阵V中与最大特征值3对应的特征向量。
6. 将特征向量写入代码中:
```
v = [0.46914, 0.69889, 0.53986];
```
7. 根据几何平均法的公式,计算权重向量w1:
```
w1 = zeros(1, 3);
w1(1) = v(1) / (v(1) * v(2) * v(3));
w1(2) = v(2) / (v(1) * v(2) * v(3));
w1(3) = v(3) / (v(1) * v(2) * v(3));
```
最终得到几何平均法求得的权重向量w1。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [matlab 三法求矩阵权重(算数平均法求权重,几何平均法求权重,特征值法求权重)](https://blog.csdn.net/zhanghanqmx/article/details/119391099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]