Sei sulla pagina 1di 10

Sistemas de ecuaciones lineales 3x3 Compatible determinado (solución única)

Programa: sel1.m
clear
%Sistemas de ecuaciones 3x3 complatible determinado
%{
Dado el sistema de ecuaciones:

x +y +3z = 10
2x -y + z = 6
x - y - z = 0

%}
vars=['x','y','z'];
A=[1 1 3; 2 -1 1; 1 -1 -1]; % Matriz de los coeficientes
b=[10;6;0]; % Terminos independientes
n=length(b); % Dimensión del vector
d=det(A);
Amp=[A b];
fprintf(' Determinante de la matriz de los coeficientes |A| = %d \n',d);
r1= rank(A);
fprintf(' Rango de la matriz de los coeficientes A rang(A)= %d \n',r1);
r= rank(Amp);
fprintf(' Rango de la matriz de los ampliada rang(Ab)= %d \n\n',r);
x=zeros(n,1);
if (d !=0)
fprintf(' Como |A| es diferente de cero el sistema es determinado y tiene solucion unica \n\n ');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
if d!=0
x(i)=v/d;
fprintf('\n %s = %f / %f = %f ', vars(i),v,d,x(i));
end
end
disp('');
fprintf(' \n Solucion del sistema por la via de la inversa ');
disp('');
in = inv(A);
fprintf(' \n La inversa es: \n');
disp(in);
disp('');
s=zeros(n,1);
s = in* b;
fprintf(' \n La solucion s = A''*b es: \n');
for j=1:n
fprintf('\n %s = %f ', vars(j),s(j))
end
end
disp('');
disp(' Matriz ampliada ');
disp('');
disp(Amp)
disp('');
disp(' Llevando a la forma escalonada ');
disp('');
es = rref(Amp);
disp(es);

Al ejecutarlo se obtiene:

Determinante de la matriz de los coeficientes |A| = 2


Rango de la matriz de los coeficientes A rang(A)= 3
Rango de la matriz de los ampliada rang(Ab)= 3

Como |A| es diferente de cero el sistema es determinado y tiene solucion unica


Solucion del sistema aplicando Cramer

x = 8.000000 / 2.000000 = 4.000000


y = 6.000000 / 2.000000 = 3.000000
z = 2.000000 / 2.000000 = 1.000000

Solucion del sistema por la via de la inversa

La inversa es:
1.00000 -1.00000 2.00000
1.50000 -2.00000 2.50000
-0.50000 1.00000 -1.50000

La solucion s = A'*b es:

x = 4.000000
y = 3.000000
z = 1.000000
Sistemas de ecuaciones lineales 3x3 Compatible indeterminado (infinita soluciones)

Programa: sel2.m
%Sistemas de ecuaciones 3x3 complatible indeterminado
%{
Dado el sistema de ecuaciones:

x + 2y - z = 1
2x + y -2z = 2
x - y - z = 1

%}
vars=['x','y','z'];
A=[1,2,-1;2,1,-2;1,-1,-1]; % Matriz de los coeficientes
b=[1;2;1]; % Terminos independientes
n=length(b); % Dimensión del vector
d=det(A);
Amp=[A b];
fprintf(' Orden del sistema de ecuaciones n = %d \n',n);
fprintf(' Determinante de la matriz de los coeficientes |A| = %d \n',d);
r1= rank(A);
fprintf(' Rango de la matriz de los coeficientes A rang(A)= %d \n',r1);
r= rank(Amp);
fprintf(' Rango de la matriz de los ampliada rang(Ab)= %d \n\n',r);
x=zeros(n,1);
if (d !=0)
fprintf(' Como |A| es diferente de cero el sistema es determinado y tiene solucion unica \n\n ');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
if d!=0
x(i)=v/d;
fprintf('\n %s = %f / %f = %f ', vars(i),v,d,x(i));
end
end
else
if r1<n
fprintf(' Como |A|=0 y Rango(A)=Rango(Ab) < n el sistema es compatible indeterminado y tiene infinitas soluciones\n\n
');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
fprintf('\n %s = %f / 0 = indeterminado \n', vars(i),v);
end
elseif r==n
fprintf(' Como |A|=0 y Rango(A)<Rango(Ab) = n el sistema es incompatible y no tiene infinitas solucion\n\n ');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
fprintf('\n %s = %f / 0 = indefinido \n', vars(i),v);
end
end
end
disp('');
disp(' Matriz ampliada ');
disp('');
disp(Amp);
disp('');
disp(' Llevando a la forma escalonada ');
disp('');
es = rref(Amp);
disp(es);

Al ejecutarlo se obtiene:

Orden del sistema de ecuaciones n = 3


Determinante de la matriz de los coeficientes |A| = 0
Rango de la matriz de los coeficientes A rang(A)= 2
Rango de la matriz de los ampliada rang(Ab)= 2

Como |A|=0 y Rango(A)=Rango(Ab) < n el sistema es compatible indeterminado y tiene infinitas soluciones

Solucion del sistema aplicando Cramer

x = 0.000000 / 0 = indeterminado

y = 0.000000 / 0 = indeterminado

z = 0.000000 / 0 = indeterminado

Matriz ampliada
1 2 -1 1
2 1 -2 2
1 -1 -1 1
Llevando a la forma escalonada

1 0 -1 1
0 1 0 0
0 0 0 0

Sistemas de ecuaciones lineales 3x3 incompatible (no tiene solución)

Programa: sel3.m
%Sistemas de ecuaciones 3x3 incompatibles
%{
Dado el sistema de ecuaciones:

x + y + z = 0
x + 2y -z = -1
x +2y -z = 10

%}
vars=['x','y','z'];
A=[1,1,1;1,2,-1;1,2,-1]; % Matriz de los coeficientes
b=[0;-1;10]; % Terminos independientes
n=length(b); % Dimensión del vector
d=det(A);
Amp=[A b];
fprintf(' Orden del sistema de ecuaciones n = %d \n',n);
fprintf(' Determinante de la matriz de los coeficientes |A| = %d \n',d);
r1= rank(A);
fprintf(' Rango de la matriz de los coeficientes A rang(A)= %d \n',r1);
r= rank(Amp);
fprintf(' Rango de la matriz de los ampliada rang(Ab)= %d \n\n',r);
x=zeros(n,1);
if (d !=0)
fprintf(' Como |A| es diferente de cero el sistema es determinado y tiene solucion unica \n\n ');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
if d!=0
x(i)=v/d;
fprintf('\n %s = %f / %f = %f ', vars(i),v,d,x(i));
end
end
else
if r<n
fprintf(' Como |A|=0 y Rango(A)=Rango(Ab) < n el sistema es compatible indeterminado y tiene infinitas soluciones\n\n
');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
fprintf('\n %s = %f / 0 = indeterminado \n', vars(i),v);
end
elseif r==n
fprintf(' Como |A|=0 y Rango(A)<Rango(Ab) = n el sistema es incompatible y no tiene infinitas solucion\n\n ');
% Solucion del Sistema aplicando Cramer
disp(' Solucion del sistema aplicando Cramer ');
for i=1:n
Ab=[A(:,1:i-1),b,A(:,i+1:n)];
v=det(Ab);
fprintf('\n %s = %f / 0 = indefinido \n', vars(i),v);
end
end
end
disp('');
disp(' Matriz ampliada ');
disp('');
disp(Amp);
disp('');
disp(' Llevando a la forma escalonada ');
disp('');
es = rref(Amp);
disp(es);

Al ejecutarlo se obtiene:

Orden del sistema de ecuaciones n = 3


Determinante de la matriz de los coeficientes |A| = 0
Rango de la matriz de los coeficientes A rang(A)= 2
Rango de la matriz de los ampliada rang(Ab)= 3

Como |A|=0 y Rango(A)<Rango(Ab) = n el sistema es incompatible y no tiene infinitas solucion

Solucion del sistema aplicando Cramer

x = -33.000000 / 0 = indefinido

y = 22.000000 / 0 = indefinido

z = 11.000000 / 0 = indefinido
Matriz ampliada

1 1 1 0
1 2 -1 -1
1 2 -1 10

Llevando a la forma escalonada

1 0 3 0
0 1 -2 0
0 0 0 1

Para graficar cada sistema se usan los códigos siguientes:


Grafsel1.m

%Primer sistema solucion unica


[x,y] = meshgrid(0:0.1: 10);
z = 10/1-x/3-y/3;
hold on
mesh(x,y,z)
z = 6-2*x+y;
mesh(x,y,z)
z = x-y;
mesh(x,y,z)
%recta intersección
% x=[0,3];
% y=x+1;
% line(x,y,[3,3], 'color','b')
xlabel('x')
ylabel('y')
zlabel('z')
title('Planos que se cortan')
grid on
hold off
view(100,30)

Al ejecutarlo se obtiene:
Grafsel2.m
%Segundo sistema con infinitas soluciones
[x,y] = meshgrid(0:0.1: 30);
z = -2+x+2*y;
hold on
mesh(x,y,z)
z = -1+x+y/2;
mesh(x,y,z)
z = -1+x-y;
mesh(x,y,z)
%recta intersección
% x=[0,3];
% y=x+1;
% line(x,y,[3,3], 'color','b')
xlabel('x')
ylabel('y')
zlabel('z')
title('Planos que se cortan en una recta (Infinitas soluciones)')
grid on
hold off
view(100,30)
Al ejecutarlo se obtiene:

Grafsel3.m

%Tercer sistema sin solución


[x,y] = meshgrid(0:0.1: 30);
z = -x-y;
hold on
mesh(x,y,z)
z = 1+x-2*y;
mesh(x,y,z)
z = -10+x-2*y;
mesh(x,y,z)
%recta intersección
% x=[0,3];
% y=x+1;
% line(x,y,[3,3], 'color','b')
xlabel('x')
ylabel('y')
zlabel('z')
title('Planos que no tiene puntos comunes (sin soluciones)')
grid on
hold off
view(100,30)

Potrebbero piacerti anche