Professional Documents
Culture Documents
if strcmp(senal2,'Si')==1
disp('La Matriz es Diagonal Dominante')
else
disp('La Matriz es Dominante')
end
else
disp('La Matriz no es Dominante')
end
por funciones
clc
[n,r,A]=leermatriz
clc
v=mayorypos(n,A)
clc
senal1=domi(n,v,A)
clc
[senal2,resp]=diadomi(senal1,n,v)
clc
disp(resp)
function leermatriz.m:
function Mayorypos.m:
function[v]= mayorypos(n,A)
%Matriz para obtener los valores mayores de cada fila y la
%columna(posicion)
%respectiva
for i=1:n
v(i,1)=A(i,1);
v(i,2)=1;
for j=2:n
if abs(v(i,1))>abs(A(i,j))
else
v(i,1)=A(i,j);
v(i,2)=j;
end
end
end
function domi.m:
function [senal1]=domi(n,v,A)
senal1='Si';
i=0;
%Bucle para comparar los valores absolutos mayores de cada fila
con la sumatoria de
%los absolutos de los demas terminos de dicha fila
while(strcmp(senal1,'Si')==1) &(i<n)
i=i+1;
suma=0;
for j=1:n
if j==v(i,2)
else
suma=suma+abs(A(i,j));
end
end
if abs(v(i,1))>suma
senal1='Si';
else
senal1='No';
end
end
function diadomi.m:
function [senal2,resp]=diadomi(senal1,n,v)
%Estructura para determinar si la Matriz es Dominante, Diagonal
Dominante, o ninuguna de las
%anteriores.
if strcmp(senal1,'Si')==1
v(1:n,3)=v(1:n,2);
for i=1:(n-1)
for j=(i+1):n
if v(i,3)<v(j,3)
else
aux=v(j,3);
v(j,3)=v(i,3);
v(i,3)=aux;
end
end
end
senal2='Si';
i=0;
while(strcmp(senal2,'Si')==1) &(i<n)
i=i+1;
if v(i,3)==i
senal2='Si';
else
senal2='No';
end
end
if strcmp(senal2,'Si')==1
resp=('La Matriz es Diagonal Dominante')
else
resp=('La Matriz es Dominante')
end
else
resp=('La Matriz no es Dominante')
end