数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3461|回复: 8

层次分析法的程序

[复制链接]
发表于 2003-8-6 18:57:44 | 显示全部楼层 |阅读模式
我自己编了一个层次分析法的程序,供大家参考,还请大家多多指教。
function    W=aam(B,n)
%exemple
%A=[1 1/5 1/3;5 1 3;3 1/3 1];准则层对目标层的判断矩阵
%A1=[1 2 3];对应的下标
%C1=[1 3;1/3 1];方案层对准则层的判断矩阵
%C2=[1 1/5;5 1];
%C3=[1 2;1/2 1];
%C={C1,C2,C3};
%E={[1 2],[2 3],[1 2]};对应的下标
%B={{A,A1},{C,E}};
%n=[1 3 3];各层的因素个数
%W=ccf(B,n)
RI=[inf inf 0.58 0.96 1.12 1.24 1.32 1.41 1.45];
%一致性的修正值
ww1=[1];
p=length(n)-1;
for q=1:p
ZCR=[];
ww2=zeros(n(q+1),n(q));
for j=1:n(q)
[V,D]=eig(B{q}{1}{j});
[D,I]=max(max(D));
m=n(q+1);
CI=(D-m)/(m-1);
CR=CI/RI(m);
ZCR=[ZCR;CR];
coherence;
%一致性检验的函数
V=V(:,I);
k=sum(V);
w=V./k;
ww2(B{q}{2}{j},j)=w;
end
CR=ww1'*ZCR;
coherence;
ww1=ww2*ww1;
end
W=ww1;

coherence.m
if CR>0.1
  'error'
  return
end
发表于 2004-6-5 05:30:30 | 显示全部楼层
又是抄的[em16][em16][em18][em18][em18]
发表于 2004-6-8 06:04:49 | 显示全部楼层
<>老大 你的程序是不是不能运行呀~~~~~~~~~~~~~~~·</P><>Input argument 'n' is undefined.</P><>Error in ==&gt; d:\MATLAB6p5\work\aa.m
On line 16  ==&gt; p=length(n)-1;
</P>
发表于 2004-7-7 03:49:09 | 显示全部楼层
<>老大怎么运行成这样啊··</P><>coherence.m
if CR&gt;0.1
  'error'
  return
end
??? Strings passed to EVAL cannot contain function declarations.
</P>
发表于 2004-8-9 10:43:33 | 显示全部楼层
层次分析法……其实不用编程也可以做……最关键在于那个判别矩阵写起来太恼火,这个步骤是电脑代替不了的。
发表于 2004-8-9 21:29:54 | 显示全部楼层

<>好不错</P>
发表于 2004-8-9 21:52:46 | 显示全部楼层
好????????
发表于 2004-8-18 18:05:43 | 显示全部楼层
刚好要用呢
发表于 2004-8-22 21:35:43 | 显示全部楼层
乖乖!有错误呀!
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-28 16:01 , Processed in 0.076773 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表