Métodos numéricos aplicados a Ingeniería. Héctor Jorquera González
Чтение книги онлайн.
Читать онлайн книгу Métodos numéricos aplicados a Ingeniería - Héctor Jorquera González страница 4
Es común utilizar modelos matemáticos para diseñar procesos; por ejemplo, para llevar resultados de escala laboratorio (donde muchos parámetros son controlados, como la temperatura) a escala de producción. En este último caso, se presentan situaciones más complejas, como la existencia de gradientes de temperatura, humedad, etcétera, y donde es necesario predecir primero el comportamiento del sistema antes de construirlo, a fin de optimizar su desempeño.
Es aquí donde se hace la distinción entre modelación y simulación. La modelación corresponde usualmente a construir un modelo matemático de una situación real y a mostrar que el modelo es capaz de reproducir adecuadamente el comportamiento observado del sistema. En contraste, la simulación corresponde a aplicar un modelo matemático ya existente a una situación nueva; por ejemplo, el pronóstico meteorológico para mañana, diseñar un intercambiador de calor dadas ciertas restricciones de operación, simular que ocurre si cambian las condiciones de un proceso, etcétera.
A medida que la tecnología nos permite medir las características de un proceso dado (temperatura, velocidad, etc.), cada vez con mayor detalle espacial y temporal (por ejemplo, nanomateriales), el manejo de dicha información conduce al planteamiento de modelos cuantitativos de creciente complejidad. La siguiente tabla propone una clasificación de problemas numéricos en ingeniería en base al grado de complejidad de ellos:
Tabla 2. Clasificación de problemas típicos de ingeniería según nivel de dificultad
En resumen, la modelación y simulación numérica seguirán siendo herramientas de gran ayuda en la resolución de nuevos problemas en el ámbito de la ingeniería. Es nuestra intención que este libro ayude a esos futuros profesionales a resolver dichos problemas, tanto clásicos como novedosos.
1.Sistemas de ecuaciones lineales |
1. SISTEMAS DE ECUACIONES LINEALES
La resolución numérica de sistemas de ecuaciones lineales se puede dividir en los siguientes dos métodos:
a) Método directo: Si el número de etapas para resolver las ecuaciones es finito. Por ejemplo, la resolución del sistema de ecuaciones lineales A · x = b cuando existe la inversa de la matriz A.
b) Método iterativo: Si se requiere infinitas etapas para resolver las ecuaciones en forma exacta. Por ejemplo, resolver un sistema de ecuaciones lineales mediante el método de Jacobi.
1.1 Métodos de solución directa
Un método directo es un algoritmo con un número finito y predefinido de pasos, al final de los cuales se obtiene la solución.
1.1.1 Eliminación de Gauss-Jordan
Este algoritmo consiste en producir una serie de transformaciones del sistema lineal original, hasta obtener un sistema triangular superior. Supongamos que nuestro punto de partida consiste en el sistema de ecuaciones lineales
Se genera una secuencia de operaciones hasta que se transforma el sistema original de ecuaciones a un sistema con matriz triangular superior U:
La solución de esta ecuación es la misma que la de la ecuación 1.1.
Para conseguir la estructura triangular superior se procede a eliminar los elementos bajo la diagonal principal, haciéndolos cero a través de operaciones (sumas y restas) con las filas de la matriz A. Al final del procesamiento se obtiene la siguiente estructura de matriz:
Esto genera el sistema de ecuaciones U · x = y, el cual se puede resolver por sustitución hacia atrás para obtener la solución x.
Ejemplo 1.1. Eliminación de Gauss-Jordan
Utilice Matlab® para realizar la eliminación de Gauss-Jordan del siguiente sistema de ecuaciones A · x = b,
Solución: Se hace el pivoteo de la matriz A en conjunto con el vector b, de manera de producir directamente el resultado mostrado en la ecuación 1.2; para esto se opera con una matriz aumentada M = [A b]. El siguiente macro de Matlab® resuelve el problema propuesto:
% este macro resuelve el Ejemplo 1.1
%% ingreso de la matriz y vector lado derecho
A=[2 1 -3; -1 3 2; 3 1 -3];
b=[-1 12 0]’;
x=zeros(size(b));
%% definición matriz aumentada M y eliminación Gauss-Jordan
M=[A b];
M(1,:)=M(1,:)/M(1,1); % se normaliza fila 1 con primer pivote
M(2,:)=M(2,:)-M(1,:)*M(2,1); % se genera un ‘0’ en posición (2,1)
M(3,:)=M(3,:)-M(1,:)*M(3,1); % se genera un ‘0’ en posición (3,1)
M(2,:)=M(2,:)/M(2,2); % se normaliza fila 2 con segundo pivote
M(3,:)=M(3,:)-M(2,:)*M(3,2); % se genera un ‘0’ en posición (3,2)
%% etapa de solución de la ecuación por sustitución hacia atrás
x(3)=M(3,4)/M(3,3);
x(2)=M(2,4)-M(2,3)*x(3);
x(1)=M(1,4)-M(1,3)*x(3)-M(1,2)*x(2);
%% verificación de la solución
r=A*x-b;
El resultado de aplicar este macro es:
Notas
1) El método como aquí se ha descrito (eliminación de Gauss-Jordan) falla si cualquiera de los pivotes (elementos de la diagonal de la matriz A) se hace cero o si es muy pequeño por causa de errores de redondeo; por ejemplo, resta de cantidades de similar magnitud.