Sunteți pe pagina 1din 4

clc

A=load('C:\Documents and Settings\usuario\Escritorio\sab 24-2-


07\matriz.txt');
[n,r]=size(A);
v=zeros(n,4);
%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
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
%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
disp('La Matriz es Diagonal Dominante')
else
disp('La Matriz es Dominante')
end
else
disp('La Matriz no es Dominante')
end

por funciones

archivo Dominancia.m principal:

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 [n,r,A]= leermatriz


%Lectura de la matriz
A=load('C:\Documents and Settings\usuario\Escritorio\sab 24-2-
07\matriz.txt');
[n,r]=size(A);

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

S-ar putea să vă placă și