简洁直接的 matlab AHP 程序,对经常做层次的小伙伴还挺友好的。代码不长,逻辑清晰,输入判断矩阵后,直接帮你搞定特征向量迭代,适合快速测试和教学演示。
用的是 幂法 来近似特征向量,虽然不是最精确的做法,但胜在快而直观。像这样:
disp('输入判断矩阵 A(n 阶)');
A = input('A=');
[n, n] = size(A);
x = ones(n, 100);
y = ones(n, 100);
m = zeros(1, 100);
m(1) = max(x(:,1));
y(:,1) = x(:,1);
x(:,2) = A * y(:,1);
运行方式简单,直接贴进你的 .m
文件里就能跑。没有界面?嗯,确实,不过就是图个方便,真要上项目还得自己再包一层。
如果你想搞清楚怎么判断矩阵的一致性,可以看看这些文章,像层次总排序及其一致性检验,还有 Kendall 一致性系数 都蛮实用的。
哦对了,初学者会迷糊在哪儿输入矩阵。其实你就直接像这样输就行:[1 2 5; 0.5 1 3; 0.2 0.33 1]
,不要怕手动输,练习几次就顺手了。
如果你想了解更多 MATLAB 做 AHP 的玩法,可以看看这个 MATLAB 层次法指南,还不错。
,这段代码适合你临时需要跑个判断矩阵,或者想快速 AHP 的计算逻辑时用。简单粗暴,响应也快。如果你经常搞决策模型,不妨收藏下。