Está en la página 1de 12

Taller: Solución de Sistemas de Ecuaciones

Ejercicio 1. Para encontrar la cantidad de juguetes que una empresa debe fabricar por día para utilizar de
manera óptima su máquina de moldeo por inyección y la línea de ensamblaje, es necesario resolver el
siguiente conjunto de ecuaciones. Las incógnitas son la cantidad de juguetes para bebés (0-2 años), x1; la
cantidad de juguetes para niños pequeños (2-5 años), x2; y la cantidad de juguetes para niños grandes (más
de 5 años), x3.

Encontrar los valores de , y usando el método de eliminación gaussiana.

% Método de eliminación gaussiana%


clc, clear, close
A=[0.3333 0.1667 0.6667; 0.1667 0.6667 0.3333; 1.05 -1.00 0.00];
B=[756;1260;0];
n=length(A(:,1));%longitud A,todas las filas de la primera columna
x= zeros(size(B));

% algoritmo de eliminación

for k=1:n-1 % eliminación de variables: desde x1 - x(n-1)


for i=k+1:n %elininación x(k)-->x(k+1) hasta x(n)
factor=A(i,k)/A(k,k);%para cada fla un factor
for j=k:n
A(i,j)=A(i,j)-factor*A(k,j)% cada elemento se actualiza

end
B(i)=B(i)-factor*B(k)%término independiente
end
A,B
end

A = 3×3
0.3333 0.1667 0.6667
0 0.6667 0.3333
1.0500 -1.0000 0
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 0.3333
1.0500 -1.0000 0
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
1.0500 -1.0000 0
B = 3×1
756.0000
881.8866
0
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002

1
0 -1.0000 0
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
0 -1.5252 0
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
0 -1.5252 -2.1003
B = 3×1
103 ×
0.7560
0.8819
-2.3816
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
0 -1.5252 -2.1003
B = 3×1
103 ×
0.7560
0.8819
-2.3816
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
0 0 -2.1003
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
0 0 -2.1007
B = 3×1
756.0000
881.8866
-75.8636
A = 3×3
0.3333 0.1667 0.6667
0 0.5833 -0.0002
0 0 -2.1007
B = 3×1
756.0000
881.8866
-75.8636

Ejercicio 2. Resuelva los sistemas de ecuaciones utilizando el método de la eliminación gaussiana.

a. de la forma :

% Método de eliminación gaussiana%


clc, clear, close

2
A=[1 3 4; 2 7 3; 2 8 6];
B=[3;-7;-4];
n=length(A(:,1));%longitud A,todas las filas de la primera columna
x= zeros(size(B));

% algoritmo de eliminación

for k=1:n-1 % eliminación de variables: desde x1 - x(n-1)


for i=k+1:n %elininación x(k)-->x(k+1) hasta x(n)
factor=A(i,k)/A(k,k);%para cada fla un factor
for j=k:n
A(i,j)=A(i,j)-factor*A(k,j)% cada elemento se actualiza

end
B(i)=B(i)-factor*B(k)%término independiente
end
A,B
end

A = 3×3
1 3 4
0 7 3
2 8 6
A = 3×3
1 3 4
0 1 3
2 8 6
A = 3×3
1 3 4
0 1 -5
2 8 6
B = 3×1
3
-13
-4
A = 3×3
1 3 4
0 1 -5
0 8 6
A = 3×3
1 3 4
0 1 -5
0 2 6
A = 3×3
1 3 4
0 1 -5
0 2 -2
B = 3×1
3
-13
-10
A = 3×3
1 3 4
0 1 -5
0 2 -2
B = 3×1
3
-13
-10
A = 3×3

3
1 3 4
0 1 -5
0 0 -2
A = 3×3
1 3 4
0 1 -5
0 0 8
B = 3×1
3
-13
16
A = 3×3
1 3 4
0 1 -5
0 0 8
B = 3×1
3
-13
16

b.

de la forma :

% Método de eliminación gaussiana%


clc, clear, close
A=[1 2 5; 1 -2 -3; -1 1 2];
B=[-8;0;3];
n=length(A(:,1));%longitud A,todas las filas de la primera columna
x= zeros(size(B));

% algoritmo de eliminación

for k=1:n-1 % eliminación de variables: desde x1 - x(n-1)


for i=k+1:n %elininación x(k)-->x(k+1) hasta x(n)
factor=A(i,k)/A(k,k);%para cada fla un factor
for j=k:n
A(i,j)=A(i,j)-factor*A(k,j)% cada elemento se actualiza

end
B(i)=B(i)-factor*B(k)%término independiente
end
A,B
end

A = 3×3
1 2 5
0 -2 -3
-1 1 2

4
A = 3×3
1 2 5
0 -4 -3
-1 1 2
A = 3×3
1 2 5
0 -4 -8
-1 1 2
B = 3×1
-8
8
3
A = 3×3
1 2 5
0 -4 -8
0 1 2
A = 3×3
1 2 5
0 -4 -8
0 3 2
A = 3×3
1 2 5
0 -4 -8
0 3 7
B = 3×1
-8
8
-5
A = 3×3
1 2 5
0 -4 -8
0 3 7
B = 3×1
-8
8
-5
A = 3×3
1 2 5
0 -4 -8
0 0 7
A = 3×3
1 2 5
0 -4 -8
0 0 1
B = 3×1
-8
8
1
A = 3×3
1 2 5
0 -4 -8
0 0 1
B = 3×1
-8
8
1

Ejercicio 3. Resuelva los sistemas de ecuaciones utilizando el método de la eliminación gaussiana con pivoteo
parcial.

5
%Método de eliminación gaussiana con pivoteo parcial%
clc, clear, close all
%matriz inicial%
A = [2 -3 100; 1 10 -0.001; 3 -100 0.01];
B = [1; 0; 0];
n = length(A(:,1)); % n = size(A,1)
x = zeros(size(B));
% Definir los vectores S y L
S = max(abs(A), [], 2); % Vector de Escala
L = 1:n; LL = L; % Vector de indices

for k=1:n-1 % Eliminamos las variables x1 hasta x(n-1)


% Actualización del vector L
R = abs(A(L(k:n),k)./S(L(k:n))); % Vector R = A(L(i),k)/S(L(i));
[r, rr]= max(R); rr=rr+k-1; % Máximo de R
LL(k) = L(rr); LL(rr) = L(k); L = LL; %Reordenamos L
for i=k+1:n % Elimnar la variable xk, de las ecuaciones
% L(k+1) hasta L(n)
factor = A(L(i),k)/A(L(k),k); % Para cada fila, un factor
% Fi <= Fi - factor*Fk
A(L(i),:) = A(L(i),:) - factor.*A(L(k),:);
B(L(i)) = B(L(i))-factor*B(L(k)); % Término independiente
end
L, A, B
A(L,:)
end

L = 1×3
2 1 3
A = 3×3
0 -23.0000 100.0020
1.0000 10.0000 -0.0010
0 -130.0000 0.0130
B = 3×1
1
0
0
ans = 3×3
1.0000 10.0000 -0.0010
0 -23.0000 100.0020
0 -130.0000 0.0130
L = 1×3
2 3 1
A = 3×3
0 0 99.9997
1.0000 10.0000 -0.0010
0 -130.0000 0.0130
B = 3×1
1
0

6
0
ans = 3×3
1.0000 10.0000 -0.0010
0 -130.0000 0.0130
0 0 99.9997

b.

%Método de eliminación gaussiana con pivoteo parcial%


clc, clear, close all
%matriz inicial%
A = [1 20 -1 0.001; 2 -5 30 -0.1; 5 1 -100 -10; 2 -100 -1 1];
B = [0; 1; 0; 0];
n = length(A(:,1)); % n = size(A,1)
x = zeros(size(B));
% Definir los vectores S y L
S = max(abs(A), [], 2); % Vector de Escala
L = 1:n; LL = L; % Vector de indices

for k=1:n-1 % Eliminamos las variables x1 hasta x(n-1)


% Actualización del vector L
R = abs(A(L(k:n),k)./S(L(k:n))); % Vector R = A(L(i),k)/S(L(i));
[r, rr]= max(R); rr=rr+k-1; % Máximo de R
LL(k) = L(rr); LL(rr) = L(k); L = LL; %Reordenamos L
for i=k+1:n % Elimnar la variable xk, de las ecuaciones
% L(k+1) hasta L(n)
factor = A(L(i),k)/A(L(k),k); % Para cada fila, un factor
% Fi <= Fi - factor*Fk
A(L(i),:) = A(L(i),:) - factor.*A(L(k),:);
B(L(i)) = B(L(i))-factor*B(L(k)); % Término independiente
end
L, A, B
A(L,:)
end

L = 1×4
2 1 3 4
A = 4×4
0 22.5000 -16.0000 0.0510
2.0000 -5.0000 30.0000 -0.1000
0 13.5000 -175.0000 -9.7500
0 -95.0000 -31.0000 1.1000
B = 4×1
-0.5000
1.0000
-2.5000
-1.0000
ans = 4×4
2.0000 -5.0000 30.0000 -0.1000

7
0 22.5000 -16.0000 0.0510
0 13.5000 -175.0000 -9.7500
0 -95.0000 -31.0000 1.1000
L = 1×4
2 1 3 4
A = 4×4
0 22.5000 -16.0000 0.0510
2.0000 -5.0000 30.0000 -0.1000
0 0 -165.4000 -9.7806
0 0 -98.5556 1.3153
B = 4×1
-0.5000
1.0000
-2.2000
-3.1111
ans = 4×4
2.0000 -5.0000 30.0000 -0.1000
0 22.5000 -16.0000 0.0510
0 0 -165.4000 -9.7806
0 0 -98.5556 1.3153
L = 1×4
2 1 3 4
A = 4×4
0 22.5000 -16.0000 0.0510
2.0000 -5.0000 30.0000 -0.1000
0 0 -165.4000 -9.7806
0 0 0 7.1432
B = 4×1
-0.5000
1.0000
-2.2000
-1.8002
ans = 4×4
2.0000 -5.0000 30.0000 -0.1000
0 22.5000 -16.0000 0.0510
0 0 -165.4000 -9.7806
0 0 0 7.1432

Ejercicio 4. Resuelva , usando eliminación gaussiana con pivoteo parcial, de la forma :

%Método de eliminación gaussiana con pivoteo parcial%


clc, clear, close all
%matriz inicial%
A = [4 -2 1; -2 1 -1; -2 3 6];
B = [2; -1; 0];
n = length(A(:,1)); % n = size(A,1)
x = zeros(size(B));
% Definir los vectores S y L
S = max(abs(A), [], 2); % Vector de Escala
L = 1:n; LL = L; % Vector de indices

8
for k=1:n-1 % Eliminamos las variables x1 hasta x(n-1)
% Actualización del vector L
R = abs(A(L(k:n),k)./S(L(k:n))); % Vector R = A(L(i),k)/S(L(i));
[r, rr]= max(R); rr=rr+k-1; % Máximo de R
LL(k) = L(rr); LL(rr) = L(k); L = LL; %Reordenamos L
for i=k+1:n % Elimnar la variable xk, de las ecuaciones
% L(k+1) hasta L(n)
factor = A(L(i),k)/A(L(k),k); % Para cada fila, un factor
% Fi <= Fi - factor*Fk
A(L(i),:) = A(L(i),:) - factor.*A(L(k),:);
B(L(i)) = B(L(i))-factor*B(L(k)); % Término independiente
end
L, A, B
A(L,:)
end

L = 1×3
1 2 3
A = 3×3
4.0000 -2.0000 1.0000
0 0 -0.5000
0 2.0000 6.5000
B = 3×1
2
0
1
ans = 3×3
4.0000 -2.0000 1.0000
0 0 -0.5000
0 2.0000 6.5000
L = 1×3
1 3 2
A = 3×3
4.0000 -2.0000 1.0000
0 0 -0.5000
0 2.0000 6.5000
B = 3×1
2
0
1
ans = 3×3
4.0000 -2.0000 1.0000
0 2.0000 6.5000
0 0 -0.5000

Ejercicio 5. Dado el siguiente sistema de ecuaciones, resuelva , y utilizando el método de eliminación


de Gauss-Jordan.

de la forma :

9
% Método de eliminación gaussiana%
clc, clear, close
A=[2 -2 2; 4 2 -1; 2 -2 4];
B=[0;-7;2];
n=length(A(:,1));%longitud A,todas las filas de la primera columna
x= zeros(size(B));

% algoritmo de eliminación

for k=1:n-1 % eliminación de variables: desde x1 - x(n-1)


for i=k+1:n %elininación x(k)-->x(k+1) hasta x(n)
factor=A(i,k)/A(k,k);%para cada fla un factor
for j=k:n
A(i,j)=A(i,j)-factor*A(k,j)% cada elemento se actualiza

end
B(i)=B(i)-factor*B(k)%término independiente
end
A,B
end

A = 3×3
2 -2 2
0 2 -1
2 -2 4
A = 3×3
2 -2 2
0 6 -1
2 -2 4
A = 3×3
2 -2 2
0 6 -5
2 -2 4
B = 3×1
0
-7
2
A = 3×3
2 -2 2
0 6 -5
0 -2 4
A = 3×3
2 -2 2
0 6 -5
0 0 4
A = 3×3
2 -2 2
0 6 -5
0 0 2
B = 3×1

10
0
-7
2
A = 3×3
2 -2 2
0 6 -5
0 0 2
B = 3×1
0
-7
2
A = 3×3
2 -2 2
0 6 -5
0 0 2
A = 3×3
2 -2 2
0 6 -5
0 0 2
B = 3×1
0
-7
2
A = 3×3
2 -2 2
0 6 -5
0 0 2
B = 3×1
0
-7
2

CONCLUSIONES:

• Cuando se quieren resolver sistemas de ecuaciones lineales grandes no es práctico resolverlo por
cramer,por el contrario el método de eliminación gaussiana permite solucionarlo para estos casos y
para otros más simples. Aunque en los ejercicios desarrollados no se presentan sistemas muy grandes ,
es una alterntiva eficaz para resolverlo.
• El método de eliminación gaussiana por eliminación fue el usado para resolver la mayoría de los
ejercicios y es el más común, el resultado son matrices de forma triangular superior tras realizar
operaciones elementales de fila como: sumar un múltiplo de una fila a otra o multiplicar una fila por una
constante diferente de cero.
• Los sistemas de ecuaciones planteados en este taller tienen única solución, puesto que su matriz
reducida no presenta una o más filas completas de ceros.
• El método de eliminación gaussiana presenta errores serios de cálculo cuándo el pivote es cero o
muy pequeño y esto se resuelve usando el pivoteo escalado parcial, como es el caso de la solución
del ejercicio 3, literal a y b, donde contiene pivotes muy pequeños y por esto se resuelve por pivoteo
escalado parcial.
• Además con problemas con N muy grande el método de eliminación gaussiana con pivoteo escalado
parcial es más practico puesto que usa vectores de índice (S, L) que facilitan intercambiar un solo

11
elemento índice en comparación con el intercambio de los valores de una fila completa usado en el de
eliminación gaussiana.
• Los errores de calculo para cualquiera de estos importantes métodos se vuelven no solo eficaces sino
además eficientes usando una herramienta de codificación que permite obtener la solución correcta en
el menor tiempo posible.

12

También podría gustarte