60
Simulación de Procesos I y II R. H. Mascheroni S. A. Giner Introducción al Cálculo Numérico aplicado a Ingeniería Química Conceptos generales, resolución numérica de ecuaciones, integración aproximada, resolución de sistemas de ecuaciones lineales, ajuste de curvas por cuadrados mínimos 2009 1 1 , , , 1 i1 N n n n i i ij j ij j ii j 1 j i 1 x b a x a x a + + = =+ = 1 , , 1 N n n i i ij j ii j 1 j i x b a x a + = = Área Departamental Ingeniería Química Facultad de Ingeniería-UNLP

ICN_2009

  • Upload
    feder

  • View
    224

  • Download
    2

Embed Size (px)

DESCRIPTION

calculo iterativo de balances analiticos

Citation preview

Page 1: ICN_2009

Simulación de Procesos I y II

R. H. Mascheroni − S. A. Giner

Introducción al Cálculo Numérico aplicado a

Ingeniería QuímicaConceptos generales, resolución numérica de ecuaciones, integración aproximada,

resolución de sistemas de ecuaciones lineales, ajuste de curvas por cuadrados

mínimos

2009

1 1, ,

,

1 i 1 Nn n ni i i j j i j j

i i j 1 j i 1

x b a x a xa

−+ +

= = +

⎛ ⎞⎜ ⎟= − −⎜ ⎟⎝ ⎠∑ ∑

1,

,

1 Nn ni i i j j

i i j 1j i

x b a xa

+

=≠

⎛ ⎞⎜ ⎟

= −⎜ ⎟⎜ ⎟⎝ ⎠∑

Área Departamental Ingeniería Química

Facultad de Ingeniería-UNLP

Page 2: ICN_2009

1. BREVE INTRODUCCIÓN AL CÁLCULO NUMÉRICO 21.1. Presentación del tema 21.2. Definiciones generales 21.2.1. Problema numérico 21.2.2. Algoritmo 21.2.3. Iteración 31.2.4. Método numérico 41.3. Pasos a seguir en la resolución de un problema numérico 4 2. CRITERIOS PARA LA SELECCION DE ALGORITMOS 82.1. Velocidad de convergencia y facilidad de implementación 82.2. Estabilidad del método 82.3. Tiempo de máquina 82.4. Capacidad de memoria requerida 102.5. Precisión del método 13 3. 3. RESOLUCIÓN NUMÉRICA DE ECUACIONES 143.1. Introducción 143.1.1. Raíz de una ecuación 143.1.2. Algunos métodos de separación de raíces 153.2. Métodos de resolución 173.2.1. De las aproximaciones sucesivas 173.2.2. De la iteración de punto fijo 193.2.3. Método de Wegstein 213.2.4. Del punto medio 233.2.5. De la posición falsa (Regula Falsi) 253.2.6. De Newton-Raphson 263.2.7. De Richmond 303.3. Solución de un problema tipo, utilizando todos los métodos descriptos 31 4. VALORACION NUMERICA DE INTEGRALES 374.1. Introducción 374.2. Métodos de resolución 374.2.1. Método o regla de los trapecios 374.2.2. Método o regla de Simpson o de Simpson de 1/3 394.2.3. Otras variantes del método de Simpson 41 5. AJUSTE DE CURVAS POR EL METODO DE LOS CUADRADOS MINIMOS 425.1. Estimación de la precisión del método 44 6. SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES 466.1. Introducción 466.2. Métodos de solución 476.2.1. Métodos directos 476.2.2. Métodos indirectos 57

7. BIBLIOGRAFÍA 59

Page 3: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 2 -

1. BREVE INTRODUCCION AL CÁLCULO NUMÉRICO 1.1. Presentación del tema

Las Matemáticas son utilizadas en una forma u otra en la mayoría de las áreas de la

Ciencia y la Industria. Existe siempre una gran interrelación entre Matemáticas por un lado y Ciencia y Tecnología por el otro.

Durante las últimas décadas, los métodos numéricos se han utilizado en forma creciente para resolver modelos matemáticos de distinto grado de complejidad. Esto ha sido especialmente así en las Ciencias Físicas, Químicas y en las Ingenierías, aunque también se encuentran aplicaciones en procesos de la biotecnología, diseño de instrumental biomédico, en las Ciencias Naturales, Ciencias Económicas e incluso en las Ciencias Sociales.

Muy a menudo, las aplicaciones conducen a modelos matemáticos que no tienen solución con fórmulas exactas. A veces el problema se simplifica lo suficiente como para encontrar una solución analítica, pero puede distar de ser realista y no representar lo que se quiere estudiar mediante el uso del modelado. Es aquí donde aparece la necesidad de resolver el modelo original mediante un importante volumen de cálculos numéricos. La cantidad de trabajo a realizar depende, entre otros factores, de la demanda de exactitud y de la complejidad del modelo planteado. Mediante el uso de computadoras, las posibilidades de aplicación exitosa de los métodos numéricos se han incrementado enormemente. Se puede decir que la velocidad de cálculo de las computadoras ha hecho posible la aplicación de la matemática numérica.

La Ingeniería Química presenta numerosos campos de aplicación para los métodos numéricos: desde el cálculo de un volumen molar para un gas real para el diseño de un tanque de almacenamiento, hasta la integración de ecuaciones diferenciales que determinen el tiempo de residencia de una mezcla reaccionante en un equipo de procesos, la cantidad de casos a resolver por métodos numéricos se renueva y crece, con la ampliación de las temáticas que abarca la carrera (procesos químicos y petroquímicos, energías renovables, alimentos, tratamientos de efluentes)

1.2. Definiciones 1.2.1 Problema numérico

Un problema numérico significa una clara descripción de la conexión funcional entre los datos de entrada, esto es, las variables independientes del problema, y los datos de salida, esto es, los resultados deseados.

Los datos de entrada y los resultados consisten en un número finito de números, reales o complejos. Por tanto, son representables mediante un vector de dimensiones finitas. La conexión funcional puede ser expresada en forma implícita o explícita. 1.2.2 Algoritmo

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y éste a su vez del matemático persa al-Jwarizmi) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución.

El científico de computación Donald Knuth ofreció una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo: 1-Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos". (pero en cada caso, ese número de pasos puede depender de la precisión buscada)

Page 4: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 3 -

2-Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". 3-Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos". 4-Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas". 5-Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel". A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepción de los algoritmos probabilistas. En otras palabras, para un dado problema numérico, el algoritmo permite disponer de una descripción completa de operaciones bien definidas a través de las cuales el vector de datos de entrada es transformado en un vector de datos de salida.

1.2.3 Iteración

Uno de los conceptos más comunes en los problemas numéricos es del de iteración (del Latín, iteratio, repetición) o aproximaciones sucesivas. En general la iteración significa la repetición de un patrón de acción o proceso.

Para ilustrar un uso más específico de la idea de iteración, consideremos el problema de resolver una ecuación de la forma:

)(xfx =

Comenzar

Vector de entrada

ALGORITMO

Vector de salida

Fin

Page 5: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 4 -

por ejemplo, si ps es la presión de vapor del agua y T la temperatura, hallar el punto de ebullición del agua a una presión de p = ps= 700 hPa = 70 000 Pa. La ecuación de presión de vapor ps en Pa, en función de la temperatura, T en ºC viene dada por la expresión siguiente:

0)16.273(23.416.2731.6547119.54exp)( =⎟

⎠⎞

⎜⎝⎛ +−

+−−= TLn

TpTF s

16.27370000)16.273(23.4119.54

1.6547)( −−+−

==LnTLn

TfT

aquí, f(x) es una función diferenciable cuya magnitud podemos calcular para cualquier valor de la variable real x, dentro de un cierto intervalo. Usando el método de la iteración, se comienza con una aproximación inicial x1, y se calcula la secuencia

( )( )

( )nn xfx

xfxxfx

=

==

+1

23

12

..

Cada cálculo del tipo xn+1 = f(xn) se denomina una iteración. Si la secuencia de valores de xn converge a un valor límite α, tendremos entonces que el ( ) ( )lim 0nn

f x f α→∞

= = , dado que α sería

la raíz exacta. Sin embargo, dado que el número de iteraciones siempre es finito, nunca se llega al valor exacto α, sino a un valor práctico suficientemente próximo, que satisfaga los requerimientos de exactitud que se tengan para un problema dado.

Más adelante se estudiarán en particular el uso y condiciones de convergencia de numerosos métodos iterativos 1.2.4 Método numérico

Se entiende como método numérico al procedimiento mediante el cual se pueda aproximar un problema matemático por un problema numérico. ¿Que diferencia hay entonces entre un algoritmo y un método numérico?

Por ejemplo, el método que vimos recién, “de la iteración” es un método para resolver casi cualquier ecuación, pero para transformarlo en un algoritmo es necesario definir consideraciones sobre el inicio y el final, esto es, saber bien que datos colocar, y cuando detener el cálculo. Se puede considerar entonces un algoritmo como una descripción detallada de un método numérico

1.3 Pasos a seguir en la resolución de un problema numérico

Se pueden generalizar en la secuencia siguiente: a) Sustituir el problema inicial

0)16.273(23.416.2731.6547119.54exp)( =⎟

⎠⎞

⎜⎝⎛ +−

+−−= TLn

TpTF s

por un algoritmo de cálculo, por ejemplo el método de la iteración

16.27370000)16.273(23.4119.54

1.6547)(1 −−+−

==+ LnTLnTfT

nnn

Page 6: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 5 -

b) Observar que en caso de algoritmos iterativos, aparece un parámetro “n”, número de iteraciones requerido para obtener la solución con la exactitud deseada, que no figuraba en el problema matemático inicial:

Diferencia admisible |Tn+1 – Tn|≤ 0.01ºC

“n” es un valor que depende de la diferencia admisible c) Considerar que eligiendo bien la diferencia admisible entre los resultados de dos iteraciones consecutivas se puede conseguir una solución xn tan cercana como se quiera al valor real, α. d) Comprobar que si el algoritmo se realiza con una precisión insuficiente (por ej., debida al redondeo), que este error no influencie sus propiedades de convergencia. e) Realizar un plan para implementar el método de cálculo, que podría representarse gráficamente, por ejemplo, mediante un diagrama de bloques. f) Elegir un lenguaje de cálculo (por ej., Matlab) que entienda la computadora para codificar el diagrama de bloques o las ecuaciones del algoritmo. g) Convalidar los resultados del programa en un caso donde la solución sea conocida. No se dan ejemplos de e-g, pero se brinda la progresión del cálculo, utilizando x1 = T1 = 50ºC, y finalmente se da un diseño general para la realización de programas Matlab para cálculo numérico

Iteración Valor supuesto Valor calculado 1 2 3 4 5 6 7

50 80.3325 87.7270 89.4774 89.8890 89.9857 90.0083

80.3325 87.7270 89.4774 89.8890 89.9857 90.0083 90.0136

el valor de n resultó ser igual a 7, debido a que para esa iteración se cumple que el valor absoluto de la diferencia, entre xn+1 y xn es menor que 0.01ºC. x = T ≈ 90.0136ºC, que, de acuerdo a la precisión de la mayoría de los buenos termómetros o sensores de temperatura, que es de 0.1ºC, podemos estimar en x = T ≈ 90.0ºC.

Page 7: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 6 -

Un posible diseño general de programas Matlab para cálculo numérico (Constantinides y Mostoufi, 1999) es el que sigue:

Metodo. m Esta es una función general que implementa el método, tal como el de la iteración, o el de Newton-Raphson. Esta función es portátil de manera que puede llamársela desde otros programas y/o desde el espacio de trabajo (Workspace) de Matlab (con parámetros). Por su parte, esta función Metodo puede llamar la función ecuaesp, con las ecuacion/es específicas a resolver en el problema. La función Metodo puede llamar asimismo cualquiera de las funciones que Matlab trae incorporadas. Los resultados de Metodo se pueden imprimir o graficar aquí, si son genéricos. Este programa llama la función metodo.m, le pasa los parámetros a ésta y recibe, como devolución, los resultados y los escribe de manera formateada y genera gráficos con los resultados, si se necesitan

Ejemplo. m Este es un programa que resuelve un ejemplo específico. Es interactivo con el usuario. Solicita al usuario ingresar, mediante el teclado, los parámetros que se usarán con el método, tal como el nombre de la función que contiene las ecuaciones, constantes, estimaciones iniciales, criterios de convergencia. Este programa llama la función metodo.m, le pasa los parámetros a ésta y recibe, como devolución, los resultados y los escribe de manera formateada y genera gráficos con los resultados, si se necesitan

ecuaesp.m Esta función contiene la/s ecuacion/es específica/s a ser resuelta/s. Puede contener alguna o varias constantes que son específicas de tales ecuaciones

Funciones Matlab Cualquiera de las funciones disponibles en el lenguaje Matlab o rutinas de graficación que puedan necesitarse

Page 8: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 7 -

Vamos a ejemplificar con el caso resuelto en la página 4 Archivo Matlab punto_eb.m

archivo met_it.m

archivo presvap.m

global p disp ('para la ecuación de presión de vapor') disp (' ') disp (' ps = exp( a – b/(T +273.16) – c Ln (T +273.16)') disp(' ') Ts = input('ingrese temperatura supuesta para comenzar la iteración ') tol = input('ingrese diferencia admisible para detener el cálculo ') p = input ('ingrese el valor de la presión atmosférica en hPa ') p = p*100; % se pasa a Pa ps =p % por definición de punto de ebullición Ts = 50; % estimación inicial del punto de ebullición tol = 0.01; % ºC [Teb, niter] = met_it (Ts, tol) disp ('la temperatura de ebullición vale'), Teb disp (' ') disp (' siendo el numero final de iteraciones de '), niter

function [xcalc, n] =met_it (xsup, difad) dif = 10; n = 1 while dif >= difad & n <=30 xcalc = presvap (xsup) n = n+1 dif = abs(xcalc-xsup) xsup = xcalc end

function Tcalc = presvap(Tsup) global p c1 = 54.119; c2 = 6547.1; c3= 4.23 Tcalc = c2./(c1-c3*log (Tsup +273.16) -log(p)) -273.16

Page 9: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 8 -

2. CRITERIOS PARA LA SELECCION DE ALGORITMOS

A la hora de decidir entre posibles algoritmos para resolver un problema determinado y relativamente complejo, hay varios factores a considerar. Entre los que suelen condicionar la elección se encuentran la velocidad de convergencia y facilidad de implementación del algoritmo, su estabilidad, precisión y la memoria ocupada.

A veces la elección se hará en base a la precisión que se necesita obtener (por ejemplo en cálculos científicos), mientras que en otros casos importará solamente la obtención de un valor aproximado en forma relativamente simple y rápida. En tiempos todavía recientes, la elección se hallaba condicionada por la capacidad de memoria de la computadora o por el tiempo de cálculo que podía insumir el algoritmo que nos diera la precisión deseada. No obstante, hoy en día, en la mayoría de los casos, las computadoras son rápidas, con excelente capacidad de memoria y velocidad de cálculo, permitiendo la implementación de algoritmos muy rigurosos. La elección depende, en consecuencia, de la complejidad de programación y puesta a punto del método seleccionado (es decir, la eliminación de errores de programación y ejecución). De todas maneras debe decirse que las consideraciones de economía de cálculo siempre son atendibles, toda vez que muchos algoritmos pueden funcionar dentro de programas grandes que ejecutan muchas tareas y que por tanto, requieren que cada una de ellas se ejecute en el menor tiempo posible. 2.1. Velocidad de convergencia y facilidad de implementación

La lentitud de la convergencia (demasiadas iteraciones para llegar a un resultado fue, y todavía es, uno de los criterios por los que se juzga la desventaja de un método dado. Este criterio no es el único y no será el mismo al implementar el cálculo en una calculadora o computadora. Muchas veces, al optar entre dos métodos de igual precisión, se prefiera utilizar aquel cuya convergencia es más lenta si con él, los cálculos son más fáciles de programar, siempre que el tiempo de cálculo no sea un factor importante. 2.2. Estabilidad del método

Otro aspecto a tener en cuenta es la estabilidad de los procesos de cálculo. por ejemplo, no debemos usar un método que, en la sucesión de cálculos, vaya acumulando errores (de truncación y/o de redondeo) hasta darnos un resultado que se desvíe mucho de los valores exactos. Muchas veces es necesario demostrar que los errores de redondeo no se acumulan, dando lugar a resultados erróneos. O sea, hay que comprobar la estabilidad del método. 2.3. Tiempo de máquina

Es uno de los criterios más utilizados. Este es un factor determinante en el diseño o selección de algoritmos para la solución de problemas numéricos complejos: por ejemplo, solución de ecuaciones diferenciales a derivadas parciales, especialmente cuando hay más de dos variables independientes.

Una medida razonable del costo en tiempo del trabajo es el número de operaciones efectuadas. Cuando hay más de un tipo de operación, se debe contabilizar cada tipo por separado, y se pueden asignar “pesos” a cada uno para reflejar el tiempo de computadora necesario para la realización del algoritmo.

Veamos un ejemplo particular: solución de un sistema lineal de ecuaciones simultáneas. El sistema es:

Page 10: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 9 -

nnnnininn

ininiiiii

nnii

bxaxaxaxa

bxaxaxaxa

bxaxaxaxa

=+++

=+++

=+++

...........

...........

........

2211

2211

111212111

O escrito en forma matricial: Ax b= Comparamos dos algoritmos (más adelante se verán en detalle): los métodos de Cramer y de eliminación de Gauss. Cramer: con este método las incógnitas se calculan como

ii

Ax

A=

donde i = 1, 2, ... n. El denominador de la ecuación es el determinante del sistema y el numerador, el determinante que surge de una matriz de coeficientes igual a la de A, pero poniendo, en la columna de la incógnita xi el vector de términos independientes, bi, 1,..n. Despreciando las sumas y restas por ser operaciones sencillas frente a multiplicación y división, el número de operaciones da ( ) nnn +− !12 Eliminación de Gauss: Este método, mediante una serie de pasos sucesivos de eliminación y transformación por combinaciones lineales, llega a un sistema triangular superior que tiene la misma solución que el sistema original, y cuya resolución es directa y secuencial, de la última ecuación hasta la primera. Aquí la deducción da,

( ) 16

)12)(1(2

1−

+++

+ nnnnn

La tabla siguiente, de doble entrada, nos brinda el número de cálculos en función del método y del orden del sistema

Orden del sistema de ecuaciones lineales, n Método 3 5 10

Cramer 51 2885 359251210 Eliminación de Gauss 19 69 439

Se vé que el método de Eliminación de Gauss conviene, y tanto más cuanto mayor sea el

orden del sistema. El ejemplo sirve además para comprender la ventaja del empleo del cálculo numérico por computadora en la solución de problemas matemáticos.

Se debe recordar que en el caso de esquemas iterativos, se debe multiplicar el número de cálculos que se realizan en cada iteración por el número de iteraciones que se necesite para llegar a una solución aceptable (siendo este valor desconocido “a priori”, se lo estima según experiencias de aplicación a otros casos). Puede entonces ocurrir que sistemas de convergencia lenta, que utilizan menor número de cálculos por iteración (métodos más simples), tarden en realidad más tiempo en alcanzar el resultado deseado que otros métodos de mayor complejidad pero de convergencia más rápida.

Page 11: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 10 -

Matlab tiene la función “clock” que devuelve un arreglo de 6 números con el año, mes, día, hora, minuto, y segundos con fracción al momento de ejecutarse. Ese valor puede asignarse antes del lazo iterativo al valor “t1”. Luego del lazo iterativo, puede llamarse la función etime (clock, t1), que devuelve la diferencia entre el tiempo actual provisto por clock en el argumento de la función, y t1, el valor original. En consecuencia, el cálculo del tiempo que demanda un método numérico podría estimarse así

Las computadoras actuales son muy rápidas y la precisión de este método es de fracciones de segundo. Por tanto, al comparar métodos con distinto número de iteraciones o tolerancias, trate de realizar este cálculo de tiempo en las mismas condiciones, por ejemplo, todas las ventanas cerradas del sistema operativo excepto Matlab, dado que estas funciones tendrán en cuenta todo lo que demanda a la CPU y no solamente lo que le demanda el método numérico que está evaluando. 2.4. Capacidad de memoria requerida

Si bien actualmente la memoria de la máquina no es un recurso demasiado escaso para problemas de baja y mediana complejidad, los conceptos sobre economía en el uso de la memoria siempre resultan importantes, dado que no solamente permitirán que un programa se ejecute a mayor velocidad, sino que implique un menor consumo de energía por la computadora para el cálculo que se desea realizar.

Así, se puede decir que el espacio de memoria se utiliza tanto para el almacenamiento del propio programa, como de los datos, valores intermedios de las variables y resultados finales.

La memoria requerida puede ser un problema crítico en algunos algoritmos que requieren grandes almacenamientos para su solución (tanto por la extensión del programa mismo, como por el volumen de variables que se manejen). En estos casos se hace necesario, al programar el algoritmo, emplear métodos adecuados para lograr que el almacenamiento requerido sea el menor posible. Además, en estos casos, suele necesitarse un conocimiento profundo del lenguaje de programación y de la máquina que se utiliza.

Veremos un ejemplo organizado sólo a los efectos de contribuir a fijar los conceptos

involucrados.

∑=

=n

iixS

1

Un programa típico de Matlab podría ser el siguiente: 1- Suponiendo que se guardan los datos de xi en una planilla Excel.

t1 = clock; LAZO ITERATIVO tiempo_del_metodo = etime(clock, t1)

Page 12: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 11 -

El resultado es sum = 37 El espacio de trabajo mostrará, luego de ejecutarse, la existencia de tres variables, dos escalares de 1x1, “i” y sum, y otra, un vector columna de 7 filas x 1 columna, x, totalizando 72 bytes de memoria. En el caso de que cada valor de x se ingrese mediante la instrucción interactiva, “input”, el programa será más engorroso de usar, pero ahorrará memoria,

clear, clc x = xlsread('datos_de_x'); sum = 0 for i =1:length(x) sum = sum+x(i); end sum

clear, clc sum = 0 numero_de_x = 0 clave = 'si' while clave == 'si' numero_de_x x = input ('ingrese valor de x ' ) numero_de_x = numero_de_x +1 sum = sum+x; clave = input ('¿ sigue sumando ? poner la respuesta entre apostrofes ' ) end sum

Page 13: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 12 -

aquí el uso de la memoria da 28 bytes, menos de la mitad que usaba el otro programa. Aquí se lista una copia de la ejecución de este programa en el command window sum = 0 numero_de_x = 0 clave = si numero_de_x = 0 ingrese valor de x 1 x = 1 ¿ sigue sumando ? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 1 ingrese valor de x 3 x = 3 ¿ sigue sumando ? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 2 ingrese valor de x 5 x = 5 ¿ sigue sumando ? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 3 ingrese valor de x 7 x = 7 ¿ sigue sumando ? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 4 ingrese valor de x 6 x = 6 ¿ sigue sumando ? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 5 ingrese valor de x 8

Page 14: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 13 -

x = 8 ¿ sigue sumando ? poner la respuesta entre apostrofes 'si' clave = si numero_de_x = 6 ingrese valor de x 7 x = 7 ¿ sigue sumando ? poner la respuesta entre apostrofes 'no' clave = no sum = 37 2.5. Precisión del método

Está parcialmente relacionado con el punto 2.2. En muchos casos, principalmente en cálculos científicos o técnicos de gran significación, el factor determinante es la precisión del método de cálculo. Distintos esquemas tendrán distinta precisión, dada principalmente por aproximaciones realizadas en su deducción. El caso más común son los métodos para resolver numéricamente ecuaciones diferenciales. Normalmente los más precisos serán de desarrollo más complicado, cálculo más lento y/o involucrarán mayor necesidad de memoria.

Sin embargo, éstos no son factores determinantes en cálculos científicos o técnicos para los que se utilicen computadoras de gran memoria y alta velocidad, donde generalmente, priva la precisión a obtener, en el momento de decidir el algoritmo a utilizar.

Page 15: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 14 -

3. RESOLUCIÓN NUMÉRICA DE ECUACIONES 3.1. Introducción 3.1.1. Raíz de una ecuación

Resolver una ecuación del tipo F(x) = 0 es hallar los valores numéricos de x, llamados raíces de la ecuación, que reemplazados en el primer miembro lo anulan. Así, la ecuación x2 -2 = 0 se verifica para los dos valores +√2 y -√2, y la ecuación sen x – cos x =0 se cumple para infinitos valores de x = (1/4 +k)π (en radianes), con k = 0,1, 2, ....

Sin embargo, sólo excepcionalmente se presentan casos como los anteriores, donde se puedan calcular exactamente todas las raíces de una ecuación.

Así, en las matemáticas elementales se estudian las ecuaciones de primer y segundo grado, para las que existe solución en todos los casos, cualesquiera sean los valores de los coeficientes, debido a que se conocen las fórmulas de resolución. En cambio, no es posible dar una fórmula para hallar las raíces de una ecuación cualquiera, y en este capítulo estudiaremos varios procedimientos que permiten calcular valores aproximados de las raíces.

Empezaremos por estudiar procedimientos generales de resolución de ecuaciones (algebraicas y trascendentes) para considerar después, especialmente, la resolución de ecuaciones algebraicas.

Se ha visto ya un ejemplo típico de Ingeniería Química para el cálculo de la temperatura de ebullición a una presión dada. Otros ejemplos son, por ejemplo, el cálculo del volumen molar de una sustancia pura, a una presión y temperaturas dadas, por medio de la ecuación de Soave, Redlich y Kwong

0)()(

)( =−−⎟⎟⎠

⎞⎜⎜⎝

⎛+α

+= RTbvbvv

apVF

Otro ejemplo típico es resolver la ecuación de Colebrook que vincula el factor de fricción en tuberías, con la rugosidad ε y el diámetro interno, y con el número de Reynolds NRe

051.27.3

/86.01)(Re

=⎟⎟⎠

⎞⎜⎜⎝

⎛+

ε+=

fNDLn

ffF

La diferencia conceptual entre “raíz de una ecuación” y “resolución de una ecuación” es sutil. “Resolución de una ecuación” constituye un concepto más amplio que es el de encontrar un valor o una serie de valores que satisfagan la ecuación expresada de una forma determinada, igualada a cero o no. Para hablar de raíces de una ecuación, ésta debe estar igualada a cero (a tal punto que muchos libros llaman “ceros” a las raíces, es decir a los valores de x que hacen a la ecuación F(x) valer 0), mientras que en el segundo, no es estrictamente necesario, por ejemplo, la ecuación de Colebrook: .

⎟⎟⎠

⎞⎜⎜⎝

⎛+

ε−=

fNDLn

f Re

51.27.3

/86.01

tiene la misma solución que la anterior, pero no está arreglada de la forma clásica igualada a cero. La mayoría de los métodos, sin embargo, parten de la formulación F(x) = 0, excepto el de la iteración.

Page 16: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 15 -

3.1.2. Algunos métodos de separación de raíces

Cuando se trata de calcular las raíces reales de una ecuación F(x) = 0, conviene tener presente una serie de resultados del análisis matemático que facilitan el conocimiento de la ubicación de las raíces.

Considérese un intervalo (a,b) en el cual la función es continua. Se admitirá que:

I) si F(x) tiene signos distintos en a y b, se anula por lo menos una vez en (a,b) y en general, un número impar de veces

II) Si el signo de F(a) = signo de F(b), la función se anula un número para de veces en (a, b), tomando el cero (ausencia de raíces) como número par, es decir, que puede no anularse

III) Si F(x) es constantemente creciente o decreciente en (a, b), es decir, si F’(x) tiene un signo determinado y el signo de F(a) es ≠ al de F(b), hay una sola raíz α de la ecuación F(x)=0 en (a, b). Sin embargo, si el signo de F(a) es = al signo de F(b), con seguridad no habrá ninguna raíz en (a,b)

F(x)

a b x

F(x)

a b x

F(x) a b x

Page 17: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 16 -

IV) De acuerdo a III), la separación de una raíz es fácil en (a,b) si F’(x) tiene un signo determinado.

Veamos ahora como es posible calcular intervalos parciales del intervalo total, donde en cada uno de los cuales la derivada F’(x) tenga un signo determinado.

Considérese una función continua F(x) en (a,b) con derivada F’(x) también continua, tal como se representa en la figura:

a ba b

a

ba

b

Page 18: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 17 -

La derivada F’(x) se anula en los puntos de abscisa a1, a2, a3, a4, a5, a6, a7 y a8 y en ellos la tangente a F(x) es horizontal. Entre dos raíces consecutivas de F’(x), la función es siempre creciente o decreciente y de acuerdo a III) tiene una sola raíz o ninguna. Así, en (a1, a2) hay una raíz por ser los signos de la función distintos en esos puntos, mientras que en (a3, a4) no hay ninguna raíz por tener la función el mismo signo en ambos puntos. En el caso de a6, tanto F(a6) como F’(a6) se anulan, de manera que allí se presenta una raíz múltiple. 3.2. Métodos de resolución 3.2.1. Método de las aproximaciones sucesivas

Los métodos de búsqueda de raíces o de resolución numérica de ecuaciones parten de la base de que hay una única raíz en el intervalo de búsqueda, ensayando luego una fórmula de recurrencia hasta obtener el resultado con la precisión deseada.

Existen casos (frecuentes por cierto) donde es difícil la separación de la raíz por métodos ortodoxos del análisis matemático, como ya se ha visto, y esto lleva a tener que resolver la raíz sin saber el intervalo correcto de búsqueda. Una herramienta adecuada para estos casos es el método de las aproximaciones sucesivas, que puede explicarse del modo siguiente: Sea F(x) una función a la cual se le quiere determinar el valor α que la anula, o sea F(α) =0. Se comienza asignando a x un valor inicial x1 e imponiendo la cota de error absoluto ε para x, que se está dispuesto a tolerar. Se calcula F(x1), se incrementa la abscisa en un ∆x, tal que x2 =x1 + ∆x. Si F(x2) tiene = signo que F(x1), se sigue incrementando x y se repite el procedimiento. Cuando se detecta un cambio de signo, se vuelve el valor de x al que tenía antes del cambio de signo y se reduce el incremento (por ejemplo 10 veces), volviéndose luego a aumentar x. El procedimiento continúa hasta que el ∆x resulta menor o igual que la cota absoluta ε. El diagrama de bloques (DDB) siguiente ilustra el procedimiento. Este método requiere cuidado en la elección del valor inicial y del incremento, para que no se de el caso de “saltarse” dos raíces que puedan estar muy juntas.

a

b x

a5 a1 a2 a3 a4 a6 a7 a8

F(x)

Page 19: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 18 -

Podrá observarse que este método puede aplicarse luego de realizar un gráfico de la función con Matlab, donde se observe los lugares donde se anula. Esto permitirá elegir un punto de partida adecuado para el cálculo. De lo contrario, el método podría fallar y no detectar nunca un cambio de signo, si la eventual raíz se hallara en la dirección opuesta a la utilizada para recorrer el eje x. Por este motivo, si bien éste método es muy bueno en el sentido de que aúna un método de separación de raíces con un método de resolución, y es por tanto de gran valor para introducir conceptos de raíces, no se adapta fácilmente para ser utilizado en forma automática dentro de modelos de simulación, dado que la dirección de aproximación a la raíz la dirige el usuario, y no el método, a diferencia de otros procedimientos para el cálculo de raíces.

Comenzar

Leer x1, ∆x, ε

x = x1

Fx = valor de la función en x

Fxa = Fx

x =x + ∆x

Fx = valor de la función en x

Fx * Fxa <0 si

∆x ≤ ε no

x =x - ∆x

∆x = ∆x/10

si

raíz = x

Fin

no

Page 20: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 19 -

3.2.2. Método de la iteración de punto fijo

Es uno de los más elementales. Supóngase que la función F(x) = 0 se pueda separar en dos términos F(x ) = f1(x) –f2(x) =0. De allí se despeja, f1(x) = f2(x). El cálculo comienza al dar a x un valor inicial apropiado x1 calcular f2(x1), igualar este valor a f1(x2) y despejar x2 de ésta. La recurrencia de los cálculos puede establecerse de acuerdo al patrón siguiente

( ) ( )( ) ( )

( ) ( ) 1112

331222

221121

++ >−−−−−−−==−−−−−−−−−−−−−−−−−−−−

>−−−−−−−==>−−−−−−−==

nnnn xxfxfy

xxfxfyxxfxfy

Cuando se alcance un xn≈α tendremos f1(xn) ≈f2(xn), lo que verificará la ecuación. Esta convergencia puede ser muy lenta en los pasos finales, y generalmente se detiene el cálculo cuando |xn+1- xn| ≤ ε. Existe sin embargo una forma más adecuada para medir la convergencia de cualquier método iterativo, que implica el cálculo del “error aproximado porcentual”, eap. Este se define según

1

1100+

+ −=

n

nnap x

xxe

obsérvese que esta fórmula es análoga a la del error relativo porcentual

αα−

=verp 100

donde v es el valor aproximado, y α el verdadero. En cálculos iterativos, por definición, no se conoce el valor verdadero, de manera que se toma como una aproximación al valor verdadero el último valor calculado, xn+1, porque, de ser convergentes los cálculos, se aproximará más que xn al valor verdadero. La fórmula de eap no es conveniente si la raíz es muy próxima a cero, de manera tal que en esos casos puede ser conveniente utilizar una cota de error absoluto. Otra ventaja que tiene el error aproximado porcentual es que no hace falta conocer el valor de la incógnita, ni siquiera su orden de magnitud para establecer una cota de error apropiada; por ejemplo, 0.01% puede ser adecuada para la mayoría de los casos de ingeniería. Volviendo al método de la iteración de punto fijo, y ordenados el esquema de cálculo como lo indica la fórmula de recurrencia escrita más arriba, se puede dar una condición de suficiencia para la convergencia del método. Esta es:

)(')(' 12 xfxf < en un entorno de α

Es decir, si se cumple la condición se asegura la convergencia, y si no se cumple, la convergencia no está asegurada, aunque pueda ser todavía posible.

Page 21: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 20 -

Caso más frecuente del método de la iteración

Siempre es posible expresar la fórmula de tal forma que f1(x) = x, la función identidad. Así:

( )( )

( )

1 2 1 2

2 2 2 3

2 1n n n

y f x x

y f x x

y f x x +

= =

= =

− − − − − − − − − −

= =

La condición de suficiencia, en un entorno suficientemente próximo a α, queda:

1)('2 <xf Demostración gráfica de la convergencia:

y de la divergencia

f f2(x)

f1(x)=x

x1 x2 x3

α

Page 22: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 21 -

3.2.3. Método de Wegstein

El método de Wegstein es una variante del método de la iteración de punto fijo, y de hecho, puede resolver ecuaciones del tipo

)(2 xfx =

Comenzando con un valor inicial x1, podemos obtener primero otra estimación de la raíz

( )122 xfx =

Como se muestra en la figura, ahora x2 no tiene necesariamente que ser más próximo a la raíz que x1. Se puede ahora trazar una línea recta por dos puntos, (x1, f2(x1)), y (x2, f2(x2))

12

1

1222

12

)()()(

xxxx

xfxfxfy

−−

=−

para encontrar la nueva estimación de la raíz, x3 a partir de la intersección de esta línea recta con la función identidad y = x.

α

f f2(x)

f1(x)=x

x1 x2 x3

Diverge

Page 23: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 22 -

)()()()(

222121

1222213 xfxxfx

xfxxfxx+−−

−=

se puede ver en la figura que, siguiendo con el método de la iteración de punto fijo, se encontraba el valor x’3, que resultaba divergente. Con el método de Wegstein, se encuentra el punto x3, más cercano a la raíz que x1 y x2. En la iteración siguiente, se construye una recta entre los puntos (x2, f2(x2)) (x3, f2(x3)), y nuevamente evaluamos la siguiente estimación de la raíz intersectando esta recta con y = x. En consecuencia, la fórmula general iterativa para el método de Wegstein, es:

2)()(

)()(

2121

12211 ≥

+−−−

=−−

−−+ n

xfxxfxxfxxfxx

nnnn

nnnnn

f f2(x)

x

x1 x2X’3 x3

Page 24: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 23 -

3.2.4. Método del punto medio (bisección, bipartición o método dicotómico)

Es muy simple, pero no optimiza la velocidad de convergencia, y por tanto pueden requerirse muchas iteraciones para alcanzar la precisión deseada. Si en el intervalo (a,b) existe una sola raíz, entonces el método siempre converge.

La lógica a seguir es la siguiente:

1) se determinan los extremos del intervalo a y b, tal que F(a) * F(b) < 0 2) Se elige la cota de error aproximado porcentual por ejemplo, 0.01% 3) Se determina xn = (a+b)/2, con n = 1, ....hasta convergencia 4) Si F(xn)*F(a) < 0, la raíz estará entre xn y a, de manera que se redefine b = xn 5) Si el signo es > 0, la raíz estará entre xn y b, de manera que se redefine a = xn 6) En cada paso se determina el eap = |(xn-a)/xn|, y, si es mayor que 0.01, se incrementa n en

1 y se sigue en 3). Un DDB simplificado del método de punto medio se presenta en la página siguiente:

a

b x1

x2

x3α

x

F(x)

Page 25: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 24 -

Comenzar

Leer a,b, tol

x = a

Fxm = función en xm

Fxb =función en x = b

Fxa * Fxb <0

si

no

xm =(a+b)/2

si

raíz = xm

Fin

no

x = b

Mal elegidos los valores de a y b

Fxa = función en x=a

eap ≤ tol

eap =100*|(xm-a)/xm|

Fxa * Fxm <0 no si

b =xm a =xm

Fxa = Fxm

Realice el programa Matlab de este DDB, y agréguele un contador de iteraciones

Page 26: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 25 -

3.2.5. Método de la Posición Falsa (Regula Falsi)

Este método es también conocido como de la posición falsa o de las partes proporcionales.

Una vez separada la raíz α de una ecuación F(x) = 0 en un intervalo (a,b) mediante la prueba de que los signos de F(a) y F(b) son distintos y sabiendo que F’(x) no cambia de signo en el intervalo, se puede lograr una mejor aproximación sustituyendo la curva por un segmento de recta que, al cruzar el eje de abscisas (y = 0), determina el valor x1, primer valor aproximado de la raíz α. Si el signo de x1 es distinto del signo de b, el intervalo (x1, b), que es menor que el original, también contendrá la raíz α. En caso contrario, el nuevo intervalo será (a, x1). Aplicando sucesivamente este procedimiento, se logra encerrar la raíz entre límites tan estrechos como se quiera. La figura siguiente muestra dos iteraciones iniciales realizadas según el método de Regula Falsi.

Como se habrá podido advertir, el método de Regula Falsi “sustituye” la curva real por una sucesión de rectas tomadas a los extremos del intervalo, a cada una de las cuales le calcula la raíz, hasta que el intervalo sea lo suficientemente pequeño como para que una recta prediga aproximadamente igual que curva y las raíces de curva y recta coincidan. La primera recta se traza entre los puntos del intervalo original (a, F(a)), (b, F(b)). La fórmula de la recta que pasa por dos puntos, para este caso es:

1( )( ) ( )

x ay F aF b F a b a

−−=

− −

Al buscar la raíz de esa recta, y = 0, y se despeja, x1, así:

1( )( )( ) ( )

F a b ax aF b F a

−= −

(se podría haber deducido con el punto b, y F(b) en el numerador de ambos miembros y resultaría equivalente)

F(x)

α

a

b

x1 x2

Page 27: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 26 -

Si el signo de F(x1), resulta igual al signo de a, como en la figura anterior, se redefine a=x1, y F(a) = F(x1) mientras que si esto no se cumple, se redefine b = x1 y F(b) = F(x1). La aplicación sucesiva de la fórmula de recurrencia dará x2, x3, xn, xn+1. El criterio para concluir el cálculo es del error aproximado porcentual, aquí definido como,

1

1

100 n nap

n

x xex+

+

−=

El método es siempre convergente si el intervalo tiene una sola raíz. El método tiene una convergencia lenta, y prácticamente toda la literatura indica que uno de los extremos del intervalo nunca cambia, lo cual lo vuelve algo ineficiente. Sin embargo, si la función tiene un punto de inflexión en (a,b), y la pendiente se vuelve muy baja hacia ambos extremos, lo cual es difícil que ocurra, el intervalo podría reducirse de ambos extremos (Goñi, 2008), como lo muestra esta figura:

El método de Regula Falsi corresponde a un primer orden en el desarrollo de Taylor (es decir, reemplaza la función por una recta), y su velocidad de convergencia es lenta. Además, la estimación inicial de “a” debe ser buena, de lo contrario el cálculo puede no converger (caso en que F’(x) cambie de signo en el intervalo).

Así, a partir del desarrollo de Taylor y sucesivos truncamientos y reordenamientos, se puede probar que el método converge si |ε(a) F’’(x)/2F’(x)| < 1, o si F’(x) ≠0 y F’’(x) no cambia de signo cerca de α. El valor ε(a) sería el error absoluto de la primera estimación de x. Generalmente este método se utiliza en lugar del de Newton-Raphson, cuando la F’(x) tiene una expresión muy complicada, cambia frecuentemente de signo, o es muy pequeña. 3.2.6. Método de Newton-Raphson

El algoritmo de Newton-Raphson es una de las técnicas más importantes para la determinación de raíces de ecuaciones algebraicas o trascendentes. Si las condiciones de convergencia son apropiadas, y dando una estimación inicial de la raíz, el método suele converger rápido hacia la solución. Esto es debido a que el método, de primer orden de acuerdo

a b x

x2

x3

α

Page 28: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 27 -

a la expansión en serie de Taylor, utiliza la tangente a la curva. La deducción del método, expandiendo la función F(x) alrededor de un punto x1, es la siguiente:

( ) ( )211 1 1 1

''( )( ) 0 ( ) '( ) ....2!

F xF x F x F x x xα α= = + − + − +

Si se desprecian los términos con derivadas de mayor orden que la primera, se llega a una línea recta. Como la expresión es finita, la raíz de la misma ya no será α sino una aproximación a la misma, que se puede llamar x2. Así, se tiene:

( )1 1 2 1( ) 0 ( ) '( )F x F x F x x x= = + − lo que conduce a:

12 1

1

( )'( )

F xx xF x

= −

y en general, a la formula de recurrencia:

1( )'( )

nn n

n

F xx xF x+ = −

La interpretación gráfica es la siguiente:

Obsérvese que la aproximación a la raíz verdadera es rápida, porque, a diferencia del método de Regula-Falsi, el método de Newton-Raphson proyecta rectas que representan la pendiente de la curva en un punto considerado, y no una pendiente promedio entre dos puntos que pueden estar

F(x)

a=x1

b α

x2 x3

Page 29: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 28 -

alejados. En el ejemplo anterior, se observó un caso especial donde hay un intervalo con la raíz separada. Para estos casos, valen las observaciones de Fourier. Observaciones de Fourier

En primer lugar, obsérvese que si en la figura anterior se hubiese empezado la iteración por el punto x1= b, el procedimiento hubiese ampliado el intervalo, en lugar de estrecharlo. Fourier estableció las condiciones de convergencia del método:

1) F’(x) debe tener un signo determinado en (a,b), 2) F’’(x) tampoco debe cambiar de signo en (a,b) es decir, no es segura la convergencia del

método de Newton-Raphson si existe un punto de inflexión en (a,b). 3) Si se tienen dos extremos de un intervalo donde existe una sola raíz, se debe empezar por

el extremo donde F y F’’ tengan igual signo, esto es F F’’ >0 Las figuras siguientes ilustran la aplicación de la observación de Fourier Nº3 en los cuatro casos posibles.

En los 4 casos resulta que la convergencia se obtiene aplicando las observaciones de Fourier para comenzar donde F F’’ >0. Eso asegura la convergencia, porque es una condición suficiente, pero, como tal, no es necesaria. En el extremo donde no se cumpla, el método puede o no converger a la solución Ejemplo F(x) = x3 -2x-5 =0

F(x

a

b

F <0 F’’ <0

a b

F >0 F’’ >0

x2 α

α

x2

a x2

α b

F >0 F’’ >0

a b

x2 α

F <0 F’’ <0

Page 30: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 29 -

El intervalo lo tomaremos en (1,5,3) F’’(x) = 6x Extremo a = 1 F(a) <0 F’’(a) >0 F(a) F’’(a) <0 Extremo b = 3 F(b) > 0 F’’(b) >0 F (b) F’’(b) > 0. Se comienza entonces en b = 3

Iteración (n) xn F(xn) F’ (xn) x n+1 1 2 3 4 5

3 2,36 2,127 2,09492 2.09453

16 3,424 0,3713 0.004108 -2.3976e-004

25 14,71 11.574 11.1658 11.1611

2,36 2,127 2,094919 2.09453 2.09455

Veamos el error = 100*| (2,09455-2,09453)/ 2.09455| = 9.58 10-4, es menor, que 0,01, se puede detener el cálculo. Vamos a ver si se comienza del otro extremo, a = 1

Iteración (n) xn F(xn) F’ (xn) x n+1 1 1 -6 1 7

Page 31: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 30 -

Como se advierte, el nuevo valor de x implica aumentar el intervalo original (1,3), de manera que al comenzar por el lado no recomendado por las observaciones de Fourier, el método de Newton-Raphson se hace divergente. 3.2.7. Método de Richmond

Para situaciones donde se desea una gran velocidad de convergencia, y se puede calcular en formar relativamente fácil la derivada segunda, se puede utilizar un método de mayor orden. Si se expande la función en serie de Taylor hasta el segundo orden

( ) ( )211 1 1 1

''( )( ) 0 ( ) '( )2!

F xF x F x F x x xα α= = + − + −

y se llama ∆x a la diferencia entre α y x1, y se toma factor común, se tendrá:

11 1

''( )( ) '( ) 02

F xF x x F x x⎛ ⎞+ ∆ + ∆ =⎜ ⎟⎝ ⎠

que constituye una ecuación cuadrática en ∆x. Se podría resolver analíticamente, pero no se puede saber a ciencia cierta cual de las dos raíces será la verdadera. Por tanto, se realizará una aproximación. Si se escribe la ecuación utilizando la nomenclatura ya empleada en el método de Newton-Raphson, para generalizar la ecuación de recurrencia, la expresión tomará la forma siguiente

''( )( ) '( ) 02

nn n

F xF x x F x x⎛ ⎞+ ∆ + ∆ =⎜ ⎟⎝ ⎠

dado que ∆x = xn+1 - xn, se podría reemplazar el ∆x interior al paréntesis con la fórmula de recurrencia de Newton-Raphson, es decir, ∆x =-F(xn)/F’(xn), se llega a la expresión intermedia

''( ) ( )( ) '( ) 02 '( )

n nn n

n

F x F xF x x F xF x

⎛ ⎞+ ∆ − =⎜ ⎟

⎝ ⎠

Despejando ∆x:

( )''( ) ( )'( )2 '( )

n

n nn

n

F xx F x F xF xF x

∆ = −−

Trabajando un poco más la expresión, se obtiene la fórmula de Richmond:

[ ] 2

1 2

2 ( ) '( )2 '( ) ( ) ''( )

n nn n

n n n

F x F xx xF x F x F x

+ = −

Page 32: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 31 -

La expresión de Richmond, de un orden intermedio entre 1 y 2 (se podría llamar de orden 1 y medio), y requiere el cálculo de la derivada primera y segunda, y es por tanto más difícil de usar que el método de Newton Raphson. Al coincidir la derivada primera y segunda de la función y de la expresión aproximada en xn, el método de Richmond traza parábolas cuadráticas para aproximar la solución y por tanto su convergencia, cuando las condiciones son favorables, es muy rápida, es decir alcanza un valor muy próximo a la raíz verdadera en muy pocas iteraciones, a veces 2 o 3 nada más. 3.3. Solución de un problema tipo con todos los métodos

Se ha elegido el siguiente ejemplo, muy simple, que tiene solución analítica, pues el objetivo es la ejercitación en la aplicación de cada método. Sea F(x) = x2 + x-2.1525, cuyas raíces exactas son -2,05 y +1,05.

Supongamos que, de no saber las raíces exactas, hacemos un gráfico general y encontramos que un buen intervalo para considerar es (-5,5). F(x) = x2 + x-2.1525 F’(x) = 2x +1 F’’(x) = 2 Como F’’(x) es constante, no hay que preocuparse por ésta. En cambio, F’(x) se anula en x=-0,5. Por consecuencia, su pendiente no cambiará de signo en el intervalo (-0,5,5), y por tanto ése será el intervalo de búsqueda elegido.

F(x)

F’(x)

F’’(x)

Page 33: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 32 -

Método de las aproximaciones sucesivas Partimos de x = -0,5 y se va a ir incrementando de a 0,1. Se calcula en -0,5, -0,4, -0,3, -0,2, -0,1, 0, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 1, 0, 1,1. Allí se detecta un cambio de signo, con lo cual se vuelve a x = 1,0. El intervalo pasa a ser de 0,1/10 = 0,01. Los nuevos valores son 1,01, 1,02 , 1,03, 1,04, 1,05. En este caso 1,05 es la raíz exacta, pero esto no lo detecto con el criterio del error aproximado de 0,01%. Vuelvo entonces a 1,04, con un intervalo de 0,001, y hago 10 iteraciones más hasta llegar a 1,05. Como el criterio de error todavía no alcanza, vuelvo a 1,049, y se achica el intervalo a 1 x 10-4. Allí cuando llego a 1,05, tenemos un error menor al 0.01%. Son más de 30 iteraciones.

Método de la iteración La función podría arreglarse así = x = 2,1525 – x2, es decir, f2(x) = 2,1525-x2

en x1 = - 0.5, el |f2’(x) | > 1, no convergería, y en el otro extremo, x = 5, el módulo es aún mayor. Empezamos por x1 = -0,5

n xn xn+1 eap 1 2 3

-0,5 1,9015 -1,4642

1,9015 -1,4642 0,0076

126,29 229,86 1.9336e+004

El valor absoluto del error es cada vez mayor, por tanto el método diverge Método del punto medio Usando como extremos a=-0.5 y b=5, se obtiene:

n a b F(a) F(b) xn F(xn) eap 1 2 3 4 5 6 7 8 9 10 ... 15 16

-0.5 -0.5 0.8750 0,8750 0.8750 1.0469 1.0469 1.0469 1.0469 1.0469 ... 1.0499 1.0499

5 2.25 2.25 1.5625 1.2188 1.2188 1.1328 1.0898 1.0684 1.0576 ... 1.0502 1.0501

-2.4025 -2.4025 -0.5119 -0.5119 -0.5119 -0.0097 -0.0097 -0.0097 -0.0097 -0.0097 ... -3.2264e- 4 -3.2264e- 4

27.8475 5.1600 5.1600 1.8514 0.5516 0.5516 0.2636 0.1251 0.0573 0.0237 .... 7.1905e-4 1.9867e-4

2.25 0.8750 1.5625 1.2188 1.0469 1.1328 1.0898 1.0684 1.0576 1.0522 ... 1.0501 1.0500*

5.1600 -0.5119 1.8514 0.5516 -0.0097 0.2636 0.1251 0.0573 0.0237 0.0070 .... 1.9867e-4 -6.1493e-5

122.2222 157.1429 44.000 28.2051 16.4179 7.5862 3.9427 2.0110 1.0157 0.5104 ... 0.0160 0.0080

*Utilizando format long, este valor es en realidad 1.04998016357422. Obsérvese que es posible “pasar” por la raíz durante el proceso, pero es conveniente verificar el error sobre la incógnita y no sobre el valor de la función, por eso a veces se hacen más iteraciones que las teóricamente necesarias. No se pueden obtener valores exactamente nulos utilizando aritmética de punto flotante. La aproximación a la raíz y la evolución del error se representaron en la figura siguiente, en función del número de iteraciones:

Page 34: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 33 -

Obsérvese que, desde el punto de vista práctico, se necesitarían no más de 10 iteraciones. Método de la Posición Falsa (Regula Falsi) Con los mismos puntos iniciales que el método de Bisección se obtiene:

n a b F(a) F(b) xn F(xn) eap 1 2 3 4 5 ... ... 16 17 18

-0.5 -0.06318 0.3093 0.5863 0.77192 ... ... 1.04948 1.04970 1.04983

5 5 5 5 5 ... ... 5 5 5

-2.4025 -2.2168 -1.7474 -1.2224 -0.7847 ... ... -0.001616 -9.06e-4 -5.07e-4

27.8475 27.8475 27.8475 27.8475 27.8475 .... .... 27.8475 27.8475 27.8475

-0.06318 0.3093 0.58631 0.77192 0.8877 ... ... 1.04970 1.04983 1.04990

-2.2168 -1.7474 -1.2224 -0.7847 -0.4765 ... ... -9.06e-4 -5.07e-4 -2.84e-4

691.36 120.42 47.23 24.04 13.052 ... ... 0.0218 0.0122 0.006

Obsérvese que el método de Regula Falsi puede o no converger en menos iteraciones que el método de punto medio. En este caso es casi equivalente, porque la raíz es mucho más próxima al extremo original a = 0.5, que al otro extremo b = 5. Como uno de ellos no cambió, la convergencia fue lenta. No obstante, la progresión es mucho más estable que en el método de punto medio, como lo muestra la figura

Page 35: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 34 -

Si ensayamos la condición de convergencia, sabiendo que ε = |-0.5-1.05| = 1.55, para corroborar porque el método fue convergente, debemos comprobar que sea menor que 1. |ε(a) F’’(α)/2F’(α)| = 1.55*2/(2*3.1)| es efectivamente menor que 1. Método de Newton-Raphson F(x) = x2 + x-2.1525 F’(x) = 2x +1 F’’(x) = 2 Extremo a =-0.5 F(a) <0 F’’(a) >0 F(a) F’’(a) <0 Extremo b = 5 F(b) > 0 F’’(b) >0 F (b) F’’(b) > 0. Se comienza entonces en b = 5

Iteración (n) xn F(xn) F’ (xn) x n+1 eap 1 2 3 4 5 6

5 2,4684 1.3888 1.08039 1.050292 1.05000002

27.8475 6.4089 1.16537 0.0951 9.06e-4 8.54e-8

11 5.93681 3.7777 3.1607 3.100 3.100

2.4684 1.3888 1.08039 1.050292 1.05000002 1.05000000

102.55 77.726 28.5527 2.8665 0.02784 2.62e-6

Page 36: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 35 -

Se observa que este método, al converger, lo hace muy rápido y que con 5 iteraciones ya daba un valor muy bueno, que con 6 iteraciones ya es exacto a todos los fines prácticos. Método de Richmond Aplicando el método, partiendo de x1 = 5, y recordando que F’’(x)=2, se obtiene Se comienza entonces en b = 5 (por su relación con el método de Newton Raphson)

Iteración (n) xn F(xn) F’ (xn) x n+1 eap 1 2 3 4

5 1.71160 1.0669 1.0500004993179

27.8475 2.48868 0.05286 1.54e-6

11 4.42320 3.1339 3.1000

1.71160 1.0669 1.0500004993179 1.05000000000000

192.1 60.41 1.615 4.75e-05

Page 37: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 36 -

Se observa que con sólo 4 iteraciones, se llega a un nivel de exactitud mayor al requerido y que incluso con tres ya el resultado era muy bueno. ¿Podrá el método de Richmond converger si empieza por el otro extremo del intervalo? ¿Que conclusión obtendría de tal prueba? Al observar los métodos descriptos y los ejemplos realizados, y suponiendo que tuviera que elegir dos métodos, ¿cuales seleccionaría y por que?

Page 38: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 37 -

4. VALORACION NUMERICA DE INTEGRALES 4.1. Introducción

Es muy común tener que integrar funciones en las que la no existe una fórmula cerrada de integración o ésta es tan complicada que es más difícil evaluarla que realizar la integral por métodos aproximados. También es muy común no tener una curva continua sino una serie de pares ordenados (x,y), los que pueden tener o no una separación constante entre puntos (sobre el eje x).

Existen diversos métodos de integración numérica, en los que se calcula la integral partiendo de la definición de ésta como la suma de integrales (áreas) parciales sucesivas. Si éstas son suficientemente pequeñas, aunque se calcule en forma aproximada el área de cada una de esas secciones, el resultado obtenido puede ser todo lo preciso que se necesite.

Entonces el problema general será evaluar dxxfIb

a∫= )(

donde f(x) es continua en el intervalo a-b y donde los extremos son finitos. El camino que vamos a seguir – como ya se expresó – consiste en lo siguiente: La

integral definida I representa el área bajo la curva y = f(x) entre los límites a y b. Por lo tanto, podemos calcular el valor de I dividiendo el intervalo a-b en varios intervalos sucesivos mas pequeños, encontrando el área bajo cada una de las “fajas” así formadas y sumando las áreas. 4.2 Métodos de resolución

Las técnicas que pueden utilizarse son de dos tipos: 1.- Los intervalos se seleccionan por anticipado. Normalmente son iguales y en caso de trabajarse sólo con una calculadora se computan a valores de x fáciles de manejar. Los métodos mas conocidos son los de trapecios y los métodos de Simpson. Ambos pertenecen a un grupo más amplio conocido como Métodos de Newton-Cotes. 2.- Los intervalos y su ubicación están dictados por el análisis. Se elige un número determinado de intervalos y su espaciado está dado por una precisión máxima. Un ejemplo es el caso de la Regla de Gauss. Nosotros veremos brevemente sólo los de tipo 1. 4.2.1. Método o Regla de los Trapecios

Supongamos tener representada nuestra función y = f(x) en el intervalo a-b, el cual está a su vez dividido en una serie de subintervalos de espaciado constante ∆x = h. El área de cada trapecio es (base mayor + base menor)*h / 2. Si los tomamos acostados valen, sucesivamente: (y0 + y1) * h / 2 (y1 + y2) * h / 2 ---------------- (yn-2 + yn-1)* h / 2 (yn-1 + yn) * h / 2 __________________

I = (y0 + 2y1 + 2y2 + ... + 2yn-2 + 2yn-1 + yn) * h / 2

Page 39: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 38 -

El error de truncamiento es – como veremos – mayor que el del Método de Simpson,

pero es un algoritmo mucho más fácil de computar. Además es el único adecuado cuando se tienen espaciados ∆x no constantes, lo que es muy común en el manejo de datos experimentales.

El valor del error de truncación es |eT| ≤ (b – a) M h2 / 12, donde M es el valor máximo de

f”(x) en el intervalo a-b. La precisión, por tanto, será mayor cuanto menor sea el valor de h y menor la derivada segunda (para lo cual la pendiente f’(x) debe ser lo mas constante posible) o

yi+1

yi

x

y y = f(x)

y = a x + b

h

y

x a = x0 x1 x2 xn-2 xn-1 b = xn

∆x = h ∆x = h

yo y1

yn-1

yn

y2

yn-2

Page 40: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 39 -

sea cuanto y = f(x) sea mas recta. En el caso límite de y = f(x) recta el método es exacto. 4.2.2. Método o Regla de Simpson o de Simpson de 1/3 Consiste en dividir la curva a integrar en un número par de intervalos y realizar la suma de integrales de trozos de parábolas que pasan por tres puntos (parábolas cuadráticas). Suponemos que en esa porción de curva reemplazamos a la f(x) verdadera por una parábola cuadrática del tipo y = a x2

+ b x + c que pasa por yi, yi+1 e yi+2. La integración entre –h y h vale:

( )⎥⎥⎦

⎢⎢⎣

⎡++=∫ ++=

− xcxbxa

dxcxbxaA

h

h

hh 2

2

3

32

( ) ( )hchaA 232 3 +=

Como los puntos yi, yi+1 e yi+2 deben satisfacer la ecuación de la parábola tenemos: yi = a (-h)2 + b (-h) + c yi+1 = c yi+2 = a (h)2 + b (h) + c por lo que reordenando y reemplazando se tiene: a = (yi – 2 yi+1 + yi+2) / (2 h2) b = (yi+2 – yi) / (2 h) c = yi+1 y reemplazando en A tenemos: A = (yi + 4 yi+1 + yi+2) h / 3 Si esto lo generalizamos para una serie sucesiva de integra-les de a 2 intervalos h, tenemos: I = h / 3 (y0 + 4 y1 + y2 y2 + 4 y3 + y4 y4 + 4 y5 + y6 ................ yn-2 + 4 yn-1 + yn) _________________________________________ I = (h / 3) (y0 + 4 Σyimpares + 2 Σypares + yn) i= n-1 i= n-2

I = (h / 3) (y0 + 4 Σyi + 2 Σyi + yn) i=1,3,5 i=2,4,6

Page 41: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 40 -

El error de truncación eT para cada trozo de parábola es: eT = -1/90 fIV(ξ) h5 , donde ξ es un

x

y

yi+1

yi

y = f(x)

y = a x2 + b x + c

h h

yi+2

y

x a = x0 x1 x2 xn-2 xn-1 b = xn

∆x = h ∆x = h

yo y1

yn-1

yn

y2

yn-2

Page 42: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 41 -

punto interior al intervalo de integración, ó eT = 1/90 h5 M, donde M es el mayor valor absoluto

de fIV(x) en ese intervalo. 4.2.3. Otras Variantes del Método de Simpson Entre otras, hay variantes del Método de Simpson que permiten utilizar un número total de intervalos que sea múltiplo de 3, interpolando con una parábola cúbica que pasa por cuatro puntos (y = a x3

+ b x2 + c x + d). Es llamado Simpson 3/8 porque la fórmula de integración para

cada arco de parábola vale: A = (3 / 8) h (yi + 3 yi+1 + 3 yi+2 + yi+3) con eT = -3/80 fIV(ξ) h5. Esta variante es poco usada. 4.3. Ejemplo de Aplicación A modo de comparación entre ambos métodos vistos evaluemos:

22

2

2

xI e dx−

= ∫

El valor exacto con precisión de 4 decimales es I = 2.3925

Trapecios Simpson n h Resultado Error % Resultado Error % 4 1.00 2.3484 -1.8432 2.3743 -0.7607 8 0.50 2.3813 -0.4681 2.3923 -0.0084 16 0.25 2.3898 -0.1128 2.3926 0.0004

Se observa claramente que siempre el Método de Simpson es más preciso que el de Trapecios a igualdad de tamaño de intervalo, y que – para ambos métodos – la precisión aumenta rápidamente al disminuir el h. También se ve claramente que la velocidad de aumento de precisión en Simpson es mucho mayor que en Trapecios, tal como lo predicen las fórmulas respectivas del error de truncación.

Page 43: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 42 -

5. AJUSTE DE CURVAS POR EL MÉTODO DE LOS CUADRADOS MÍNIMOS Supongamos tener una variable y con una dependencia y = y(x) y N valores discretos de y con sus respectivos N valores de x. Es decir, tendremos: y1, y2, y3,........, yN x1, x2, x3,........, xN No se supone ningún espaciado particular entre los valores de x y estos aún pueden estar repetidos. Dichos pares x-y pueden resultar de medir la respuesta de un sistema o un proceso a una entrada variable o pueden ser valores específicos de una función trascendente. Un método de aproximarlos es pasar por todos los pares de valores un polinomio de orden N-1. Una aproximación mas débil puede ser usada en la cual una función aproximante adecuada se hace pasar “lo mas cercana posible” (en algún sentido) a los puntos. La aproximación adecuada se toma como una combinación lineal de m+1 funciones linealmente independientes, que llamaremos u0(x), u1(x), u2(x),..., um(x). Entonces, la función aproximante valdrá: Φm(x) = a0 u0(x) + a1 u1(x) + a2 u2(x) +...+ am um(x), donde a0, a1, a2,..., am son constantes a ser determinadas a partir del ajuste de Φm(x) a los valores especificados de y1, y2, y3,..., yN. Hay distintos juegos de funciones linealmente independientes que puedan usarse; por ej.: 1, x, x2,..., xm 0, sen(x), sen(2x),..., sen(mx) 1, cos(x), cos(2x),..., cos(mx) eα0x, eα1x, eα2x,..., eαmx o cualquiera otra en la que las sucesivas ui no se relacionen con las anteriores. Por ejemplo: 1, sen(x), eα2x, x3, etc. El primer caso es de especial utilidad y puede expresarse: j=m

Φm(x) = a0 + a1 x + a2 x2 +...+ am xm = Σaj xj

j=0 O sea, Φm(x) es un polinomio de orden m.

- Si m+1 ≥ N la aproximación es una simple interpolación polinómica. - Si N > m+1, la aproximación no puede coincidir con todos los puntos tabulados. En este caso es importante el método de determinar los coeficientes para que estos den el mejor ajuste a los puntos tabulados.

Cuando los valores y1, y2, y3, ..., yN son exactos o están sujetos a errores al azar se puede demostrar que el criterio del error cuadrático mínimo provee la mejor estimación de a0, a1, a2, ..., am.

Este criterio establece que si el error de la aproximación en cada punto está dado por: εi = |yi - Φm(xi)| con i = 1, 2, 3, ..., N, lo que se desea es que: ε1

2 + ε2

2 + ...+ εN

2 = mínimo.

Si con una nomenclatura diferente llamamos al residuo en cualquier punto como Ri, este puede ser definido como: Ri = yi - Φm(xi) y Ri

2 = (yi - Φm(xi))2 con i = 1, 2, 3, ..., N.

La suma de los cuadrados de los residuos vale:

i=N i=N j=m

Sm2

= Σ Ri2

≥ 0 Sm2

= Σ (yi - Σ aj xij)2

≥ 0 i=1 i=1 j=0

Page 44: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 43 -

Ri2 es una medida de lo buena que es la aproximación:

- Si Ri2

= 0 significa que Φm(xi) coincide con yi. - Si Ri

2 es grande, la aproximación no es cercana a los valores de yi. - El hecho de usar el cuadrado de los errores tiene el sentido de lograr que estos sean mínimos en valor absoluto. Si se usara directamente la suma de los errores, al poder ser estos positivos o negativos, su suma podría casi anularse y sin embargo ser estos grandes individualmente. - Además, la diferenciación de los cuadrados lleva a una primera potencia, que es fácil de manejar. Hay algunas variantes a la fórmula general. Por ejemplo: i=N Smw

2 = Σ wi Ri

2 ≥ 0 , o sea, se utilizan factores de peso wi.

i=1 Estos factores están relacionados con la precisión de los valores y1, y2, y3,..., yN y son

determinados a partir de estimaciones de la seguridad relativa de la información experimental. Esta variante se llama Cuadrados Mínimos Ponderados. Otra variante es requerir que la integral, en vez de la suma de los residuos sea mínima,

es decir: b j=m

∫ (yi - Σ aj xij)2

dx = mínimo a j=0

Esto es más exacto pero para propósitos de aplicación es mucho mas difícil de aproximar.

Si desarrollamos los residuos tenemos: R1 = y1 – (a0 + a1 x1 + a2 x1

2 + ...+ am x1

m) R2 = y2 – (a0 + a1 x2 + a2 x2

2 + ...+ am x2

m) ------------------------------------------------- RN = yN – (a0 + a1 xN + a2 xN

2 + ...+ am xN

m) Tenemos N ecuaciones algebraicas simultáneas con m+1 incógnitas a0, a1, a2,..., am. Si N > m+1 hay mas ecuaciones que incógnitas. Estas pueden solamente ser

determinadas imponiendo la condición que Sm2 o Smw

2 sean mínimos. Usando la formulación más general, es necesario que:

δSmw2

= 0 con j = 0, 1, 2, ..., m. δaj Reemplazando: i=N k=m δSmw

2 = 0 = 2 Σ wi (yi - Σ ak xi

k)(-xij) con j = 0, 1, 2, ..., m.

δaj i=1 k=0

Reagrupando:

i=N k=m i=N Σ wi yi xi

j = Σ ak Σ wi xik

xij con j = 0, 1, 2,..., m

i=1 k=0 i=1

Simplificamos la nomenclatura llamando: i=N i=N k=m njk = Σ wi xi

k xi

j y pj = Σ wi yi xij y tenemos pj = Σ ak njk

i=1 i=1 k=o

Page 45: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 44 -

Tenemos un sistema de m+1 ecuaciones lineales en aj que pueden resolverse por cualquiera de los medios conocidos: n00 a0 + n01 a1 + n02 a2 + ... + n0m am = p0 n10 a0 + n11 a1 + n12 a2 + ... + n1m am = p1 ------------------------------------- nm0 a0 + nm1 a1 + nm2 a2 + ... + nmm am = pm

Sin embargo, la forma de la matriz de los coeficientes hace que la solución sea muy difícil si m ≥ 6. ----------------------------------------------------------------

Otro rasgo importante del Método de los Cuadrados Mínimos es que, con ciertas modificaciones, pueden manejarse tipos muy variados de relaciones. - Si Φ = K0 eK1 x se puede tomar log Φ = log K0 + K1 x.

Aquí es: Φm(x) = log Φ

a0 = log K0

a1 = K1 u1(x) = x

Es del tipo: Φm(x) = a0 + a1 u1(x). - Si Φ = K0 xK1 se puede tomar log Φ = log K0 + K1 log x

Aquí es: Φm(x) = log Φ

a0 = log K0

a1 = K1 u1(x) = log x

Es del tipo: Φm(x) = a0 + a1 u1(x).

En estos casos hay que tener muy en claro que no se está ajustando la ecuación original Φ sino a la modificada Φm(x). 5.1. Estimación de la Precisión del Método

Es necesario algún sistema para estimar la precisión de los coeficientes a0, a1, a2,..., am determinados por el método.

Una forma apropiada es utilizar la varianza del error. Suponiendo que los yi(x) están normalmente distribuidos y con una varianza de los errores σ2 independiente de m, una estimación de la varianza está dada por: i=n

σ2 = __ σ2m _ = Σ (yi - Φm(xi))2

N – (m+1) i=1 N – (m+1) donde N – (m+1) son los grados de libertad del sistema.

La varianza es una medida de la dispersión de la distribución del error y cuanto mas pequeño sea su valor mas precisa es la aproximación para los puntos dados. ----------------------------------------------------------------

Hay problemas prácticos con el uso del método. Por ejemplo: Si se utiliza una aproximación polinómica ¿qué grado usar?

Page 46: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 45 -

- Una solución usual es partir de m = 1, es decir Φm(x) = a0 + a1 u1(x) y, obtenidas a0 y a1 calcular σ2.

Luego probar con m = 2 y repetir los cálculos hasta hallar dos órdenes sucesivos para los que σ2 prácticamente no difiera.

Desafortunadamente, esto implica realizar cada vez todos los cálculos del método. - En muchos casos, por la forma de la curva ya se tiene una buena estimación del orden (para las polinómicas) o de cuales son las ui(x) mas adecuadas para probar.

Page 47: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 46 -

6. SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES 6.1. Introducción

Los sistemas de ecuaciones simultáneas aparecen frecuentemente cuando se trabaja en cálculo o diseño. Pueden ser tanto el resultado del planteo de los balances macroscópicos en un equipo como generarse durante la solución numérica de ecuaciones diferenciales por el método de las diferencias finitas.

Acá nos limitaremos al estudio de un conjunto de n ecuaciones con n incógnitas. Cada sumando en cada ecuación contiene una sola incógnita y cada incógnita aparece a la primera potencia. Se dice que tal ecuación es lineal y al conjunto se lo denomina SISTEMA DE ECUACIONES LINEALES.

En el caso de dos incógnitas, la gráfica de dicha ecuación es una recta; si son tres es un plano y si son mas es un hiperplano. La solución que buscamos es un conjunto de valores para las n incógnitas el cual, cuando se sustituye en las n ecuaciones, las satisface a todas simultáneamente.

Dado un conjunto arbitrario de ecuaciones no podemos decir, sin investigarlo previamente, si existe una solución, o que en caso de existir, la misma sea única.

Hay sólo tres posibilidades: 1) El sistema tiene solución única: Por ejemplo: 2x + y = 4 x - y = -1 La solución es: x = 1.00, y = 2.00 En este caso son dos líneas que se interceptan en un punto

-3

-2

-1

0

1

2

3

4

5

0 0,5 1 1,5 2 2,5 3 x

y

2) El sistema no tiene solución: Por ejemplo: 2x + y = 4 2x + y = 6 En este caso son dos líneas paralelas (podrían ser planos o hiperplanos paralelos, en el caso de ser mas ecuaciones simultáneas).

Page 48: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 47 -

-3

-2

-1

0

1

2

3

4

5

6

7

0 0,5 1 1,5 2 2,5 3 x

y

3) Hay un infinito número de soluciones: Por ejemplo 2x + y = 4 4x + 2y = 8 No son independientes. En este caso son dos formas alternas de expresar la misma relación. Los casos 2) y 3) se llaman casos singulares. Hay métodos, como el de eliminación de Gauss, que dan información inmediata acerca de la singularidad. En otros casos se puede saber por el planteamiento del problema o resolviendo el determinante de los coeficientes. Si este vale 0, el sistema es singular. Pero esto es generalmente tan laborioso como resolver el sistema. 6.2. Métodos de Solución

Hay dos formas generales de atacar estos problemas: 1) MÉTODOS DIRECTOS: Que son finitas en el número de operaciones. 2) MÉTODOS INDIRECTOS: Que son – en teoría – infinitas en el número de operaciones.

Esto implica que las directas llegan a la solución exacta del problema (dentro siempre del error de redondeo).

En cambio las indirectas se van aproximando por pasos sucesivos (iteraciones) al valor verdadero de las incógnitas y se detiene el cálculo al alcanzarse la precisión deseada, es decir: tienen un error de truncación inherente al método. 6.2.1. Métodos Directos

Estudiaremos dos métodos:

a) Por determinantes (Regla de Cramer) b) Por eliminación de Gauss

a) Por determinantes:

Es útil sólo cuando se tienen pocas ecuaciones (no mas de 4 ó 5). Para verificar si las ecuaciones son independientes se arma el determinante de los coeficientes ∆ y si este es distinto de 0, el sistema es independiente.

Page 49: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 48 -

Para hallar la solución se reemplaza en este determinante la columna correspondiente a los coeficientes de la variable a evaluar por la de los términos independientes, se evalúa y se divide por el valor de ∆. Por ejemplo, si tenemos el caso general: a11 x1 + a12 x2 + a13 x3 + a14 x4 = b1 a21 x1 + a22 x2 + a23 x3 + a24 x4 = b2 a31 x1 + a32 x2 + a33 x3 + a34 x4 = b3 a41 x1 + a42 x2 + a43 x3 + a44 x4 = b4

| a11 a12 a13 a14 | ∆ = | a21 a22 a23 a24 | | a31 a32 a33 a34 | | a41 a42 a43 a44 | | b11 a12 a13 a14 | | b21 a22 a23 a24 | | b31 a32 a33 a34 | | b41 a42 a43 a44 | x1 = ------------------------- ∆ Una forma de verificar si el ∆ es distinto de 0 sin evaluar-lo consiste en eliminar por combinaciones lineales todos los elementos que estén debajo de la diagonal principal. Si al realizar esto la diagonal no posee ningún 0, el sistema es linealmente independiente y el valor de ∆ es el producto de los términos de la diagonal modificada. Veremos un caso muy simple sólo con fines de ejemplificar el procedimiento: 2x + 2z + 2u = 16 y + z + u = 9 x + y + z = 6 x + y + z + u = 10 | 2 0 2 2 | ∆ = | 0 1 1 1 | Resto la primera fila multiplicada | 1 1 1 0 | por ½ de las tercera y cuarta | 1 1 1 1 | Queda: | 2 0 2 2 | ∆ = | 0 1 1 1 | Resto la segunda fila de las tercera | 0 1 0 -1 | y cuarta | 0 1 0 0 | Queda: | 2 0 2 2 | ∆ = | 0 1 1 1 | Resto la tercera fila de la cuarta | 0 0 -1 -2 | | 0 0 -1 -1 | Queda finalmente: | 2 0 2 2 | ∆ = | 0 1 1 1 | = -2

Page 50: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 49 -

| 0 0 -1 -2 | | 0 0 0 1 | | 16 0 2 2 | | 9 1 1 1 | | 6 1 1 0 | | 10 1 1 1 | x = ------------------ = 1 Igualmente es y = 2, z = 3, u = 4. ∆ Este método tiene la obvia desventaja de ser muy complicado de calcular para determinantes grandes y que el verificar si las ecuaciones son linealmente independientes consume mucho tiempo. b) Por eliminación de Gauss Se basa en obtener un sistema de ecuaciones triangular superior del tipo: a1,1 x1 + a1,2 x2 + ................................... + a1,n xn = b1 a’2,2 x2 +....................................+ a’2,n xn = b’2 --------------------------------------------------------------

an-2n-1,n-1xn-1 + an-2

n-1,nxn = bn-2n-1

an-1n,nxn = bn-1

n

que tiene solución inmediata exacta según: bn-1

n bn-2n-1 - an-2

n-1,n xn xn =-------- xn-1 =------------------- y, en general: an-1

n,n an-2n-1,n-1

1,

1

1

,1

=

+=

−− ∑−= i

ii

k

nk

ik

i

kiii

i a

bx

xa con i = n, n-1, ..., 1

Este método de resolver a partir de la última incógnita se llama sustitución inversa. Veremos ahora como llegamos a un sistema de este tipo a partir de nuestro caso de n ecuaciones lineales con n incógnitas. Primero – para mayor claridad – veremos un ejemplo de un sistema de tres ecuaciones con tres incógnitas y, después, el caso general. a1,1 x1 + a1,2 x2 + a1,3 x3 = b1 (1) a2,1 x1 + a2,2 x2 + a2,3 x3 = b2 (2) a3,1 x1 + a3,2 x2 + a3,3 x3 = b3 (3) Al menos uno de los coeficientes de x1 (a1,1, a2,1, a3,1) debe ser distinto de 0. Si a1,1 = 0 se hace un cambio de filas por una ecuación cuyo ai,1 sea distinto de 0 (este cambio de filas no afecta al sistema de ecuaciones).

Page 51: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 50 -

Nuestra intención ahora es eliminar los términos en x1 de la segunda y tercera ecuación. Defino entonces: m2 = a2,1 / a1,1. Multiplico (1) por m2 y la resto de (2). Da: (a2,1 – a1,1 m2)x1 + (a2,2 – a1,2 m2)x2 + (a2,3 – a1,3 m2)x3 = b2 - m2 b1 (2’) 0 a’2,2 a’2,3 b’2 Entonces (2) se convirtió en:

a’2,2 x2 + a’2,3 x3 = b’2 (2’) De la misma forma hago m3 = a3,1 / a1,1. Multiplico (1) por m3 y la resto de (3). Da: (a3,1 – a1,1 m3)x1 + (a3,2 – a1,2 m3)x2 + (a3,3 – a1,3 m3)x3 = b3 - m3 b1 (3’) 0 a’3,2 a’3,3 b’3 Entonces (3) se convirtió en: a’3,2 x2 + a’3,3 x3 = b’3 (3’) Mi sistema está ahora compuesto por (1), (2’) y (3’). Ahora intento eliminar el término en x2 de (3’). Aclaración: Acá vale de nuevo la prevención que si el a’2,2 = 0, se cambian filas (la (3’) por la (2’)). Si también ocurre que es a’3,2 = 0, entonces el sistema es singular. En cambio, si a’2,2 = 0 y a’3,2 ≠ 0, al reordenar ya tengo mi matriz triangular superior.

Supongamos el caso mas general en que a’2,2 ≠ 0 y a’3,2 ≠ 0: Defino m’3 = a’3,2 / a’2,2. Multiplico (2’) por m’3 y la resto de (3’). Da: (a’3,2 – a’2,2 m’3) x2 + (a’3,3 – a’2,3 m’3) x3 = b’3 – m’3 b’2 (3’’) 0 a’’3,3 b’’3 Entonces (3’) se convirtió en: a’’3,3 x3 = b’’3 (3’’)

Mi sistema queda al fin como:

a1,1 x1 + a1,2 x2 + a1,3 x3 = b1 (1) a’2,2 x2 + a’2,3 x3 =b’2 (2’) ’’3,3 x3 =b’’3 (3’’) La solución es inmediata (sustitución inversa): x3 = b’’3 / a’’3,3 x2 = (b’2 - a’2,3 x3) / a’2,2 x1 = (b1 - a1,2 x2 - a1,3 x3) / a1,1

Dos ejemplos sencillos para ilustrar el procedimiento:

Page 52: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 51 -

1) x + y + z = 4 2x + 3y + z = 9 x - y - z = -2 Armo el determinante de los coeficientes (incluyendo los términos independientes): | 1 1 1 4 |

| 2 3 1 9 | Defino m2 = 2 y m3 = 1. Hago los reemplazos

| 1 -1 -1 -2 | correspondientes: Da: | 1 1 1 4 |

| 0 1 -1 1 | Defino m’3 = -2 . Hago los reemplazos

| 0 -2 -2 -6 | correspondientes: Da: | 1 1 1 4 |

| 0 1 -1 1 |

| 0 0 -4 -4 | El sistema resultante es: x + y + z = 4 y - z = 1 -4z = -4 De aquí se despeja z = 1 ; y = 2 ; x = 1. 2) El mismo caso visto con determinantes: 2x + 0y + 2z + 2u = 16 0x + y + z + u = 9 x + y + z + 0u = 6 x + y + z + u = 10 | 2 0 2 2 16|

| 0 1 1 1 9| Defino m2 = 0 ; m3 = ½ ; m4 = ½ y reemplazo:

| 1 1 1 0 6|

| 1 1 1 1 10| | 2 0 2 2 16|

| 0 1 1 1 9| Defino m’3 = 1 ; m’4 = 1 y reemplazo:

| 0 1 0 -1 -2|

| 0 1 0 0 2| | 2 0 2 2 16|

| 0 1 1 1 9| Defino m”4 = 1 y reemplazo y queda la

Page 53: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 52 -

| 0 0 -1 -2 -11| forma definitiva

| 0 0 -1 -1 -7| | 2 0 2 2 16|

| 0 1 1 1 9|

| 0 0 -1 -2 -11|

| 0 0 0 1 4|

El discriminante es ∆’ = -2 La forma final a la que se le aplica la sustitución inversa es:

2x + 0y + 2z + 2u = 16 y + z + u = 9 - z - 2u = -11 u = 4 z = 3 ; y = 2 ; x = 1. Si ahora generalizamos el tratamiento para el caso estándar de n ecuaciones lineales simultáneas con n incógnitas tenemos: a1,1 x1 + a1,2 x2 +...............+ a1,j xj +...............+ a1,n xn = b1 a2,1 x1 + a2,2 x2 + ..............+ a2,j xj +...............+ a2,n xn = b2

-------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------- ai,1 x1 + ai,2 x2 + ..............+ ai,j xj +............... + ai,n xn = bi

-------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------- an,1 x1 + an,2 x2 + ..............+ an,j xj +...............+ an,n xn = bn

Supondremos que las ecuaciones han sido acomodadas tal que a1,1≠ 0. Definimos n-1 multiplicadores mi = ai,1 / a1,1 con i = 2, 3, ... , n y restamos de cada ecuación (excepto de la primera) la primera multiplicada por el mi correspondiente. Por ejemplo para la ecuación genérica i es: (ai,1–mi a1,1)x1+(ai,2–mi a1,2)x2+...+(ai,j–mi a1,j)xj+...+(ai,n–mi a1,n)xn=bi–mi b1 0 Si definimos a los coeficientes resultantes como: a’i,j = ai,j – mi a1,j con j = 1, 2, ... , n b’i = bi – mi b1 con i = 2, 3, ... , n es fácil ver que a’i,1 = 0 para i = 2, 3, ... , n. Entonces, las ecuaciones transformadas quedan: a1,1 x1 + a1,2 x2 +...............+ a1,j xj +.............+ a1,n xn = b1 0 + a’2,2 x2 + .............+ a’2,j xj +.............+ a’2,n xn = b’2

-------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------

Page 54: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 53 -

0 + a’i,2 x2 +..............+ a’i,j xj +.............+ a’i,n xn = b’i

-------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------- 0 + a’n,2 x2 +..............+ a’n,j xj +............+ a’n,n xn = b’n

Este esquema se continua aplicando para eliminar los términos en x2 de la tercera ecuación en adelante, en x3 de la cuarta en adelante, y así sucesivamente,... En el k-ésimo paso eliminamos la columna en xk definiendo los multiplicadores: mk-1

i = ak-1

i,k / ak-1k,k con i = k+1, ... , n.

Siempre debe de ser ak-1

k,k ≠ 0 (sino reordeno líneas). Obtengo: ak

i,j = ak-1i,j – mk-1

i ak-1k,j para i = k+1,..., n

bk

i = bk-1i – mk-1

i ak-1k para j = k,..., n

En el momento en que k = n-1 estamos eliminando xn-1 de la última ecuación. El

conjunto triangular final de ecuaciones está dado por:

a1,1 x1 + a1,2 x2 +.............+ a1,j xj +...............+ a1,n xn = b1 a’2,2 x2 +.............+ a’2,j xj +...............+ a’2,n xn = b’2

-------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------- aj-1

j,j xj +.............+ aj-1j,n xn = bj-1

j

-------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------- an-1

n,n xn = bn-1n

El DDB para el proceso de eliminación se da a continuación. Sigue con bastante aproximación la descripción algebraica que se acaba de hacer. Además permite la posibilidad de hacer intercambio de filas cuando el aj-1

k,k vale 0. En ese mismo paso se puede utilizar un refinamiento adicional: No sólo es

imprescindible que los elementos pivotales (los ak-1k,k ) sean distintos de cero sino que, además,

principalmente en sistemas grandes, y originado ello en el redondeo de los sistemas de cálculo, cuando el elemento pivotal tiene un valor absoluto muy chico existe mucho error.

Page 55: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 54 -

k = 1

i = k+1

Acomodar renglones para que los akk ≠ 0 y/o para hallar Max|ai,j|

m = ai,k / ak,k

ai,k = 0

j = k+1

ai,j = ai,j – m ak,j

j = n No j = j + 1

Si

bi = bi – m bk

i = n No i = i + 1

Si

k = n - 1 No k = k + 1

Si

1 (sustitución inversa)

Page 56: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 55 -

Entonces, en algunos casos se pivotea sobre cada sistema reducido para hallar el Max |

ak-1i,k| , donde k es la columna de la incógnita a eliminar e i = k, ... , n.

Este ejemplo se llama pivoteo parcial. Hago sólo reordena-miento de filas. Si, en cambio, busco el Max | ak-1

i,j | con i, j = k, ... , n, barro todos los coeficientes posibles. Puedo hacer reordena-miento de filas y columnas. Se llama pivoteo total.

En general, es suficiente con el pivoteo parcial y se emplea mucho menos tiempo de

máquina. La sustitución inversa puede describirse de la manera siguiente: bn-1

n bn-2n-1 - an-2

n-1,n xn xn =---------- xn-1 =------------------------ an-1

n,n an-2n-1,n-1

------------------------------------------------------------------------------------------

xj = (bj-1

j – aj-1j,n xn -...- aj-1

j,j+1 xj+1) / aj-1j,j para j = n-2,…, 1

El DDB de la sustitución inversa puede ser:

k n k -------------------- ----------------- ----------------- i -------------------- ----------------- -----------------

n ---------------------

k j n k i

n

i,j

Page 57: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 56 -

1 (de la eliminación)

xn = bn/ an,n

i = n - 1

j = i + 1

S = 0

S = S + ai,j xj

j = n No j = j + 1

Si

xi = (bi – S) / ai,i

i = 1 No i = i - 1

Si

FIN

Page 58: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 57 -

6.2.2. Métodos Indirectos o iterativos Los métodos directos como el de eliminación de Gauss o alguna de sus variantes

(Jordan, Doolittle, Crout) tienen el problema que al realizarse muchos miles de operaciones, afectada cada una por el redondeo del lenguaje que se usa, pueden llevar a resultados erróneos. Esto ocurre principalmente cuando se deben resolver sistemas de más de 15 a 20 ecuaciones.

Cuando se supone que esto ocurrió – o directamente en los casos en que no se desee correr ese riesgo – se pueden usar métodos iterativos.

En estos se parte de una solución aproximada o tentativa de la matriz de las incógnitas x y por aplicación sucesiva del método se obtienen valores de x cada vez mas aproximados a los verdaderos. El cálculo se detiene cuando para 2 iteraciones sucesivas cada valor xi difiere del calculado en la iteración anterior en menos que una cota prefijada.

Cualquiera de los métodos existentes tiene la desventaja de no siempre converger a una solución y a veces de hacerlo muy lentamente.

Los dos métodos que vamos a presentar: a) Iteración por pasos totales (Método de Jacobi) y b) Gauss - Seidel, siempre convergen si el coeficiente de la incógnita a calcular es suficientemente grande respecto de los otros coeficientes en esa ecuación. Es decir, si tengo: a1,1 x1 + a1,2 x2 +...............+ a1,j xj +...............+ a1,n xn = b1 a2,1 x1 + a2,2 x2 + ..............+ a2,j xj +...............+ a2,n xn = b2

------------------------------------------------------------------------------------------------- ai,1 x1 + ai,2 x2 + ..............+ ai,j xj +............... + ai,n xn = bi

------------------------------------------------------------------------------------------------- an,1 x1 + an,2 x2 + ..............+ an,j xj +...............+ an,n xn = bn y quiero calcular x1 de la primera ecuación, x2 de la segunda, etc., el método tiene convergencia garantizada si:

NiconaaN

ijjjiii ...,,,,, 21

1=≥ ∑

≠=

Un sistema de este tipo suele llamarse sistema diagonal. Esta es una condición suficiente pero no necesaria para la convergencia. a) Iteración por pasos totales: La lógica a seguir es la siguiente: 1) Se explicitan las N incógnitas a partir de las N ecuaciones. 2) Se elige un juego de estimaciones iniciales para esas incógnitas (si se tienen los valores calculados por algún método di-recto, mejor). 3) Se calculan los nuevos valores a partir de las ecuaciones explicitadas, usando para las otras incógnitas los valores de la iteración anterior. 4) Se compara cada uno de ellos con el de la iteración anterior. 5) Si para cada xi se cumple que el |xi

n+1 - xin| < cota de error prescripta, se detiene el cálculo

porque se llegó a los valores buscados. 6) En caso contrario se vuelve a 3).

La fórmula general de cálculo puede explicitarse según:

Nicona

xabx

ii

N

ijj

njjii

ni ...,,,

,

,

2111 =

=∑

≠=+

Por ejemplo, si tenemos el sistema:

Page 59: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 58 -

10 x1 + x2 + 2 x3 = 44 2 x1 + 10 x2 + x3 = 51 x1 + 2 x2 + 10 x3 = 61

Las ecuaciones explicitadas son: x1 = (44 - x2 - 2 x3) / 10 x2 = (51 - 2 x1 - x3) / 10 x3 = (61 - x1 - 2 x2) / 10 Como no se sabe en que orden de magnitud están los valores verdaderos, se toman como valores iniciales x1 = x2 = x3 = 0 y se calcula con una cota de error de 0.01 (para fines comparativos los resultados exactos son x1 = 3.00, x2 = 4.00, x3 = 5.00).

Los valores calculados en los pasos sucesivos son:

n \ x x1 x2 x3 0 0 0 0 1 4.4 5.1 6.1 2 2.67 3.61 4.64 3 3.111 4.102 5.111 4 2.9676 3.9667 4.9665 5 3.01003 4.00983 5.0099 6 2.997037 3.997004 4.997031 7 3.0008934 4.0008895 5.0008955

b) Gauss - Seidel: La lógica a seguir es exactamente igual a la del caso anterior excepto en: 3) Se calculan los nuevos valores a partir de las ecuaciones explicitadas, usando para las otras incógnitas los últimos valores calculados de las mismas.

La fórmula general de cálculo puede explicitarse según:

Nicona

xaxabx

ii

i

j

N

ij

njji

njjii

ni ...,,,

,

,,21

1

1 1

1

1 =

−−

=∑ ∑−

= +=

+

+

Para el mismo caso visto anteriormente la secuencia de cál-culo es:

n \ x x1 x2 x3 0 0 0 0 1 4.40 4.22 4.816 2 3.0148 4.01544 4.995432 3 2.9993696 4.00058388 4.999946264 4 2.999952362 4.00001490 5.000001780

Las últimas incógnitas van convergiendo más rápido que las primeras. Este método es

mucho mejor que el anterior pese a tener una similar complejidad de cálculo. Se utiliza

Page 60: ICN_2009

Simulación de Procesos I y II, 2009. Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP

- 59 -

muchísimo en resolución de sistemas de ecuaciones resultantes de la solución numérica de ecuaciones diferenciales.

Si las ecuaciones están mal condicionadas - tal como ya se dijo - el método puede no converger. Por ejemplo, el mismo caso ya visto, pero expresado de la forma:

x1 + 2 x2 + 10 x3 = 61 10 x1 + x2 + 2 x3 = 44 2 x1 + 10 x2 + x3 = 51 Las ecuaciones explicitadas son: x1 = 61 - 2 x2 - 10 x3 x2 = 44 - 10 x1 - 2 x3 x3 = 51 - 2 x1 - 10 x2

La secuencia de cálculo es: n \ x x1 x2 x3 0 0 0 0 1 61 -566 -5731 2 58803 -573524 -59645 3 1743559 17554924 -179036307 Se observa claramente que el proceso de cálculo diverge. La causa de la no convergencia es que la matriz de los coeficientes está mal conformada. 7. BIBLIOGRAFÍA

-Chapra, S.C y Canale, R.P. (2003) Métodos Numéricos para Ingenieros. Cuarta Edición. Mc Graw Hill Interamericana, México, 969 páginas. -Constantinides, A. y Mostoufi, N. (1999). Numerical Methods for Chemical Engineers with MATLAB Applications. Prentice Hall PTR, New Jersey 07458, USA, 560 páginas. -Goñi, S M (2008). Comunicación personal a los autores. Area Departamental Ingeniería Química, Facultad de Ingeniería, UNLP. -Mascheroni, R.H. y Giner, S.A. (2002) Introducción al Cálculo Numérico Aplicado a Ingeniería Química. Cátedra de Simulación de Procesos, Departamento de Ingeniería Química, Facultad de Ingeniería, Universidad Nacional de La Plata, 49 páginas Agradecimientos Los autores agradecen al Ing. Sandro M. Goñi por su aporte, y a los alumnos de distintos cursos de la asignatura Simulación de Procesos (Plan 1988) y Simulación de Procesos I y II (Plan 2002) del Área Departamental Ingeniería Química, Facultad de Ingeniería, UNLP, por sus críticas constructivas y sugerencias útiles.

--------------------------------------0---------------------------- LA CÁTEDRA, marzo de 2009