📄 udecision.m
字号:
% the program is with the undetemined decision analysis
% please input the decision matrix and the rule of your decision
input('the program is with the undetemined decision analysis')
m=input('Please input the line number=')
n=input('Please input the column number=')
D=input('Please input the decision matrix D(m,n)=')
R=input('Please input the decision rules:optimism=1,pessimism=2,hurwicz=3,savage=4,laplace=5! R=')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if R==1
for i=1:m
maxnumber=D(i,1);
for j=1:n
if D(i,j)>maxnumber
maxnumber=D(i,j);
end
end
end
for i=1:m
for j=1:n
if D(i,j)==maxnumber
input('The decision is :')
decision=i
end
end
end
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elseif R==2
for i=1:m
basenumber=D(i,1);
for j=1:n
if basenumber>D(i,j)
basenumber=D(i,j);
end
end
temp1(i)=basenumber;
end
tempnumber1=temp1(1);
for i=1:n
if temp1(i)>tempnumber1
tempnumber1=temp1(i);
end
end
for i=1:n
if tempnumber1==temp1(i)
input('The decision is :')
decision=i
end
end
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elseif R==3
a=input('Please input the parameter a=');
for i=1:m
for j=1:n
maxbasenumber2=D(i,1);
if D(i,j)>maxbasenumber2
maxbasenumber2=D(i,j);
end
end
temp2(i)=maxbasenumber2;
end
for i=1:m
for j=1:n
minbasenumber2=D(i,1);
if D(i,j)<minbasenumber2
minbasenumber2=D(i,j);
end
end
temp3(i)=minbasenumber2;
end
for i=1:m
temp4(i)=a*temp2(i)+(1-a)*temp3(i);
end
maxnumber=temp4(1);
for i=1:m
if temp4(i)>maxnumber
maxnumber=temp4(i);
end
end
for i=1:m
if temp4(i)==maxnumber
input('The decision is :')
decision=i
end
end
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elseif R==4
for i=1:m
for j=1:n
maxbase=D(i,1);
if D(i,j)>maxbase
maxbase=D(i,j);
end
end
hangmaxtemp(i)=maxbase;
end
for j=1:n
for i=1:m
hangmaxtempmtrx(i,j)=hangmaxtemp(j);
end
end
for i=1:m
for j=1:n
RV(i,j)=hangmaxtempmtrx(i,j)-D(i,j);
end
end
for i=1:m
basenumber2=RV(i,1);
for j=1:n
if RV(i,j)>basenumber2
basenumber2=RV(i,j);
end
end
maxRV(i)=basenumber2;
end
tempnumber=maxRV(1);
for i=1:m
if tempnumber>maxRV(i)
tempnumber=maxRV(i);
end
end
for i=1:m
if tempnumber==maxRV(i)
input('The decision is :')
decision=i
end
end
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elseif R==5
for i=1:m
sumnumber=0;
for j=1:n
sumnumber=sumnumber+D(i,j);
end
maxarray(i)=sumnumber/n;
end
basenumber3=maxarray(1);
for i=1:m
if maxarray(i)>basenumber3
basenumber3=maxarray(i);
end
end
for i=1:n
if maxarray(i)==basenumber3
input('The decision is :')
decision=i
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -