Red de conocimiento informático - Material del sitio web - Cómo utilizar la programación de Matlab para calcular la estratificación

Cómo utilizar la programación de Matlab para calcular la estratificación

Escribí un programa sobre AHP

Lo probé y el efecto no es malo, principalmente para diseños de tres capas

Si es de cuatro capas, clasifíquelo usted mismo

PD: Se deberían poder resolver cuatro capas, pero no lo he probado

El siguiente es mi programa

función w=l_ahp(num,g)

% w : Peso final num: Número de capas g: Vector de fila (número estándar de cada capa)

% Llamada w=l_ahp(num,g)

% Ejemplo:

disp('----- Sistema de análisis jerárquico (AHP) -------')

for i=2:num % capa de control

disp( ['first',num2cell(i),'análisis de capas'])

trace_w{i-1}(1:g(i),1:g(i-1)) =ceros(g (i),g(i-1));

trace_l{i-1}(1,1:g(i-1))= ceros(1,g(i- 1));

CI{i-1}(1:g(i-1))=ceros(1,g(i-1));

CR{i -1}( 1:g(i-1))=zeros(1,g(i-1));

para j=1:g(i-1)

disp( [ 'first',num2cell(i),'layer','first',num2cell(j),'análisis de la matriz de juicio'])

A=input('Ingrese la matriz de juicio ( en su pedido) ');

[w,l]=eig(A);

ll=(max(l));

[ll , índice]= max(ll);

w=w(:,index);

w=abs(w);

w=w. /sum(w )

trace_w{i-1}(:,j)=w

trace_l{i-1}(1,j)=ll

fin

CI{i-1}(:)=(trace_l{i-1}(:)-g(i))./(g(i)-1);

RI=RI_proceso(g(i))

CR{i-1}(:)=CI{i-1}(:)./RI

c =buscar(CR {i-1}(:)>=0.1)

zhi=isempty(c);

si zhi==1

disp ('Resultado de la prueba de coherencia (capa de despachador única dentro de capa)')

disp(CR{i-1});

disp('vector de peso de matriz de juicio único')

disp(trace_w{i-1});

disp('Valor propio máximo de una matriz de juicio única')

disp(trace_l{i-1}) ;

else

['Modifique el primero',num2cell( c),'Matriz de comparación para el segundo']

['El siguiente resultado es invalid']

break;

end

end

disp('Aquí

clasificación total archivística y su prueba de coherencia')

w=trace_w{num-1}(1:end,1:end)* trace_w{1}(1:end,1:end);

w=abs(w);

w=w./sum(w);

CI=sum(trace_w{1}(:).*CI {2}(:));

CR=CI/RI_process(g(num));

if CR<0.1

disp('Consistencia combinada resultados de la prueba');

disp(num2cell(CR));

disp('Pesos finales' )

disp([num2cell(w)]) ;

w

else

disp('La prueba de coherencia falló, reconstruya la matriz de juicio');

end

función RI=RI_process(gs)

cambiar gs

caso 1

RI=0;

caso 2

RI=0;

caso 3

RI=0,58;

caso 4

RI=0,90;

Caso 5

RI=1,12;

Caso 6

RI=1,24;

Caso 7

RI=1,32;

Caso 8

RI=1,41;

caso 9

RI=1,45; p>

caso 10<

RI=1.49;

caso 11

RI=1.51;

en caso contrario

disp('Fuera del rango de juicio')

fin