A) Método de Gauss-Jordán Sin Pivoteo Parcial.: Ejercicio 4
A) Método de Gauss-Jordán Sin Pivoteo Parcial.: Ejercicio 4
A) Método de Gauss-Jordán Sin Pivoteo Parcial.: Ejercicio 4
1 1 −1 −3
( 6 2 2
−3 4 1
4
1 )
1 1 −1 −3 1 1 −1 −3
( 6 2 2
−3 4 1 1 )
4 → F2 −6 F 1 0 −4 8 22
−3 4 1 1( )
1 1 −1 −3 1 1 −1 −3
(−3 4 1 1 )
0 −4 8 22 cambiamos de fila −3 4 1
0 −4 8 22
1
( )
1 1 −1 −3 1 1 −1 −3
(−3 4 1
0 −4 8 22 )
1 → F 2+3 F 1 0 7 −2 −8
0 −4 8 22 ( )
1 1 −1 −3 F2∗1 1 1 −1 −3
( 0 7 −2 −8 →
0 −4 8 22
7 ) (
0 1 −0.28571429 −1.14285714
0 −4 8 22 )
1 1 −1 −3 1 1 −1 −3
( 0 1 −0.28571429 −1.14285714
0 −4 8 22
→ F 3 +4∗F 2 0
) (
1 −0.28571429 −1.14285714
0 0 6.85714286 17.42855714 )
1 1 −1 −3 F3∗1 1 1 −1 −3
( 0 1 −0.28571429 −1.14285714 →
0 0 6.85714286 17.42855714 )
6.85714286 (
0 1 −0.28571429 −1.14285714
0 0 1 17.42855714 )
1 1 −1 −3
( 0 1 −0.28571429 −1.14285714
0 0 1 17.42855714 )
Códigos y prueba
Ejercicio 4
//Declara la matriz cuadrada de coeficientes como A
//Declara el vector columna de constantes como b
//Generar matriz aumentada y desplegar
A=[1,1,-1;6,2,2;-3,4,1];
b=[-3;4;1];
AUM = [A b]
X = AUM
[rX cX] = size(X)
//Eliminación hacia adelante
for p = 1 : 1 : rX-1 //Fila del pivote
pivote = X(p,p);
for i = p + 1 : 1 : rX //Fila a procesar
prim_fila = X(i,p)
X(i,:) = X(i,:) - (X(p, :)/pivote)*prim_fila
end
end
x(rX) = X(rX, cX)/X(rX, cX - 1)
for i = rX : -1 : 1
s=0
for j = i + 1 : rX
s = s + X(i, j) * x(j)
end
x(i) =( X(i,cX) - s ) / X(i,i)
end
disp (X)
disp(x)
Ejercicio 5
function ejercicio5()
resp='s'
A=input('Ingrese la matriz de los coeficientes: ');
B=input('Ingrese la matriz 3x1 de los términos independientes: ');
printf('a) Determine la matriz inversa\n');
printf('b) Usar la inversa para encontrar la solución\n');
printf('c) Incremento de la tasa de masa de entrada en el reactor 3\n');//concentración de R1
aumenta en 10
printf('d) Reducción de la concentración del reactor 3\n');//disminuye 500 el R1 y 200 el R2
while resp=='s'|'S'
opc=input('Seleccione una opcion: ','s');
switch opc
case 'a'
Inversa=inv(A)
printf('La matriz inversa es: ');
disp(Inversa);
case 'b'
x=inv(A)*B;
printf('El vector solución es: ');
disp(x);
case 'c'
f=A(1:2,2:3);//tomando las primeras dos ecuaciones
g=input('Ingrese la matriz 2x1 de los términos independientes: ');
z=inv(f)*g;
disp(z);
f=-4*330.20725-z(1,1)+12*z(2,1)
I=f-B(3,1)
printf('El incremento de la tasa de masa del reactor 3 es: %.3f',I)
case 'd'
f=A
g=input('Ingrese la matriz 3x1 de los términos independientes: ');//
z=inv(f)*g;
disp(z);
f=z(3,1)
x=inv(A)*B
I=f-x(3,1)
printf('La variación de la concentración del reactor 3 es: %.3f',I)
end
resp=input('Si desea repetir, ingrese s o S: ','s')
end
endfunction
//[15,-3,-1;-3,18,-6;-4,-1,12] [3800;1200;2350] [3300;950;2350]
Ejercicio 4
Ejercicio 5
Determine la matriz inversa
Use la inversa para encontrar la solución.
Determine cuanto debe incrementarse la tasa de masa de entrada al reactor 3 para inducir un
aumento de 10g/m3 en la concentración del reactor 1
¿Cuánto se reduciría la concentración en el reactor 3 si la tasa de masa de entrada a los
reactores 1 y 2 se redujera en 500 y 250 g/día, respectivamente.