You are on page 1of 10

Nombre: Yahaira Alexandra Tituaa Gallardo

NRC: 1682
Fecha: 24/06/15
1. Utilice el programa del pivoteo total para resolver el sistema AX=B,
siendo:

Luego utilice la instruccin [L,U,P]=lu(A) para comprobar la respuesta


CDIGO
function r=GaussConPivoteoTotal1()
A=[1 3 5 7;2 -1 3 5;0 0 2 5;-2 -6 -3 1];
b=[1 2 3 4];
if det(A)~=0
t=size(A,1);
Aum=[A,b']
%VARIABLES DE LAS COLUMNAS
for i=1:t
variables(1,i)=i;
end
% Encontrar el valor mayor su columna y fila
for q=1:t-1
fila=0;
col=0;
%[fila col]=find(Aum==max(max(abs(Aum(q:t,q:t)))));
%fm=fila(1)
%cm=col(1)
%mayor=Aum(fm,cm)
mayor=abs(Aum(q,q));
fm=q;
cm=q;
for k=q:t
for j=q:t
if abs(Aum(j,k))>mayor
mayor=abs(Aum(j,k));
fm=j;
cm=k;
end

end
end
mayor;
fm;
cm;
if fm~=q %Se restringe porque sino se estara haciendo un
reemplazo sobre otro reemplazo
aux=Aum(fm,:);
Aum(fm,:)=Aum(q,:);
Aum(q,:)=aux;
end
if cm~=q
aux=Aum(:,cm);
Aum(:,cm)=Aum(:,q);
Aum(:,q)=aux;
aux=variables(1,cm);
variables(1,cm)=variables(1,q);
variables(1,q)=aux;
end
if Aum(q,q)==0
fprintf('El sistema no tiene solucion')
return;
end

Aum;
%Mtodo de hacer ceros debajo
for k=q+1:t
m=Aum(k,q)/Aum(q,q);
Aum(k,q:t+1)=Aum(k,q:t+1)-m*Aum(q,q:t+1);
Aum;
end
end
A=Aum(:,1:size(Aum,1));
y=Aum(:,size(Aum,2));
x=sustitucion(A,y);
else
end

fprinf('Infinitas soluciones')

for i=1:t
r(1,variables(1,i))=x(1,i);
end
r
end
EJECUCIN

2. Use el programa de Gauss con Pivoteo Total para resolver el sistema


lineal AX=B, siendo

A= y

B=

para

i 2 . Hgalo en los

casos N=3,7 y 11. Sabiendo que la solucin exacta es

X =[11 1 1]' , explique cualquier desviacin que aparezca entre la


solucin exacta y la calculada.
EXPLICACIN: Es una matriz mal condicionada por lo tanto los valores varan
de acuerdo al programa y la solucin exacta que debe dar.
function s=GaussConPivoteoTotal2(N)
for filas=1:N
for columnas=1:N
A(filas,columnas)=filas^(columnas-1);
end
end
A
b(1,1)=N;
for filas=2:N
b(filas,1)=(filas^(N-2))/(filas-1);
end
b

Cambio
realizado

if det(A)~=0
t=size(A,1);
Aum=[A,b]
%VARIABLES DE LAS COLUMNAS
for i=1:t
variables(1,i)=i;
end
% Encontrar el valor mayor su columna y fila
for q=1:t-1
fila=0;
col=0;
%[fila col]=find(Aum==max(max(abs(Aum(q:t,q:t)))));
%fm=fila(1)
%cm=col(1)

%mayor=Aum(fm,cm)
mayor=abs(Aum(q,q));
fm=q;
cm=q;
for k=q:t
for j=q:t
if abs(Aum(j,k))>mayor
mayor=abs(Aum(j,k));
fm=j;
cm=k;
end
end
end
mayor;
fm;
cm;
if fm~=q %Se restringe porque sino se estara haciendo un
reemplazo sobre otro reemplazo
aux=Aum(fm,:);
Aum(fm,:)=Aum(q,:);
Aum(q,:)=aux;
end
if cm~=q
aux=Aum(:,cm);
Aum(:,cm)=Aum(:,q);
Aum(:,q)=aux;
aux=variables(1,cm);
variables(1,cm)=variables(1,q);
variables(1,q)=aux;
end
if Aum(q,q)==0
fprintf('El sistema no tiene solucion')
return;
end

end

Aum;
%Mtodo de hacer ceros debajo
for k=q+1:t
m=Aum(k,q)/Aum(q,q);
Aum(k,q:t+1)=Aum(k,q:t+1)-m*Aum(q,q:t+1);
Aum;
end

fprintf('Matriz triangular superior:');


Aum;
fprintf('Soluciones para la matriz: ');
A=Aum(:,1:size(Aum,1))
y=Aum(:,size(Aum,2))
x=sustitucion(A,y)
fprintf('Orden de las variables: ')
variables
else
fprinf('Infinitas soluciones')

end
for i=1:t
s(1,variables(1,i))=x(1,i);
end
s
end
EJECUCIN

3. Modifique el programa de Gauss con Pivoteo Total de manera que


calcule

A1

resolviendo N sistemas de ecuaciones lineales.

function x=GaussConPivoteoTotal3(A,b)
t=size(A,1);
I=eye(t);
Aum=[A I b']
%Triangular superior
for q=1:t-1
for k=q+1:t
m=Aum(k,q)/Aum(q,q);
Aum(k,:)=Aum(k,:)-m*Aum(q,:);
end

end
% triangular inferior
for q=t:-1:2
for k=q-1:-1:1
m=Aum(k,q)/Aum(q,q);
Aum(k,:)=Aum(k,:)-m*Aum(q,:);
end
end
for q=1:t
divisor=Aum(q,q);
Aum(q,:)=Aum(q,:)/divisor;
end
Aum
x=Aum(:,size(Aum,2))'
inversa=Aum(:,t+1:t+t)
end

4.

Cambio realizado
function intensidades=GaussConPivoteoTotal3()
R1=input('Ingrese R1:');
R2=input('Ingrese R2:');
R3=input('Ingrese R3:');
R4=input('Ingrese R4:');
R5=input('Ingrese R5:');
R6=input('Ingrese R6:');
E1=input('Ingrese E1:');
E2=input('Ingrese E2:');
A(1,1)=R1+R3+R4;
A(1,2)=R3;
A(1,3)=R4;
A(2,1)=R3;
A(2,2)=R2+R3+R5;
A(2,3)=-R5;
A(3,1)=R4;
A(3,2)=-R5;
A(3,3)=R4+R5+R6;
b(1,1)=E1;
b(1,2)=E2;
b(1,3)=0;
A
b'
EJECUCIN

5.

Cambio realizado

EJECUCIN

You might also like