请你帮一位应届高中毕业生选报高考志愿.试用层次分析法作出决策.matlab实现

模型假设:

假设考生需要在学校声誉、教学、科研、文体和环境这五个因素中选择志愿学校。
假设每个因素都有若干子因素,如教学因素中有教师水平、学生水平、深造条件等。
假设考生对每个因素和子因素的重要程度是不同的,可以通过层次分析法确定各因素和子因素的权重。

模型建立:

层次分析法建立各因素和子因素之间的层次结构模型。
对于每个因素和子因素,通过专家判断或问卷调查得到其相对权重。
将各因素和子因素的权重进行归一化处理。
对每个学校的各因素和子因素进行评分。
将各因素和子因素的评分与其相应的权重相乘,得到每个学校的加权得分。
根据加权得分的大小,确定考生填报的四个志愿。

模型求解:

对于每个因素和子因素,通过专家判断或问卷调查得到其相对权重。
将各因素和子因素的权重进行归一化处理。
对每个学校的各因素和子因素进行评分。
将各因素和子因素的评分与其相应的权重相乘,得到每个学校的加权得分。
根据加权得分的大小,确定考生填报的四个志愿。

结果分析:

通过层次分析法得到的学校的加权得分可以反映该学校在各因素和子因素中的表现,便于考生进行比较和选择。同时,该模型还可以通过调整各因素和子因素的权重来适应不同考生的选择偏好。

模型检验:

可以通过专家评估或者实际数据的反馈来验证该模型的可靠性和准确性。

matlab实现代码:

特征值法

%%
%特征值法
function [Q]=AHP(B)
[n,m]=size(B);
for i=1:n
    for j=1:n
        if B(i,j)*B(j,i)~=1   
        fprintf('i=%d,j=%d,B(i,j)=%d,B(j,i)=%d\n',i,j,B(i,j),B(j,i))  
        end  
    end
end
[V,D]=eig(B);
tz=max(D);
tzz=max(tz);
c1=find(D(1,:)==max(tz));
tzx=V(:,c1);
quan=zeros(n,1);
for i=1:n
quan(i,1)=tzx(i,1)/sum(tzx);
end
Q=quan;
CI=(tzz-n)/(n-1);
RI=[0,0,0.58,0.9,1.12,1.24,1.32,1.41,1.45,1.49,1.52,1.54,1.56,1.58,1.59];
CR=CI/RI(1,n);
if CR>=0.1
   fprintf('没有通过一致性检验\n');
else
      fprintf('通过一致性检验\n');
end
 
end

其他方法

%%
%其他方法
disp('请输入判断矩阵A')
A=input('A=');
[n,n] = size(A);
Sum_A = sum(A);   
SUM_A = repmat(Sum_A,n,1);    
Stand_A = A ./ SUM_A;        
disp('算术平均法求权重的结果为:');
disp(sum(Stand_A,2)./n)   
 
  disp('请输入判断矩阵A')
A=input('A=');
[n,n] = size(A);
Prduct_A = prod(A,2);      
Prduct_n_A = Prduct_A .^ (1/n);  
disp('几何平均法求权重的结果为:');
disp(Prduct_n_A ./ sum(Prduct_n_A)) 
 
disp('请输入判断矩阵A')
A=input('A=');
[V,D] = eig(A); 
Max_eig = max(max(D));   
[r,c]=find(D == Max_eig , 1); 
disp('特征值法求权重的结果为:');
disp( V(:,c) ./ sum(V(:,c)) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大聪明blank

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值