求助应用层次分析法用MATLAB软件做出这道题的程序
某大学将毕业就业,有三个单位可供选择,假设该生选择职业时主要考虑如下因素:(1)进一步深造条件;(2)单位今后发展前景;(3)本人的兴趣和爱好;(4)单位所处的地域;(5)单位的声誉;(6)单位的经济效益,工资与福利待遇。使用MATLAB软件 做希望如果有人会马上回复 谢谢了 我急用网上找了找不到的
[ 本帖最后由 xinyuxf 于 2007-6-5 10:18 编辑 ] 没有期望值?
把问题说明白,你说的太简单了 上面的问题怎么量化? disp('请输入判断矩阵A(n阶)');
A=input('A=');
=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(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
whilek>p
i=i+1;
x(:,i)=A*y(:,i-1);
m(i)=max(x(:,i));
y(:,i)=x(:,i)/m(i);
k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);disp(t);
%以下是一致性检验
CI=(t-n)/(n-1);RI=;
CR=CI/RI(n);
if CR<0.10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
end 就是套这个程序来做 可是我根本都不会 我们实习的论文 可是没实习 就是直接让交论文 而且我这段时间也没去上课 所以不会
还需要什么资料我这都有
[ 本帖最后由 mjhzhjg 于 2007-6-5 10:27 编辑 ] 目标层 选择工作单位 A
深造条件B1
发展前途B2
兴趣爱好B3
准则层 单位地域B4
单位声誉B5
工资福利B6
单位C1
方案层 单位C2
单位C3
该生分析上述个因素,构造个因素成对比阵为
B1 B2 B3 B4 B5 B6
B1 1 1 1 4 1 1/2
B2 1 1 2 4 1 1/2
B3 1 1/2 1 5 3 1/2
B4 1/4 1/4 1/5 1 1/3 1/3
B5 1 1 1/3 3 1 1
B6 2 2 2 3 1 1
就这么建立模型 然后再计算出权向量之类的还有对比阵 但是我不知道具体怎么编到程序里 disp('请输入判断矩阵A(n阶)');
A=[1 1 1 4 1 1/2
1 1 2 4 1 1/2
1 1/2 1 5 3 1/2
1/4 1/4 1/5 1 1/3 1/3
1 1 1/3 3 1 1
2 2 2 3 1 1];
=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(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
whilek>p
i=i+1;
x(:,i)=A*y(:,i-1);
m(i)=max(x(:,i));
y(:,i)=x(:,i)/m(i);
k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);disp(t);
%以下是一致性检验
CI=(t-n)/(n-1);RI=;
CR=CI/RI(n);
if CR<0.10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
end 让带中文吗? 直接这么写就可以吗? 可是那个RI矩阵不是还得换吗?
[ 本帖最后由 mjhzhjg 于 2007-6-5 10:28 编辑 ] RI矩阵?那个?不就是那个期望值矩阵吗?7楼给的那个?不是吗?
matlab里面可以有中文,没关系,不想要你自己删掉 不是那个 那个不是A矩阵吗 后面最后不是还有个RI矩阵吗 那个矩阵怎么可能和给的源程序是一个呢不是要换数吗?
[ 本帖最后由 mjhzhjg 于 2007-6-5 10:29 编辑 ] RI矩阵具体含义如何?不好意思,刚才没看清楚
如果猜测实话应该是矩阵A各列之和组成 解题时求出了个权向量(0。17 0。19 0。220。05 0。15 0。22)的转置
然后t=6.46 CI=0.092
CR=CI/RI=0.092/1.24=0.07<0.1
然后就是几个比较阵了还有这个程序中间的那些mn值都不需要换成具体数吗? 那RI就是等于
m,n不用赋值,n是矩阵维数,系统根据矩阵A判断,m根据前面条件系统决定
disp('请输入判断矩阵A(n阶)');
A=[1 1 1 4 1 1/2
1 1 2 4 1 1/2
1 1/2 1 5 3 1/2
1/4 1/4 1/5 1 1/3 1/3
1 1 1/3 3 1 1
2 2 2 3 1 1];
=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(2)=max(x(:,2));
y(:,2)=x(:,2)/m(2);
p=0.0001;i=2;k=abs(m(2)-m(1));
whilek>p
i=i+1;
x(:,i)=A*y(:,i-1);
m(i)=max(x(:,i));
y(:,i)=x(:,i)/m(i);
k=abs(m(i)-m(i-1));
end
a=sum(y(:,i));
w=y(:,i)/a;
t=m(i);
disp(w);disp(t);
%以下是一致性检验
CI=(t-n)/(n-1);RI=;
CR=CI/RI(n);
if CR<0.10
disp('此矩阵的一致性可以接受!');
disp('CI=');disp(CI);
disp('CR=');disp(CR);
end %以下是一致性检验
这句也需要打上吗? 这句什么意思啊? 能输出吗? 我这里没安MATLAB软件 所以不好意思再问一句谢谢拉 可以写可以不写,这是注释语句,写上就是为了知道程序的那一部分是什么功能
注释语句是不会有输出的
页:
[1]
2