Вы находитесь на странице: 1из 12

UNIVERSIDAD SANTO TOMS FACULTAD DE INGENIERA MECNICA MTODOS NUMRICOS

MTODOS INDIRECTOS Y DIRECTOS Por: Edinson Ferley Guilln Cruz 2091277 Para el desarrollo de problemas en ingeniera, utilizamos los diferentes tipos de clculos que existen solucionando el problema fcilmente, pero en ocasiones aparecen problemas que para su solucin son necesarios aplicar mtodos numricos para conocer una respuesta precisa y aproximada a un valor real. En este caso se utiliza el mtodo de matriz inversa, eliminacin Gaussiana simple, factorizacin LU, y por regla de Cramer, para conocer las races de una funcin de la forma ms precisa y exacta posible. EJERCICIO 1 Solucione los siguientes sistemas de ecuaciones lineales empleando los mtodos de eliminacin de Gaussiana simple, factorizacin LU, matriz inversa y por la regla de Cramer. a.

Matriz inversa: Para solucionar el sistema de ecuaciones por el mtodo de matriz inversa se reescriben las ecuaciones de forma matricial quedando de la siguiente forma:

Luego se introduce la matriz A y el vector B en el siguiente cdigo de MATLAB para encontrar x1, x2 y x3:

%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio1_a_matriz_inversa() disp(' Metodo de Matriz Inversa ') A=[-5 1.4 -2.7;0.7 -2.5 15; 3.3 -11 4.4]; B=[94.2;-6;-27.5]; InvA=A^-1; x=InvA*B

Al ejecutar el programa nos da los siguientes valores:

Donde muestra los resultados de x1, x2 y x3. Eliminacin Gaussiana simple: Al igual que en mtodo de matriz inversa se necesitan las ecuaciones de forma matricial para poder hacer uso del mtodo de eliminacin gaussiana simple, el cual se desarrolla por el siguiente cdigo:
%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio1_a_metodo_eliminacion_de_gauss() disp(' Metodo de eliminacion de Gauss ') A=[-5 1.4 -2.7;0.7 -2.5 15; 3.3 -11 4.4]; B=[94.2;-6;-27.5]; x=A\B

Al ejecutar el programa nos genera los siguientes valores:

Donde muestra los resultados de x1, x2 y x3. Factorizacin LU: Al igual que en mtodo de matriz inversa y eliminacin de gauss se necesitan las ecuaciones de forma matricial para poder hacer uso del mtodo factorizacin LU, el cual se desarrolla por el siguiente cdigo:
%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio1_a_metodo_factorizacion_LU() disp(' Metodo de Factorizacion LU ') A=[-5 1.4 -2.7;0.7 -2.5 15; 3.3 -11 4.4]; B=[94.2;-6;-27.5]; [L,U]=lu(A); y=L\B; x=U\y

Al ejecutar el programa nos genera los siguientes valores

Donde muestra los resultados de x1, x2 y x3.

Regla de Cramer: Para desarrollar el ejercicio por la regla de Cramer se desarroll un cdigo en el que el usuario ingresa los datos de la matriz y el vector, teniendo obligatoriamente que la matriz sea cuadrada e ingresando los valores segn los pida el programa. A continuacin se describe el cdigo que se usa para cualquier solucionar cualquier sistema de ecuaciones lineales:
%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio_cramer() disp(' Metodo de Cramer ') disp('Recuerde que las matrices que vamos a trabajar deben ser cuadradas') %------------------------------------Matriz de coeficientes---------------n=input('Digite el nmero de filas(columnas): '); fprintf('El sistema es %d por %d',n,n) %Sistema con el que vamos a operar disp(' ') for f=1:n %conteo para las filas desde la primer fila hasta la n-esima fila que escogio el usuario for c=1:n %conteo para las columnas desde la primer columna hasta la n-esima columna que escogio el usuario fprintf('Escriba el valor para la Fila %d Columna %d = ',f,c); M(f,c)=input('\'); end end fprintf('Esta es la matriz \n'); disp(M) %-----------------------------------independientes ---------------Matriz de coeficientes

fprintf('El sistema es %d por 1',n) %Sistema con en este caso es una sola columna pero con n filas disp(' ') for f=1:n %conteo la primer fila hasta la n-esima fila que escogio el fprintf('Escriba el valor para la Fila %d Columna V(f,1)=input('\'); end fprintf('Esta es la matriz \n'); disp(V) %*********************SOLUCIN MEDIANTE LA REGLA DE CRAMER***************************** disp(' 4. Solucin mediante regla de Cramer')

el que vamos a operar para las filas desde usuario 1 = ',f);

for t=1:n %variacion de las columnas P=M; %Colocamos P que e sigual a M debido a que ste va a ser modificado en sus columnas P(:,t)=V %variacion de la matriz en sus columnas respecto a t %el smbolo:, significa el cambia respecto a V de toda la %columna correspondiente. X(t)=det(P)/det(M) disp(sprintf('El valor de x(%d) = %.4f',t,X(t))) end end

Al ejecutar el programa se nos indica los valores a introducir como se ve en la imagen:

Luego el programa nos indica que los valores son: X1= -19.7788 X2= -3.4548 X3= -0.0528 Se puede observar que por todos los mtodos los cuales se desarrollaron las ecuaciones llegaron al mismo resultado, siendo unos mtodos ms largos que otros. c.

Matriz inversa: Para solucionar el sistema de ecuaciones por el mtodo de matriz inversa se reescriben las ecuaciones de forma matricial quedando de la siguiente forma:

Luego se introduce la matriz A y el vector B en el siguiente cdigo de MATLAB para encontrar x1, x2 y x3:
%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio1_c_matriz_inversa() disp(' Metodo de Matriz inversa ') A=[1 0 -3 0 5;0 2 -1 4 0;2 2 0 0 -5;0 0 -1 2 -1;1 1 0 0 0]; B=[17;17;21;0;3]; InvA=A^-1; x=InvA*B

Al ejecutar el programa nos da los siguientes valores:

Donde muestra los resultados de x1, x2, x3, x4 y x5. Eliminacin Gaussiana simple: Al igual que en mtodo de matriz inversa se necesitan las ecuaciones de forma matricial para poder hacer uso del mtodo de eliminacin gaussiana simple, el cual se desarrolla por el siguiente cdigo:

%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio1_c_metodo_eliminacion_de_gauss() disp(' Metodo de eliminacion de Gauss ') A=[1 0 -3 0 5;0 2 -1 4 0;2 2 0 0 -5;0 0 -1 2 -1;1 1 0 0 0]; B=[17;17;21;0;3]; x=A\B

Al ejecutar el programa nos genera los siguientes valores:

Donde muestra los resultados de x1, x2, x3, x4 y x5. Factorizacin LU: Al igual que en mtodo de matriz inversa y eliminacin de gauss se necesitan las ecuaciones de forma matricial para poder hacer uso del mtodo factorizacin LU, el cual se desarrolla por el siguiente cdigo:
%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio1_c_metodo_factorizacion_LU() disp(' Metodo de Factorizacion LU ') A=[1 0 -3 0 5;0 2 -1 4 0;2 2 0 0 -5;0 0 -1 2 -1;1 1 0 0 0]; B=[17;17;21;0;3]; [L,U]=lu(A); y=L\B; x=U\y

Al ejecutar el programa nos genera los siguientes valores:

Donde muestra los resultados de x1, x2, x3, x4 y x5. Regla de Cramer: Para desarrollar el ejercicio por la regla de Cramer se desarroll un cdigo en el que el usuario ingresa los datos de la matriz y el vector, teniendo obligatoriamente que la matriz sea cuadrada e ingresando los valores segn los pida el programa. A continuacin se describe el cdigo que se usa para cualquier solucionar cualquier sistema de ecuaciones lineales:
%Universidad Santo Toms %Facultad de Ingeniera Mecnica %Mtodos Numricos %Edinson Guilln %Sistemas de ecuaciones lineales por metodos directos e indirectos %-----------------------------------------------------------------------function ejercicio_cramer() disp(' Metodo de Cramer ') disp('Recuerde que las matrices que vamos a trabajar deben ser cuadradas') %------------------------------------Matriz de coeficientes---------------n=input('Digite el nmero de filas(columnas): '); fprintf('El sistema es %d por %d',n,n) %Sistema con el que vamos a operar disp(' ') for f=1:n %conteo para las filas desde la primer fila hasta la n-esima fila que escogio el usuario for c=1:n %conteo para las columnas desde la primer columna hasta la n-esima columna que escogio el usuario fprintf('Escriba el valor para la Fila %d Columna %d = ',f,c); M(f,c)=input('\'); end end

fprintf('Esta es la matriz \n'); disp(M) %-----------------------------------independientes ---------------Matriz de coeficientes

fprintf('El sistema es %d por 1',n) %Sistema con en este caso es una sola columna pero con n filas disp(' ') for f=1:n %conteo la primer fila hasta la n-esima fila que escogio el fprintf('Escriba el valor para la Fila %d Columna V(f,1)=input('\'); end fprintf('Esta es la matriz \n'); disp(V) %*********************SOLUCIN MEDIANTE LA REGLA DE CRAMER***************************** disp(' 4. Solucin mediante regla de Cramer')

el que vamos a operar para las filas desde usuario 1 = ',f);

for t=1:n %variacion de las columnas P=M; %Colocamos P que e sigual a M debido a que ste va a ser modificado en sus columnas P(:,t)=V %variacion de la matriz en sus columnas respecto a t %el smbolo:, significa el cambia respecto a V de toda la %columna correspondiente. X(t)=det(P)/det(M) disp(sprintf('El valor de x(%d) = %.4f',t,X(t))) end end

Al ejecutar el programa se nos indica los valores a introducir como se ve en la imagen:

Luego el programa nos indica que los valores son: X1= -16.6000 X2= 19.6000 X3= 16.2000 X4= -9.6000 X5= -3.0000 Se puede observar que por todos los mtodos los cuales se desarrollaron las ecuaciones llegaron al mismo resultado, siendo unos mtodos ms largos que otros.

Вам также может понравиться