Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
EVALUACIÓN SEMANA N° 4
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)
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