Escolar Documentos
Profissional Documentos
Cultura Documentos
Facultad de Ingeniera
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.
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
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
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 .
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);
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.
{
fp=fx(p); if (fabs((p-c)/fabs(p))<0.000001) break; else c=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
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