Está en la página 1de 20

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE INGENIERIA QUIMICA


ESCUELA DE INGENIERIA QUIMICA

CURSO : METODOS NUMERICOS

PROFESOR : ING. GUILLERMO EVANGELISTA BENITES

INTEGRANTES : CARRANZA CALDERON, MIGUEL

MORENO SANCHEZ, FRANK

REYES PELAEZ, EDUARDO

ROBLES SALVATIERRA, ELVIS

RUIZ SANTOS, HUMBERTO

TEMA : SOLUCIÓN DE MATRICES

FECHA : 16/09/2014

TRUJILLO – PERU
Introducción.-
A continuación presentaremos la solución de los problemas del libro de Antonio
Nieves Métodos numéricos aplicados a la ingeniería. Página 281, capitulo 3
ejercicios 3.33 y 3.34 por diferentes métodos iterativos.

PROBLEMA- 3.33 método eliminación de gauss


Calcule la composición del benceno en cada plato de la columna de absorción
del ejercidos, 3.1, si se modifica Cao a 0.2 de fracción molar. Use las
consideraciones del mismo ejercicio.

SOLUCION:

Código en Matlab del p-3.33 usando eliminacion de gauss


%programa del problema propuesto 3.33
%del libro de Antonio Nieves Métodos numéricos
%aplicados a la ingeniería. Página 281
%resuelto por el método de eliminación de Gauss
clear all
clc
format long
disp('Metodo de eliminacion de Gauss');
f1=input('ingrese el número de filas de la matriz : ');
c1=input('ingrese el número de columnas de la matriz : ');
for i=1:f1
for j=1:c1
fprintf('A(%d,%d):',i,j);
A(i,j)=input('');
end
end

fi1=input('ingrese el número de filas de la matriz : ');


ci1=input('ingrese el número de columnas de la matriz : ');
for k=1:fi1
for l=1:ci1
fprintf('B(%d,%d):',k,l);
B(k,l)=input('');
end
end

fraccion1=(-A(2,1)/A(1,1));
fraccion2=(-A(3,1)/A(1,1));

for m=1:3
A(2,m)=(fraccion1*A(1,m))+ A(2,m);
A(3,m)=(fraccion2*A(1,m))+A(3,m);
end
B(1,2)=(fraccion1*B(1,1))+B(1,2);
B(1,3)=(fraccion2*B(1,1))+B(1,3);

fraccion3=(-A(3,2)/A(2,2));

for n=1:3
A(3,n)=(fraccion3*A(2,n))+A(3,n);
end
B(1,3)=(fraccion3*B(1,2))+B(1,3);
CA3=B(1,3)/A(3,3);
CA2=(B(1,2)-A(2,3))/A(2,2);
CA1=(B(1,1)-(A(1,2)*CA2)-(A(1,3)*CA3))/A(1,1);
disp('Las ecuaciones de eliminacion de Gaus es');
fprintf('La concentracion de BENCENO en el tanque 1 es: %4.2f mol/Litro
\n',CA1);
fprintf('La concentracion de BENCENO en el tanque 2 es: %8.2f mol/Litro
\n',CA2);
fprintf('La concentracion de BENCENO en el tanque 3 es: %8.2f mol/Litro
\n',CA3);

Problema -3.33 método gauss-seidel

Solución:

Código en Matlab método de gauss-seidel


%programa del problema propuesto 3.33
%del libro de Antonio Nieves_Métodos numéricos
%aplicados a la ingeniería. pagina 281
%resuelto por el método de Gauss-Seidel

clc, clear all


format long
disp('Metodo de Gauss - Seidel');
disp('Para un sistema de 5 ecuaciones con 5 incognitas');

%Lectura de las ecuaciones en matrices


A=[512 -12 0 0 0 0];
B=[500 -512 12 0 0 0];
C=[0 500 -512 12 0 0];
D=[0 0 500 -512 12 0];
E=[0 0 0 -500 512 9];

%Terminos para evaluar


x5=0;
x4=0;
x3=0;
x2=0;
x1=0;

%Despejar las ecuaciones y evaluar en x5 x4 x3 x2 x1


M=(-A(1,2)/A(1,1))*x4;
N=(B(1,1)/-B(1,2))*x5+(B(1,3)/-B(1,2))*x3;
O=(C(1,2)/-C(1,3))*x4+(C(1,4)/-C(1,3))*x2;
P=(D(1,3)/-D(1,4))*x3+(D(1,5)/-D(1,4))*x1;
Q=(E(1,6)/E(1,5))+(-E(1,4)/E(1,5))*x2;

error=5
i=1;

while error>5
x5=M;
x4=N;
x3=O;
x2=P;
x1=Q;
M=(-A(1,2)/A(1,1))*x4;
N=(B(1,1)/-B(1,2))*x5+(B(1,3)/-B(1,2))*x3;
O=(C(1,2)/-C(1,3))*x4+(C(1,4)/-C(1,3))*x2;
P=(D(1,3)/-D(1,4))*x3+(D(1,5)/-D(1,4))*x1;
Q=(E(1,6)/E(1,5))+(-E(1,4)/E(1,5))*x2;
ex5=M-x5;
ex4=N-x4;
ex3=O-x3;
ex2=P-x2;
ex1=Q-x1;
i=i+1;
error1=abs(ex5);
error5=abs(ex1);
if error1>error5
error=error1
x5=M;
x4=N;
x3=O;
x2=P;
x1=Q;
i=i+1;

else
error=error5
x5=M;
x4=N;
x3=O;
x2=P;
x1=Q;
i=i+1;
end
end
fprintf('El resultado de M=\n %.2f\n\n',M);
fprintf('El resultado de N=\n %.2f\n\n',N);
fprintf('El resultado de O=\n %.2f\n\n',O);
fprintf('El resultado de P=\n %.2f\n\n',P);
fprintf('El resultado de Q=\n %.2f\n\n',Q);

problema -3.33 método jacobi

Solución:
Código en matlab metodo jacobi

%programa del problema propuesto 3.33


%del libro de Antonio Nieves_Métodos numéricos
%aplicados a la ingeniería. pagina 281
%resuelto por el método de Jacobi

%512x5-12x4=0
%500x5-512x4+12x3=0
%500x4-512x3+12x2=0
%500x3-512x2+12x1=0
%512x1-500x2=0
clc,clear all
format long
syms x5 x4 x3 x2 x1
f=512*x5-12*x4;
g=500*x5-512*x4+12*x3;
h=500*x4-512*x3+12*x2;
k=500*x3-512*x2+12*x1;
l=512*x1-500*x2;

solve(f,x5);
solve(g,x4);
solve(h,x3);
solve(k,x2);
solve(l,x1);

%intervalo de comienzo (1,2)


x5=1;%(12/512)*x4
x4=1.25;%(-12/512)*x3-(500/512)*x5
x3=1.5;%(500/512)*x4+(12/512)*x2
x2=1.75;%(-500/-512)*x3-(12/-512)*x1
x1=2;%(9/512)+(500/512)*x2

error=1;
i=1;

while error>0.01
iteracion=i
a=(12/512)*x4
b=(-12/512)*x3-(500/512)*x5
c=(500/512)*x4+(12/512)*x4
d=(-500/-512)*x3-(12/-512)*x1
z=(9/512)+(500/512)*x2

%errores
e1=x5-a;
e2=x4-b;
e3=x3-c;
e4=x2-d;
e5=x1-z;

%solo se usa dos "e", se halla el valor absoluto


%de cada uno para tener los "errores"
error1=abs(e1);
error5=abs(e5);

if error1>error5
error=error1;
x5=a;
x4=b;
x3=c;
x2=d;
x1=z;
i=i+1;

else
error=error5;
x5=a;
x4=b;
x3=c;
x2=d;
x1=z;
i=i+1;
end
end
Problema -3.34 metodo eliminacion de gauss

Las reacciones químicas pueden escribirse como


𝑛

∑ 𝑋𝑖 𝐶𝑖 = 0
𝑖=1

Dónde: Xi es el coeficiente estequiometrico del compuesto i, y Ci l compuesto i.


Por ejemplo, CH4 + 2O 2 - CO2 + 2H2O
Puede escribirse como
CO2 + 2H2O – CH4 – 2O 2 = 0
Dado que los átomos se conservan en una relación química, la ecuación de
conservación del elemento (k) es

∑ 𝑋𝑖 𝑀𝑖, 𝑘 = 0; 𝑘 = 1,2, … . . , 𝑀
𝑖=1

Donde Mi,k es el numero del elemento k en l compuesto i.


Esta ultima expresión representa un conjunto de ecuaciones lineales, donde Xi
son las incógnitas. Lo anterior se conoce como el método algebraico de
balance de ecuaciones químicas.
Utilice este método para balancear la ecuación
Fe (CrO2)2 + O 2 +Na2CO3 ------ Fe2 + O3 + Na2CrO4 + CO2

Solución:

Este ejercicio no tiene solución por ninguno de los métodos en los que nos pide
ya que el requisito fundamental para que el ejercicio corra en el programa
Matlab es que en la matriz principal (matriz de coeficiente) los valores tienen
que ser diferentes de cero otra opción para dar solución es intercambiando las
columnas pero ni aun así corre el programa( hay divisiones entre cero y nos da
un resultado incorrecto), son métodos interativos que ejecutan divisiones por
cada elemento de la diagonal de la matriz de coeficiente.
Con el método que tiene solución este problema es el METODO DE
ELIMINACION DE GAUSS
A=[1 0 0 -2 0; 2 0 0 0 -1;4 2 3 -3 -4;0 0 2 0 -2;0 0 1 0 0]
B=[0 0 2 0 1]’
Código Matlab método eliminación de gauss

% METODO DE ELIMINACIÓN DE GAUSS


%
%Las rxns quimicas pueden escribirse como:
% Nieves, 4ta Ed. Pág. 334 - Ejercicio número 3.34.
%donde xi esw el coefcieinte estequiométrico del
compuesto (i)
% y Ci es el compuesto (i), por ejemplo:
% CH4 + 2o2 ----> CO2 + 2H2O
% puede escribirse como:
% CO2 + 2H2O -CH4 - 2O2
% dado que los átomos se conservan en ubna rxn
quimica, la ecuación
% de conservación del elemento (k) es:
% donde mi,k es el número de átomos del elemennto
(K) en el
% compuesto (i).
% Esta última expresión representa un conjunto de
ecuaciones lineales
% donde xi son las incógnitas. Lo anterior
% se conoce como método algebráico de balanceo de
ecuaciones quimicas.
% Utilice este método para balancear la ecuación
quimica:
% Fe(CrO2)2 + O2 + Na2CO3 ---> Fe2O3 + Na2CrO4 +
CO2
%===================================================
===============
% Nieves (207) es necesario que todos los elementos
de la diagonal
% principal de A, sean diferentes de CERO"
%
====================================================
=============
%
clc;clear;
A=[1 0 0 -2 0;2 0 0 0 -1;4 2 3 -3 -4;0 0 2 0 -2;0 0
1 0 0];
b=[0 0 2 0 1]';
disp(' RESULTADOS')
disp('============')
disp(' ')
C=A\b
Problema -3.34 metodo de jacobi

Solucion:
Código en matlab del metodo de jacobi

% METODO DE JACOBI
% Las rxns quimicas pueden escribirse como:
% Nieves, 4ta Ed. Pág. 334 - Ejercicio número 3.34.
%donde xi esw el coefcieinte estequiométrico del compuesto (i)
% y Ci es el compuesto (i), por ejemplo:
% CH4 + 2o2 ----> CO2 + 2H2O
% puede escribirse como:
% CO2 + 2H2O -CH4 - 2O2
% dado que los átomos se conservan en ubna rxn quimica, la
ecuación
% de conservación del elemento (k) es:
% donde mi,k es el número de átomos del elemennto (K) en el
% compuesto (i).
% Esta última expresión representa un conjunto de ecuaciones
lineales
% donde xi son las incógnitas. Lo anterior
% se conoce como método algebráico de balanceo de ecuaciones
quimicas.
% Utilice este método para balancear la ecuación quimica:
% Fe(CrO2)2 + O2 + Na2CO3 ---> Fe2O3 + Na2CrO4 + CO2
%====================================================
==============
%Nieves (207) es necesario que todos los elementos de la diagonal
% principal de A, sean diferentes de CERO"
%
=====================================================
============
clc;
clear;
%A=[4 -1 0 0; -1 4 -1 0; 0 -1 4 -1; 0 0 -1 4];
%b=[1 1 1 1];
%
=====================================================
===============
% (1) ECUACIONES RESULTANTES PARA EL BALANCEO DE LA
ECUACION-NIEVES( )
%
=====================================================
================
%A=[1 0 0 -2 0;2 0 0 0 -1;4 2 3 -3 -4;0 0 2 0 -2;0 0 1 0 0];
%b=[0 0 2 0 1];%términos independientes
%
=====================================================
==============
% (2) CASO ABSORBEDOR: EJERCICIO 3.35 NIEVES 2DA EDIC
PAG.248
%
=====================================================
==============
A=[-512 12 0 0 0;500 -512 12 0 0;0 500 -512 12 0;0 0 500 -512 12; 0
...
0 0 -500 512];
b=[0 0 0 0 9]; % términos independientes
%
=====================================================
===============
x0= zeros(1,5);
k=0; norma=1;
fprintf(' k x(1) x(2) x(3) x(4) x(5) norma\n')
while norma > 1e-4
k=k+1;
fprintf ('%2d',k)
for i=1:5
suma=0;
for j=1:5
if i~=j
suma =suma+A(i,j)*x0(j);
end
end
x(i)=(b(i)-suma)/A(i,i);
fprintf(' %2.4e', x(i))
end
norma=norm(x0-x);
fprintf(' %2.4e\n',norma)
x0=x;
if k>25
disp('No se alcanzó la convergencia')
break
end
end

También podría gustarte