Sei sulla pagina 1di 3

Universidad Nacional Mayor de San Marcos

Universidad del Perú. Decana de América


FACULTAD DE QUÍMICA E INGENIERÍA QUÍMICA
ESCUELA PROFESIONAL DE INGENIERÍA QUÍMICA
DEPARTAMENTO DE ANÁLISIS Y DISEÑO DE PROCESOS

EVALUACIÓN SEMANA N° 4

Responda de manera concreta las siguientes preguntas:


(a) ¿Qué se debe comprobar en una matriz si se desea aplicar el método de
Gauss Seidel?
Para poder aplicar el Método de Gauss Seidel , se deben considerar 3 cosas:
la primera es que la diagonal de la matriz sea dominante, esto que quiere
decir que los valores absolutos de los valores son mayores tanto en la fila y
columna a la que pertenecen, segundo la matriz debe ser simétrica y
finalmente la matriz debe ser definida positiva, es decir el valor de su
determinante debe ser positiva.
(b) En la parte de existencia y unicidad de soluciones de sistemas de ecuaciones
lineales, ¿cómo debe estar expresado el modelo para que la solución sea
consistente y qué tipo de solución pueden presentar?
Para que el modelo presente una solución consistente, los rangos deben ser
iguales, en caso sean diferentes estaríamos frente a un problema sin
solución, ahora si evaluamos el rango respecto al orden del modelo,
obtenemos dos casos diferentes, en caso se presente una igualdad entre
ambos , estaríamos frente a una solución única, pero si el rango es menor al
orden, las soluciones serían infinitas.
(c) Si se cuenta con un conjunto de dos ecuaciones algebraicas lineales
simultáneas, es posible encontrar la solución gráfica
Sí, es posible , pero va a depender del acondicionamiento de las ecuaciones,
es decir si son compatibles determinadas , mediante una gráfica será fácil
hallar su punto de intersección y por tanto , la solución y el valor de las
variables, en cambio si son compatibles pero indeterminadas, mediante una
gráfica será imposible determinar la solución pues presenta infinitas posibles,
finalmente si nos encontramos ante unas ecuaciones incompatibles, al
momento de interpretarlas gráficamente , nos daremos cuenta que no
disponen de puntos comunes , por tanto no presentan solución.

Cada respuesta es de 2.5 puntos.


Desarrolle el siguiente Sistema de Ecuaciones Lineales

(a) Utilice el método de Gauss-Seidel, que converge para cualquier x0 inicial


- x1 + 3 x2 + 5 x3 + 2 x4 = 10
x1 + 9 x2 + 8 x3 + 4 x4 = 15
x2 + + x4 = 2
2 x1 + x2 + x3 - x4 = -3

Hoja anexada
(b) En el siguiente sistema de ecuaciones se diseña para determinar concentraciones (c están en g/m3)
en una serie de reactores acopiados como una función de la cantidad de masa de entrada a cada uno de
los reactores (el lado derecho está en g/dm3).

- 5 c1 - 5 c2 + 22 c3 = 30
17 c1 - 2 c2 - 3 c3 = 500
- 5 c1 + 21 c2 - 2 c3 = 200

Considere una cifra significativa en el resultado final. Aplique el método de Gauss Jordán
Hoja anexada

( c) Presente el programa respectivo para cualquiera de los dos métodos muestre el error aproximado.
Programa que resuelve el problema de Gauss Jordan:
function gaussjordan()
n=input('Ingrese el número de ecuaciones a analizar: ');
M=zeros(n,n);
Y=zeros(n,1);
X=Y
disp('Ingrese coeficientes de la matriz: ');
for i=1:n
for j=1:n
printf('Ingrese un valor para M(%d,%d):',i,j)
A(i,j)=input(' ');
end
end
disp(M);
disp('Lectura de vector columna');
for j=1:n
printf('Ingrese valores para Y(%d)',i)
Y(j)=input(' ');
end
//Matriz Ampliada
A=[M Y]
disp(A)

//Eliminacion hacia adelante


for j=1:n-1
for i=j+1:n
A(i,:)=A(i,:)+A(j,:)*(-A(i,j)/A(j,j));
end
end
disp(A)
//Sustitución hacia atrás
for i=n:-1:1
X(i)=A(i,n+1);
for j=i+1:n
X(i)=X(i)-X(j)*A(i,j);
end
X(i)=X(i)/A(i,i);
end
disp('El valor de las incognitas es :',X);
endfunction

problema gauss- siedel

function gausssiedel()
disp('Método de Gauss-Siedel');
disp('Sistema de 3 ecuaciones con 3 incógnitas');
//Lectura de las ecuaciones
A=input('Ingrese matriz de la primera ecuación: ');
B=input('Ingrese matriz de la segunda ecuación: ');
C=input('Ingrese matriz de la tercera ecuación: ');
D=input('Ingrese matriz de la tercera ecuación: ');
//Ingresamos primeras estimaciones y la tolerancia
Y=input('Ingrese primera estimación para Y: ');
Z=input('Ingrese primera estimación para Z: ');
F=input('Ingrese primera estimación para Z: ');
tol=input('Ingrese la tolerancia: ');
X1=(A(1,5)-A(1,2)*Y-A(1,3)*Z-A(1,4)*F)/A(1,1);
Y1=(B(1,5)-B(1,1)*X1-B(1,3)*Z-B(1,4)*F/B(1,2);
Z1=(C(1,5)-C(1,1)*X1-C(1,2)*Y1-C(1,4)*F/C(1,3);
F1=(D(1,5)-D(1,1)*X1-D(1,2)*Y1-D(1,3)*Z1/D(1,4);
eaX=100;
eaY=100;
eaZ=100;
eaF=100;
i=1;
while (eaX>tol & eaY>tol & eaZ>tol & eaF>tol)
X=X1;
Y=Y1;
Z=Z1;
F=F1;
X1=(A(1,5)-A(1,2)*Y-A(1,3)*Z-A(1,4)*F)/A(1,1);
Y1=(B(1,5)-B(1,1)*X1-B(1,3)*Z-B(1,4)*F/B(1,2);
Z1=(C(1,5)-C(1,1)*X1-C(1,2)*Y1-C(1,4)*F/C(1,3);
F1=(D(1,5)-D(1,1)*X1-D(1,2)*Y1-D(1,3)*Z1/D(1,4);
eaX=abs((X1-X)/X1)*100;
eaY=abs((Y1-Y)/Y1)*100;
eaZ=abs((Z1-Z)/Z1)*100;
eaF=abs((F1-F)/F1)*100;
i=i+1;
end
printf('\n El valor de X1 es %f con un error de %f después de %1.0f iteraciones',X1,eaX,i);
printf('\n El valor de Y1 es %f con un error de %f después de %1.0f iteraciones',Y1,eaY,i);
printf('\n El valor de Z1 es %f con un error de %f después de %1.0f iteraciones',Z1,eaZ,i);
printf('\n El valor de F1 es %f con un error de %f después de %1.0f iteraciones',F1,eaF,i);
endfunction

Puntos: (a) : 5.5 (b) : 4,0 (c ) : 3.0

Profesora del curso.

Potrebbero piacerti anche