Está en la página 1de 2

disp('ejemplo : [0 6 1 5 0 0; 6 0 5 0 3 0; 1 5 0 5 6 4; 5 0 5 0 0 2; 0 3 6 0 0 6

; 0 0 4 2 6 0]')
A = input('Digite La Matriz de Adyacensia:')
if norm(A-A','fro') ~= 0 ,
disp('La matriz no es simetrica')
return,
end;
NGra
NArb
aris
adya

=
=
=
=

[2:length(A)];%analiza el tamao de la matr salen los nodos


[1];
[0];
zeros(size(A));

Grafico=view(biograph(triu(A),[],'ShowWeights','on','ShowArrows','off')); %vie
sintaxis de matlab que inteica ver, boigrap objeto grafico;
%con triu solo escoje los ceros por enciam de la diagonal
while length(NGra) > 0
min = Inf;
tic
for iarb = 1:length(NArb)
for igra = 1:length(NGra)
info = A(NArb(iarb),NGra(igra));
if (info ~= 0) && (info < min)
min = info;
F = NArb(iarb);
C = NGra(igra);
end
end
end
NArb = [NArb C];
disp(NArb)
for igra = 1:length(NGra)
if NGra(igra) == C
NGra(igra) = [];
break;
end
end
aris = [aris min];
adya(F,C) = min;
adya(C,F) = min;
toc
if F>C
nodo = [C F];
else
nodo = [F C];
end
edges = getedgesbynodeid(Grafico,get(Grafico.Nodes(nodo),'ID')); %DA NOMBRE
QUE IDENTIFA EL NOD
set(edges,'LineColor',[1 0 0])
disp('Tiempo de interacion')
pause
end
disp('El Costo es De: ')

sum(aris)

También podría gustarte