matlab实现模糊层次分析

clear all
clc
E = input(‘输入计算精度e:’);
Max = input(‘输入最大迭代次数Max:’);
F = input(‘输入优先关系矩阵F:’);
%计算模糊一致矩阵
N = size(F);
r = sum(F’);
for i = 1:N(1)
for j = 1:N(2)
R(i,j) = (r(i)-r(j))/(2*N(1))+0.5;
end
end
E = R./R’;
%计算初始向量————————————
% W = sum(R’)./sum(sum®);%和行归一法
%——————————————————
for i = 1:N(1)
S(i) = R(i,1);
for j = 2:N(2)
S(i) = S(i)R(i,j);
end
end
S = S^(1/N(1));
W = S./sum(S); %方根法
%——————————————————
% a = imput(‘参数a=?’);
% W = sum(R’)/(N(1)a)-1/(2a)+1/N(1); %排序法
% 利用幂法计算排序向量————————
V(:,1) = W’/max(abs(W)); %归一化
for i = 1:Max
V(:,i+1) = E
V(:,i);
V(:,i+1) = V(:,i+1)/max(abs(V(:,i+1)));
if max(abs(V(:,i+1) - V(:,i))) < E
k = i;
A = V(:,i+1)./sum(V(:,i+1));
break
else
end
end

三角模糊层次分析法(TFAHP)是一种用于决策支持的多准则决策方法,它将模糊数学方法与层次分析法相结合,用于处理带有模糊性的决策问题。利用MATLAB实现TFAHP需要以下步骤: 1. 确定决策问题的准则层次结构:根据具体问题确定准则层次结构,包括决策目标、准则层以及可能的子准则。将这些准则按照层次结构排列。 2. 填写两两比较矩阵:通过对准则两两进行比较,构建两两比较矩阵。矩阵中的每个元素是一个模糊数,表示对应准则之间的重要性关系。模糊数可以用三角模糊数表示。 3. 计算准则权重:通过隶属度函数将模糊数转化为标量,并应用层次分析法计算准则权重。可以使用MATLAB中的矩阵运算和函数来实现。 4. 计算子准则权重:对于存在子准则的准则,按照同样的方法计算其权重。将子准则根据所属父准则进行分组,然后计算每个组内子准则的权重。 5. 进行一致性检验:在计算权重过程中,需要进行一致性检验,以保证结果的可信度。可以使用一致性指标计算每个矩阵的一致性比例,并与预先设定的阈值进行比较。 6. 进行决策评估:根据准则权重和子准则权重,将它们与相关的决策方案进行组合,得到每个方案的评估值。根据评估值进行决策。 以上是利用MATLAB实现三角模糊层次分析法的主要步骤。根据具体的问题和数据,可以编写相应的MATLAB代码来实现这些步骤,并进行决策分析。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值