Você está na página 1de 11

Universidad de Costa Rica

Facultad de Ingeniera

Escuela de Ingeniera Qumica

Anlisis de Procesos II.

Solucin de ecuaciones de una variable o ceros de una funcin

Ana Sofa Arguedas Villa A60485 Oscar Valverde Snchez A65879 Carlos Carvajal Torres A51274

Objetivo general
Utilizar mtodos numricos para aproximar la solucin de un sistema de ecuaciones que describen un fenmeno relacionado con la Ingeniera Qumica y definir cul es el ms apto para resolver el caso propuesto. Desarrollar un algoritmo tipo subprograma que contenga el mtodo numrico seleccionado.

Definicin del caso y ecuacin a resolver


Se tiene un recipiente de vidrio, dos tercios lleno con agua a la temperatura de ebullicin; el cual se calienta sobre una placa de aluminio. Considerando que la temperatura de la superficie de la placa, en contacto con el vidrio se mantiene homognea y constante, se debe calcular el volumen de agua que se pierde por unidad de tiempo. Se tiene la siguiente ecuacin: (1) Para la cual se desconocen tres valores, por lo que se procede a determinar una ecuacin en funcin de y se aproxima el valor que cumpla la condicin. (2) Se cuenta con los siguientes datos: Cuadro I: Significado y unidades para las diferentes variables utilizadas.

Estado Temperatura del agua Temperatura de la placa de aluminio Temperatura del fondo (del vidrio) Diferencia de temperaturas Densidad del agua Calor de vaporizacin del agua Gasto de agua por unidad de tiempo Espesor del vidrio Conductividad trmica del vidrio rea de transferencia de calor Dimetro del recipiente Altura del recipiente Transferencia de calor Coeficiente de transferencia de calor

Flujo estacionario Cuadro C 150 C ? Ref Ref ? 2 1,09 112 184 ? C kg/m3 kJ /kg m3 mm W/m K m2 mm mm kW kW/m2 C

Definicin de los valores de inicio y el error


En algunos mtodos numricos de resolucin de ceros en una funcin se necesita elegir un intervalo en el cual trabajar, tal es el caso del mtodo de biseccin. Para ste se va a elegir un intervalo de [95; 150]. El lmite inferior es la temperatura del agua, el lmite superior es la temperatura a la que se encuentra la placa. Se escogi este intervalo ya que, al estar en contacto el recipiente con la placa, stos llegan a una temperatura de equilibrio (equilibrio trmico), la cual debe estar dentro de ese intervalo porque la placa se enfra y el recipiente con agua se calienta, y llegan a una temperatura que, termodinmicamente, no puede sobrepasar ninguno de los lmites. Para el caso del mtodo numrico en el cual solo se tiene que dar un punto de la curva, se va a elegir el punto 122,5, el cual es el punto medio entre las temperaturas de la placa y el recipiente con agua, ya que, al llegar a un equilibrio trmico, lo ideal sera que llegaran a esa temperatura media.

Definicin de los criterios de convergencia


Uno de los principales problemas bsicos de la aproximacin numrica ha sido el problema de la bsqueda de races; es decir, la obtencin de la solucin de una ecuacin de la forma para una funcin dada. Generalmente, se tratan ecuaciones cuyas races no tienen una solucin cerrada simple, en estos casos es cuando toma relevancia el uso de mtodos de aproximacin de las races. Estos mtodos involucran dos pasos fundamentales: 1. Determinacin de una raz aproximada. 2. Refinamiento de la aproximacin (a partir de consideraciones fsicas o mediante mtodos grficos) hasta algn grado de precisin preestablecido. Se da una serie de aproximaciones o iteraciones hasta que se produzca un resultado convergente. Para determinar el nmero de iteraciones que se deben realizar se siguen los siguientes criterios: 1. Detenerse cuando 2. Detenerse cuando , en donde es una tolerancia predefinida. , en donde es una tolerancia predefinida, y es lo que

llamamos el error relativo y va a ser este error el que utilizaremos en nuestro programa. 3. Detenerse cuando , en donde es una tolerancia predefinida. A continuacin de presentan las tres tcnicas empleadas: el mtodo de biseccin o bsqueda binaria, el mtodo de Newton-Raphson y el mtodo de la secante.

Mtodo de la Biseccin
Sea una funcin continua definida en el intervalo con y de signos diferentes. Por el teorema del valor intermedio, existe un nmero en tal que . Por simplicidad se supone que la raz de este intervalo es nica. El mtodo requiere dividir varias veces a la mitad los subintervalos de y localizar en cada paso la mitad que contenga a . Primero se supone un intervalo donde y , y sea el punto medio de . Si , entonces ; de no ser as, entonces tiene el mismo signo que o . Si y tienen el mismo signo, entonces y se toma y

, si y tienen signos opuestos, entonces y se toma y . Se sigue aplicando el proceso hasta que . Lo que se hace con este procedimiento es ir reduciendo el intervalo hasta encontrar el punto en el cual una aproximacin.

Mtodo de Newton-Raphson
El mtodo de Newton-Raphson es una de las tcnicas numricas ms poderosa que existe para resolver races de ecuaciones. Se utiliza para obtener una solucin a para una funcin diferenciable y una aproximacin inicial . Una forma de introducir esta tcnica se basa en los polinomios de Taylor y genera la siguiente sucesin: para y

El mtodo de Newton comienza con la aproximacin inicial , la aproximacin es la interseccin con el eje x de la lnea tangente a la grfica de en . La aproximacin es la interseccin con el eje x de la lnea tangente a la grfica de en , y as sucesivamente. Si se desea resolver el problema en un intervalo , se debe iterar empezando por un punto en tal que , e iterar de la forma que muestra la recurrencia. La derivacin del mtodo de Newton por medio de las series de Taylor, subraya la importancia de una aproximacin inicial exacta, ya que si no se acerca bastante a la raz real, el mtodo quiz no converja a la raz. Adems, esta tcnica presenta un grave problema, que es la necesidad de conocer el valor de la derivada de en cada aproximacin y resulta un clculo tedioso cuando se trata de funciones complejas.

Mtodo de la secante
Para evitar el problema de evaluar la derivada en el mtodo de Newton se realiza una pequea variacin (sin embargo esto se logra al costo de perder efectividad en la recurrencia asociada al mtodo). Por definicin:

Haciendo

y sustituyendo en la frmula de Newton-Raphson se obtiene:

Para obtener una solucin a se necesitan dos aproximaciones iniciales y ; por lo que se recomienda el uso del mtodo de biseccin para hallar esos valores iniciales. Grficamente el mtodo de la secante funciona de la siguiente forma; se toman los puntos y y se calcula la ecuacin de la recta que pasa por tales puntos. Se resuelve la ecuacin y se toma para . El proceso se repite usando ahora y .

Seleccin los mtodos.


A partir del estudio y anlisis previo de los tres mtodos se determin que primero es factible utilizar el mtodo de la Biseccin ya que es un mtodo simple para programar y fcil de entender su principio, adems de que este aporta el criterio para definir las condiciones iniciales que ocupan los otros dos criterios. Por otro lado, el mtodo de Newton o de la secante sirven mejor para refinar la respuesta conseguida con el mtodo de la biseccin. Comparando estos mtodos se observa que el nmero de iteraciones para el mtodo de Newton-Raphson es mucho menor al nmero de iteraciones que utilizando los otros mtodos. A pesar que el mtodo de la secante permite solucionar el problema de evaluar la derivada de la funcin (que puede presentar un inconveniente en el mtodo de Newton), es ms factible usar este ltimo, ya que para nuestros propsitos sirve adecuadamente, adems de que converge ms rpido. Por lo tanto es ms conveniente utilizar el mtodo de la biseccin y el mtodo de Newton-Raphson para encontrar la raz de la funcin.

Recursos disponibles.
En el desarrollo de la asignacin se utilizaron los siguientes recursos: Computadora Personal AMDT Athlon 64 X2 Dual Core, con Microsoft Windows XP Version 2002 Service Pack 2 y Office 2003. Dev-C++ (programa en el cual se programa con lenguaje C). Instrumentos de oficina (papel, lpices y dems). Libros (bibliografa).

Programa para encontrar races en una funcin con la ayuda de un lenguaje de alto nivel: el lenguaje C
Programa principal
#include <stdio.h> #include <stdlib.h> #include <math.h> float fx(float x) { float fx; fx=pow((x-95),4.0/3.0)*1.039 + (1.09/0.002)*x - (1.09/0.002)*150.0; return fx; }

int main(int argc, char *argv[]) { float ,HTa,Hden,Hlam; float k,e,D,H,A,T2,Ta,den,lam,dt,,h,g,,a,b,c,Q,V; int T1,menu; T1=150; e=0.002; k=1.09; D=0.112; H=0.184; A=D/2*D/2*3.1416;

dT=T2-Ta; h=1.039*(T2-Ta);

HTa=95; Hden=961.91; Hlam=2270; Ta=HTa; den=Hden; lam=Hlam; a=95; b=150; c=122.5;

printf("Se necesita encontrar la T2 para asi hallar Q y con esta V\n"); printf("La ecuacion 0=pow((T2-Ta),4.0/3)*1.039 + k/e*T2 - k/e*T1\n"); printf("es la necesaria para hallar el 0 por cualquiera de los metodos aelegir\n"); printf("se usaron los siguientes datos del grupo H:\n"); printf("Ta=95\nden=961.91\nlam=2270\n"); system("PAUSE"); system("CLS"); printf(" Primero Metodo de Biseccion\n\n\n"); printf("--Con este Metodo los resultados son:\n"); T2=Biseccion(a, b); printf("la temperatura es: %fgrados celcius\n",T2); Q=h*A*(T2-Ta); V=Q/(lam*den); printf("Con la temperatura encontrada el calor transferido es %fKW\n",Q); printf("y asi el gasto de agua por unidad de tiempo es de %fm3/s\n\n\n",V);

printf("--Segundo Metodo de Newton Rapshon\n\n\n"); printf(" Con este Metodo los resultados son:\n"); T2=NewtonRaphson(c); printf("la temperatura es: %fgrados celcius\n",T2); Q=h*A*(T2-Ta); V=Q/(lam*den); printf("Con la temperatura encontrada el calor transferido es %fKW\n",Q); printf("y asi el gasto de agua por unidad de tiempo es de %fm3/s\n",V); } case 3:{ system("EXIT"); break; }

} system("PAUSE"); return 0; }
El programa debe manejar y contener la informacin para su posterior uso en subprogramas y funciones, las cuales tambin son parte de ste. Como se eligi programar en C para el proyecto, el programa tambin incluye las bibliotecas de funciones y la funcin que en si es la ecuacin a utilizar y mediante ella encontrar la raz. (Nota: la funcin pow (x,y) es una funcin matemtica que calcula una potencia, mediante x su base y y su potencia, es una funcin de la biblioteca math.h ya definida en el programa). Luego se aaden a la memoria las constantes y determinaciones de los doce grupos. Es importante recalcar que se renombraron para la memoria del programa los smbolos matemticos: se remplazaron por e, den, lam respectivamente; para agilizar su computacin y manejo dentro del programa. Posteriormente se elige el grupo y por ende sus variables a utilizar en la ecuacin en este caso en el grupo nmero siete y con ste su valor de , den y lam que fueron utilizados en el desarrollo de la funcin que es en si la ecuacin. Despus de esto se declara en la memoria las constantes a, b, c. Las dos primeras son los extremos del intervalo a usar en el mtodo de la Biseccin y la tercera es el punto o condicin inicial en el cual se empezara a iterar en el mtodo de Newton-Rapshon; las tres fueron justificadas con anterioridad. Por ltimo el programa principal cuenta con el interfaz, el cual podra definirse como la interaccin con el usuario en el cual se le muestran a este ltimo el grupo y los datos usados en el desarrollo del programa, y se le permite la eleccin del mtodo a utilizar para la bsqueda de la raz; o la finalizacin del programa. Esto se realiza mediante un switch que segn la eleccin llama al subprograma que aplica el mtodo elegido ya sea el de Biseccin o el de NewtonRapshon para hallar y mediante ecuaciones algebraicas simples se prosigue a calcular el Calor y el volumen perdido.

Subprograma del mtodo de la Biseccin float Biseccion(float a ,float b) { int i,numiter; float fa,fb,p,fp,b1; CERO=pow(1,-32); numiter=50; for (i=1;i<numiter;++i) { b1=b; fa=fx(a); fb=fx(b); p=a+(b-a)/2; if (fabs(p)<CERO) { printf(Se ha producido un erro el sistema debe cerrarse); system(PAUSE); exit(1); } else { fp=fx(p); if ((fabs(p-b1)/fabs(p))<0.000001 && i>1)break;

if (fp*fa<0) { b1=p; b=p; } else { b1=p; a=p; } } printf("Despues de %d iteraciones se determino que:\n",i); return p; }
Este es el subprograma que realiza el algoritmo iterativo del Mtodo de la Biseccin para encontrar el cero de la ecuacin dada. Este subprograma utiliza la funcin fx que se declar en el programa principal para encontrar imgenes de la ecuacin dada, lo que ahorra la computacin de otras variables y permite definir el subprograma solo en funcion de lintervalo . El for itera de manera limitada por el error relativo anteriormente elegido o salirse si no se encuentra en el nmero de iteraciones definida.

Subprograma del mtodo de Newton-Raphson


float NewtonRaphson ( float c ) { int i,numiter; float fc,fc1,fb,fd,p,fp,d,c1; CERO= pow(1,-32); numiter=50; for (i=1;i<numiter;++i) { c1=c+d d=0.000001; fc=fx(c); fc1=fx(c1); fd=(fc1-fc)/d; p=c-fc/fd;

if (fabs(p)<CERO) { printf(Se ha producido un eror el sistema debe cerrarse); system(PAUSE); exit(1); }


else

{
fp=fx(p); if (fabs((p-c)/fabs(p))<0.000001) break; else c=p; }

printf("Despues de %d iteraciones se determino que:\n",i); return p; }

Este es el subprograma que realiza el algoritmo del mtodo de Newton Rapshon, con la aplicacin de la variante del mtodo de Secante, para ahorrar el trabajo de calcular la derivada de la ecuacin y se usa as la definicin de derivada dada a continuacin.

Se elige como incremento diferencial , ya que es el cambio ms pequeo aceptado por el programa y se define con este la derivada fd mediante su definicin. Al igual que el mtodo de Biseccin el for controla el proceso iterativo y el subprograma tambin utiliza la funcin antes definida para que el subprograma solo dependa del punto c que tambin ya se defini anteriormente. Es importante recalcar que para fc1 no se pudo utilizar la funcin porque sta no est declarada para realizar una suma. Entonces el valor fue definido manualmente

Anlisis comparativo de los mtodos utilizados


Cuadro II: Nmero de iteraciones, error relativo y races obtenidas a partir del mtodo de la Biseccin. Iteracin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Error Relativo 0.224490 0.100917 0.048035 0.023454 0.011591 0.005762 0.002873 0.001434 0.000718 0.000359 0.000180 0.000090 0.000045 0.000022 0.000011 0.000006 0.000003 0.000001 >0.000001 Raz 122.500000 136.250000 143.125000 146.562500 148.281250 149.140625 149.570313 149.785156 149.677734 149.624023 149.597168 149.610596 149.603882 149.607239 149.605560 149.604721 149.605133 149.604919 149.605026

Cuadro II: Nmero de iteraciones, error relativo y races obtenidas a partir del mtodo de Newton-Raphson. Iteracin 1 2 3 4 5 6 Error Relativo 0.110765 0.046198 0.038796 0.004391 0.000008 >0.000001 Raz 137.758881 144.431320 150.260834 149.603928 149.605057 149.605057

A partir de la informacin de los dos cuadros anteriores, se observa que el valor buscado o la aproximacin obtenida es similar mediante ambos mtodos hasta el cuarto decimal, a partir del cual se da una pequea variacin. Esta variacin puede deberse a la dispersin de los datos producto de las operaciones aritmticas y el uso de decimales utilizados en cada procedimiento. Se observa que el mtodo de Newton-Raphson converge mucho ms rpidamente que el mtodo de la Biseccin. En efecto, puede evidenciarse que para el mtodo de la biseccin se tiene que el programa hizo 19 iteraciones para encontrar la raz con el error deseado, mientras que el mtodo de Newton-Raphson solo necesita 6 iteraciones para encontrar la raz bajo este mismo margen de error. Adems con este ltimo mtodo la coincidencia de los valores obtenidos en las dos ltimas iteraciones (cuadro III) garantiza que el valor sea muy cercano al real. No obstante, este resultado se esperaba segn el anlisis previo de cada mtodo. Por lo tanto se considera que el mtodo de Newton-Raphson es el ms apropiado en este caso y en general.

Bibliografa

Chapra, Steven. Mtodos numricos para ingenieros; Cuarta edicin. Mc. Graw-Hill, Mxico, 2003 Aliva H, Juan F. Elementos de mtodos numricos; Primera edicin. UNA, Heredia, Costa Rica, 1996. J.M. Smith; H.C. Van Ness; M. M. Abbott. Introduccin a la termodinmica en Ingeniera Qumica; stima edicin. Mc. Graw-Hill, Mxico, 2007. Deitel H.M.Como programar en C/C++.Segunda Edicion, Prentice Hall Hispanoamerica S.A1995

Você também pode gostar