159
Autorizada la entrega del proyecto de la alumna: D.ª Nuria Merchán Ríos Madrid, 8 de septiembre de 2009 EL DIRECTOR DEL PROYECTO Fdo.: Dr. D. Francisco Javier Rod ríguez Gómez Vº Bº del Coordinador de Proyectos Fdo.: D. Eduardo Alcalde Lancharro Fecha: ……/ ……/ ……

121-159

Embed Size (px)

Citation preview

  • Autorizada la entrega del proyecto de la alumna:

    D. Nuria Merchn Ros

    Madrid, 8 de septiembre de 2009

    EL DIRECTOR DEL PROYECTO

    Fdo.: Dr. D. Francisco Javier Rodrguez Gmez

    V B del Coordinador de Proyectos

    Fdo.: D. Eduardo Alcalde Lancharro Fecha: / /

  • PROYECTO FIN DE CARRERA

    SOFTWARE DE RESOLUCIN DE PROBLEMAS CON VALOR EN FRONTERA DE ECUACIONES

    DIFERENCIALES ORDINARIAS

    AUTORA: NURIA MERCHN ROS

    MADRID, SEPTIEMBRE 2009

    UNIVERSIDAD PONTIFICIA COMILLAS

    ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI) INGENIERO EN INFORMTICA

  • Agradecimientos y dedicatoria

    S perseverante, porque el agua horada la roca a fuerza de caer sobre

    ella.

    Prosigue y no desmayes, y ten en mucho lo poco conseguido, pues la

    llovizna no es abundante y, sin embargo, cala.

    El collar de la paloma, Ibn Hazm de Crdoba

    Gracias a mis padres y a mi hermana que siempre han estado ah

    apoyndome y recordndome esta cita de este poeta cordobs. Tambin

    quiero darle las gracias a mi director Francisco Javier, por su ayuda y

    paciencia.

    Finalmente, quiero dedicarle este proyecto, de forma muy especial a

    aquellos que se emocionaran sabiendo que ya termin esta ingeniera.

    Software para la resolucin de EDO I

  • ResumenEs objeto del presente proyecto el abordar un desarrollo software para el estudio, anlisis e

    implementacin de los mtodos numricos que se encargan de resolver de manera

    aproximada las ecuaciones diferenciales de segundo orden con la siguiente estructura:

    y = f Hx, y, yL a x b

    que verifica las condiciones de frontera en los puntos extremos del intervalo:

    yHaL = a y yHbL = b.

    Este tipo de ecuaciones diferenciales de segundo orden se presentan con frecuencia en

    numerosos problemas de Ingeniera Civil (deflexiones de una viga de seccin rectangular

    con carga uniforme), en Fsica (potenciales electroestticos en materiales cargados

    uniformemente), y en Qumica (anlisis del flujo de la corriente en un tubo al vaco,

    ecuacin de Van der Pol).

    Los mtodos numricos objeto de anlisis, estudio e implantacin son:

    1.- Mtodo del disparo lineal. Se basa en la sustitucin del problema lineal con condiciones

    de frontera por otros dos problemas con valores iniciales. Se emplea el mtodo de Runge-

    Kutta de cuarto orden (que resuelve ecuaciones diferenciales de primer orden) con el fin de

    conseguir las aproximaciones de este mtodo.

    Proyecto Fin de Carrera II

  • 2.- Mtodo del disparo para problemas no lineales. Aun parecindose al mtodo lineal, la

    solucin del problema no se expresa como una combinacin lineal de las soluciones a los

    problemas de dos valores iniciales, si no que utiliza una sucesin de problemas con valor

    inicial. Este mtodo se auxilia del mtodo de de Runge-Kutta de cuarto orden y del mtodo

    de resolucin de ecuaciones no lineales de Newton.

    3.- Mtodo de las diferencias finitas para problemas lineales. Este mtodo reemplaza las

    derivadas en las ecuaciones diferenciales por una aproximacin de cocientes de diferencias

    finitas adecuadas.

    4.- Mtodo de las diferencias finitas para problemas no lineales. Utiliza, como en el

    mtodo anterior, el mtodo de diferencias finitas, pero al dar origen a un sistema de

    ecuaciones no lineales, se requiere un proceso iterativo para su resolucin, en particular se

    emplea el mtodo de Newton para sistemas de ecuaciones no lineales.

    5.- Mtodo de Raileigh-Ritz. En este mtodo se selecciona de un conjunto de todas las

    funciones, suficientemente derivables que verifican las condiciones de frontera, aquellas

    que reducen al mnimo unas determinadas integrales. Posteriormente, se disminuye el

    conjunto de funciones candidatas para obtener la aproximacin a la solucin del problema

    con valor de frontera. Es decir, la funcin que aproxima la solucin es una combinacin

    lineal de ciertas funciones bsicas que son linealmente independientes.

    En el mtodo lineal segmentario cada funcin bsica es sustituida por un polinomio lineal

    definido por intervalos.

    Software para la resolucin de EDO III

  • En el mtodo de los trazadores cbicos cada funcin bsica es sustituida por un polinomio

    cbico o trazador B (polinomio cbico en forma de campana). Este mtodo da origen a un

    sistema lineal de ecuaciones con una matriz simtrica de banda con un ancho mximo de

    valor siete, que se resuelve mediante el mtodo de descomposicin de Cholesky.

    Los citados mtodos, tras haberse estudiado detalladamente, se disean y se programan en

    un lenguaje con capacidades de clculo numrico, simblico y con funcionalidades grficas,

    a fin de analizar tanto las aproximaciones numricas con su cota de error, como representar

    las grficas de la solucin exacta de la ecuacin diferencial junto a la funcin aproximada

    obtenida.

    Por ultimo, se presentan todos los algoritmos de este proyecto bajo una interfaz grfica de

    usuario (GUI) que facilita y permite comprobar cada uno de los mtodos para cualquier

    ecuacin diferencial de segundo orden con valor en la frontera de dos puntos. Los

    resultados, numricos y grficos, se presentan en la propia interfaz de usuario diseada, y el

    detalle de todos los pasos intermedios con los sistemas de ecuaciones lineales y no lineales

    y dems frmulas, se indican en un fichero del entorno de desarrollo empleado: el programa

    Mathematica.

    Proyecto Fin de Carrera IV

  • AbstractThe objective of this project is to develop software for the study, analysis and

    implementation of numerical methods which are used to solve in an approximate way a

    second-order differential equations with the following structure:

    y = f Hx, y, yL a x b

    Which verifies the boundary-values conditions at the endpoints of the interval:

    yHaL = a y yHbL = b.

    This types of second-order differential equations are often presented in many problems of

    Civil Engineering (alterations of a rectangular beam section with uniform weight load) in

    Physics (electrostatic potentials in materials uniformly loaded) and in Chemistry (The Van

    der Pol equation, i.e. an analysis of the flow of the stream in a vacuum pipe/tube

    (Relaxation Oscillations).

    The numerical methods to be analysed, studied and implanted/introduced are:

    1. - Linear shooting method. Which is based on the substitution of the boundary-value

    linear problem for two other problems with initial values. The fourth-order Runge-Kutta

    method (which solves first-order differential equations) with the aim of achieving the

    approximations of this method.

    Software para la resolucin de EDO V

  • 2. - The shooting method for nonlinear problems. Even though it is similar to the linear

    method, the solution to the problem is not expressed as a linear combination of the

    solutions to the problems with two initial values Instead a succession of problems with

    initial value is used. This method is supported by the fourth-order Runge Kutta method and

    the Newton method for solving nonlinear equations.

    3. - The finite-difference method for linear problems. This method replaces the derivatives

    in the differential equations for an approximation of quotients of adequate finite differences.

    4. - The finite-difference method for nonlinear problems. Like the previous method, it uses

    the finite-difference method, but as it gives rise to a system of nonlinear equations, a

    repeated process is required in order to solve it; in particular the Newton method for

    nonlinear equations systems is applied.

    5. - Raileigh-Ritz method. In this method, a whole group of all the functions is selected,

    enough derivative, which verify the boundary-values conditions, those ones that reduce

    some specific integral signs to the minimum. As a result, the group of candidate functions

    for obtaining the approximation to the solution of the problem with boundary-value is

    diminished. That is to say, the function which brings up the solution is a linear combination

    of some basic functions which are independent in a linear way.

    The piecewise linear method, each basic function is substituted by a linear polynomial

    defined by intervals.

    In the cubic spline method, each basic function is substituted by a cubic polynomial or B

    Proyecto Fin de Carrera VI

  • tracer (cubic polynomial with a bell shape). This method gives rise to a linear system of

    equations with a symmetric band matrix with a maximum width of seven which is solved

    through Cholesky's decomposition method.

    When studied in detail, the methods mentioned above are designed and programmed in a

    language with numerical, symbolic calculation capacities and with graphic functions with

    the aim of analysing the numerical approximations with their error figure, and also

    representing the exact graphics solution of the differential equation together with the

    approximate function obtained.

    Finally, all the algorithms of this project under a graphical user interface (GUI) facilitates

    and allows checking each of the methods for any second-order differential equation with

    boundary-value of two points. The numerical and graphic results are presented in the

    designed user interface itself, and the detail of all the intermediate steps with the linear and

    nonlinear equation system together with the rest of the formula are shown in a file of the

    development environment used: the Mathematica programme.

    Software para la resolucin de EDO VII

  • ndiceAgradecimientos y dedicatoria I......................................................................................

    Resumen II.........................................................................................................................

    Abstract V...........................................................................................................................

    ndice VIII..............................................................................................................................

    1. Introduccin y motivacin... 1.......................................................................................

    2. Objetivos del proyecto... 5.............................................................................................3. Anlisis de requisitos... 7...............................................................................................

    3.1. Requisitos funcionales... 7...................................................................................

    4. Metodologa... 13.............................................................................................................

    5. El mtodo del disparo lineal... 20....................................................................................

    5.1. Mtodo de Runge-Kutta... 20................................................................................

    5.2. Mtodo del disparo lineal... 24..............................................................................

    6. El mtodo del disparo no lineal... 30...............................................................................

    7. El mtodo lineal de diferencias finitas... 38....................................................................

    8. El mtodo lineal de diferencias finitas para problemas no lineales... 45.........................

    9. El mtodo de Rayleigh-Ritz... 54....................................................................................

    9.1. Mtodo lineal segmentario de Rayleigh-Ritz... 54................................................

    9.2. Mtodo de trazadores cbicos de Rayleigh-Ritz... 72...........................................

    9.2.1. Mtodo de Cholesky... 93............................................................................

    10. Estudio de la arquitectura... 95......................................................................................

    11. Diseo externo... 96.......................................................................................................

    11.1. Mtodos lineales... 97..........................................................................................

    Proyecto Fin de Carrera VIII

  • 11.2. Mtodos no lineales... 103.....................................................................................

    11.3. Mtodos de Rayleigh-Ritz... 110...........................................................................

    11.4. Men Ayuda... 131................................................................................................

    12. Valoracin econmica y planificacin... 133.................................................................

    12.1. Valoracin econmica del proyecto... 133............................................................

    12.2. Planificacin temporal del proyecto... 138............................................................

    13. Conclusiones... 139..........................................................................................................

    Anexo I. Manual de Instalacin y de Usuario... 143..............................................................

    Bibliografa... 146..................................................................................................................

    CD-ROM. Software de Resolucin de Problemas con valor en frontera para la Resolucin

    de Ecuaciones Diferenciales Ordinarias. (en Mathematica).

    Cdigo de los algoritmos numricos.

    Cdigo (Problemas de Contorno con Ecuaciones Diferenciales Ordinarias).nb

    Interfaz de usuario.

    Interfaz.nb

    Conjunto de problemas de Ecuaciones Diferenciales Ordinarias resueltos con los

    diferentes mtodos numricos de aproximacin.

    Problemas (Problemas de Contorno con Ecuaciones Diferenciales Ordinarias).nb

    Software para la resolucin de EDO IX

  • 1. Introduccin y motivacinLa construccin de infraestructuras de gran tamao y para uso pblico,

    principalmente edificios, obras hidrulicas y de transporte, es hoy en da de gran

    importancia. Por ello, existe una rama de la ingeniera llamada Ingeniera Civil que aplica

    los conocimientos de Fsica, Qumica y Geologa a la elaboracin de dichas infraestructuras.

    Figura 1

    Puente Valdebebas HMadridL.

    Figura 2

    Croquis del puente Valdebebas HMadridL.

    Software para la resolucin de EDO 1

  • Un problema comn en las obras de ingeniera civil, como la que se puede observar

    en las imgenes anteriores, es el que se relaciona con la deflexin de una viga de seccin

    transversal rectangular sujeta a una carga uniforme, mientras sus extremos estn soportados

    de modo que no experimentan deflexin alguna.

    Figura 3

    Deflexin de una viga.

    La ecuacin diferencial que aproxima esta situacin fsica es una ecuacin

    diferencial de segundo orden de la forma

    2w

    x2= SE I w +

    q x2 E I Hx- 1L

    donde w = w HxL es la deflexin a una distancia x desde el extremo izquierdo de la viga, l esla longitud, q representa la intensidad de la carga uniforme, E es el mdulo de elasticidad, S

    el esfuerzo en los extremos y finalmente I es el momento central de inercia.

    Esta ecuacin diferencial tiene asociadas dos condiciones de frontera dadas por la

    suposicin de que no ocurre deflexin alguna en los extremos de la viga

    w H0L = w HlL = 0.

    Proyecto Fin de Carrera 2

  • Cuando la viga tiene un espesor uniforme, el producto E I es constante y la solucin

    exacta se obtiene fcilmente. No obstante, en muchas aplicaciones el espesor no es

    uniforme y, por lo tanto, el momento de inercia I es una funcin de x, y se requieren

    mtodos de aproximacin para hallar la solucin del clculo de la deflexin, y es esto a lo

    que el presente proyecto est dedicado.

    El presente proyecto tratar de calcular las aproximaciones de las ecuaciones

    diferenciales dadas mediante la aplicacion de diferentes mtodos numricos que se van a

    desarrollar:

    Mtodo del disparo lineal; para ecuaciones lineales, se basa en la sustitucin del

    problema lineal con valor de frontera por dos problemas con valor inicial.

    Mtodo del disparo para problemas no lineales; la solucin a este problema no

    puede expresarse como una combinacin lineal de las soluciones de los problemas de dos

    valores iniciales. Se necesitan utilizar las soluciones de una sucesin de problemas con un

    valor inicial.

    Mtodo de diferencias finitas para problemas lineales; se basa en reemplazar las

    derivadas en la ecuacin diferencial mediante una aproximacin de cociente de diferencias

    adecuada.

    Mtodo de diferencias finitas para problemas no lineales; se parece al mtodo

    lineal, pero en este caso el sistema de ecuaciones no ser lineal y, por lo mismo se requiere

    un proceso iterativo para resolverlo.

    Software para la resolucin de EDO 3

  • Mtodo de Rayleigh-Ritz; en este mtodo el problema se aborda de una forma

    distinta, ya que se reformula el problema de valor de frontera como un problema que

    consiste en seleccionar, del conjunto de todas las funciones suficientemente derivables que

    satisfacen las condiciones de frontera, aqulla que reduzca al mnimo una determinada

    integral.

    La motivacin del presente proyecto es realizar un software sencillo e intuitivo

    capaz de calcular, una vez introducida la ecuacin, la aproximacin a dichas funciones

    utilizando los mtodos citados anteriormente. Y as permitir el clculo de las deflexiones de

    las vigas en los problemas de Ingeniera Civil, entre otras reas tcnicas.

    Conocer diversos algoritmos para la aproximacin de ecuaciones diferenciales no

    estudiados durante toda la carrera es otra motivacin, ya que amplan los conocimientos de

    matemticas adquiridos hasta el momento y proporcionan una aplicacin prctica a estas

    aproximaciones como puede ser en el mbito de la Ingeniera Civil.

    Otra motivacin es aprender la utilizacin de la herramienta y el lenguaje

    Mathematica que es un programa orientado a reas cientficas, de ingeniera, matemticas y

    reas computacionales.

    Proyecto Fin de Carrera 4

  • 2. Objetivos del proyecto

    Los objetivos que se proponen para este proyecto han sido los de conocer e

    implementar cinco mtodos diferentes para aproximar con un grado de similitud aceptable

    ecuaciones diferenciales procedentes, en este caso, del clculo de las deflexiones de vigas

    de longitud l al aplicarle una fuerza, entre otras aplicaciones prcticas. Adems, se intenta

    mostrar a travs de una aplicacin software estas aproximaciones calculadas con unas

    grficas para poder observar la solucin obtenida por el programa.

    Por lo tanto, otro objetivo que se propone es el de disear dicha aplicacin con una

    interfaz de usuario que permita insertar las frmulas y mostrar los resultados obtenidos y la

    funcin grfica de la aproximacin y de la solucin exacta.

    Adems se considera la finalidad educativa y formativa la intencionalidad principal

    del proyecto.

    A continuacin, se citan los objetivos propuestos para el desarrollo correcto de la

    aplicacin:

    1.- Estudio del mtodo del disparo lineal para su comprensin, y as disear un

    algoritmo para su posterior programacin. Realizacin de diferentes ejercicios para

    comprobar el correcto funcionamiento del programa. Este mtodo implementa para su

    funcionamiento el mtodo de Runge-Kutta, con lo cual tambin es necesario su estudio.

    2.- Estudio del mtodo del disparo no lineal para su comprensin y el posterior

    Software para la resolucin de EDO 5

  • diseo del algoritmo y programacin del mismo. De igual manera, se requiere la

    programacin de diferentes ejercicios para comprobar el correcto funcionamiento del

    programa. Aqu hay que enfrentarse a un mtodo que trata problemas que no son lineales

    como en el mtodo anterior.

    3.- Estudio del mtodo de las diferencias finitas para su comprensin, y disear el

    algoritmo y posteriormente su programacin. Se realizarn diferentes ejercicios para

    comprobarlo. Este mtodo trata problemas diferentes a los anteriores, ya que presentan la

    dificultad de que son algo inestables.

    4.- Estudio del mtodo de las diferencias finitas no lineal, diseo del algoritmo y

    programacin. Se realizar una tanda de ejercicios para comprobar su funcionamiento. Este

    mtodo trata problemas que son tambin algo inestables pero que adems son no lineales.

    5.- Estudio del mtodo de Rayleigh-Ritz, que se compone de dos mtodos: el

    mtodo lineal segmentario y el mtodo de los trazadores cbicos. Diseo de ambos

    algoritmos y su programacin. De igual manera hay que realizar ejercicios para su

    comprobacin. Este es sin duda el mtodo ms complejo por su forma de tratar los

    problemas.

    6.- Diseo y programacin de una interfaz de usuario para la aplicacin que permita

    al usuario realizar de manera cmoda el clculo de las aproximaciones de las ecuaciones

    introducidas y que muestre los resultados de forma grfica. Se realizar gracias a un paquete

    que se aade a Mathematica y que permite la creacin de estos interfaces.

    Proyecto Fin de Carrera 6

  • 3. Anlisis de requisitos3.1. Requisitos funcionalesRF001. Mtodos de la aplicacin.

    La aplicacin debe implementar sies mtodos de aproximacin de ecuaciones

    diferenciales para generar dicha aproximacin y grficos que muestren el resultado. Los

    mtodos que se implementen sern los siguientes:

    Mtodo del disparo lineal.

    Mtodo del disparo no lineal.

    Mtodo lineal de las diferencias finitas.

    Mtodo lineal de las diferencias finitas para problemas no lineales.

    Mtodo de Rayleigh-Ritz lineal segmentario.

    Mtodo de Rayleigh-Ritz trazadores cbicos.

    RF002. Mtodo del disparo lineal.

    Resuelve de forma aproximada ecuaciones diferenciales de segundo orden, con unas

    condiciones de frontera y un valor inicial. Se requieren unas condiciones que garanticen la

    existencia de una solucin para dicha funcin.

    (1)-y + pHxL y + qHxL y + rHxL = 0,

    a x b yHaL = a yHbL = b.

    Software para la resolucin de EDO 7

  • RF003. Mtodo del disparo no lineal.

    Resuelve de forma aproximada ecuaciones diferenciales de segundo orden, con unas

    condiciones de frontera y un valor inicial. Se necesitan unas condiciones que garanticen la

    existencia de una solucin para la funcin.

    (2)y = f Hx, y, yL,

    a x b f HaL = yHaL = a f HbL = yHbL = b.

    RF004. Mtodo lineal de las diferencias finitas.

    Resuelve de forma aproximada ecuaciones diferenciales de segundo orden, con unas

    condiciones de frontera y un valor inicial. Se requieren unas condiciones que garanticen la

    existencia de una solucin para dicha funcin.

    (3)y = pHxL y + qHxL y + rHxL,

    a x b yHaL = a yHbL = b.

    RF005. Mtodo lineal de las diferencias finitas para problemas no lineales.

    Resuelve de forma aproximada ecuaciones diferenciales de segundo orden, con unas

    condiciones de frontera y un valor inicial. Se requieren unas condiciones que garanticen la

    existencia de una solucin para dicha funcin.

    (4)y = f Hx, y, yL,

    a x b yHaL = a yHbL = b.

    Proyecto Fin de Carrera 8

  • RF006. Mtodo de Rayleigh-Ritz lineal segmentario.

    Resuelve de forma aproximada ecuaciones diferenciales de segundo orden, con unas

    condiciones de frontera y un valor inicial. Se requieren unas condiciones que garanticen la

    existencia de una solucin para dicha funcin.

    (5)-

    x pHxL y

    x+ qHxL y = f HxL,

    0 x 1 y H0L = y H1L = 0.

    RF007. Mtodo de Rayleigh-Ritz trazadores cbicos.

    Resuelve de forma aproximada ecuaciones diferenciales de segundo orden, con unas

    condiciones de frontera y un valor inicial. Se requieren unas condiciones que garanticen la

    existencia de una solucin para dicha funcin.

    (6)-

    x pHxL y

    x+ qHxL y = f HxL,

    0 x 1, y H0L = yH1L = 0.

    Software para la resolucin de EDO 9

  • RF008. Interfaz de Usuario.

    El interfaz de usuario debe permitir la ejecucin de todos los mtodos de una forma

    sencilla para el usuario y que a su vez muestre los resultados de forma clara.

    Este interfaz debe contener las siguientes ventanas:

    Ventana men. Al iniciar la aplicacin aparecer una ventana donde se podr

    elegir el mtodo que se desea ejecutar. Adems debe incluir un acceso a una ayuda para el

    usuario.

    Ventana para el mtodo del disparo lineal. Debe incluir tres casillas de texto para

    introducir la ecuacin a aproximar, dos casillas para introducir los valores del intervalo, dos

    casillas para introducir los valores de frontera del intervalo y otra ltima casilla para

    introducir el tamao del paso del intervalo. Tambin debe mostrar la solucin obtenida

    mostrando los puntos de la aproximacin obtenida y un grfico comparativo.

    Ventana para el mtodo del disparo no lineal. Debe incluir una casilla de texto

    para introducir la ecuacin a aproximar, dos casillas para introducir los valores del

    intervalo, dos casillas para introducir los valores de frontera del intervalo y otra ltima

    casilla para introducir el tamao del paso del intervalo. As mismo debe mostrar la solucin

    calculada mostrando los puntos de la aproximacin obtenida y un grfico comparativo.

    Proyecto Fin de Carrera 10

  • Ventana para el mtodo lineal de diferencias finitas. Debe incluir tres casillas de

    texto para introducir la ecuacin a aproximar, dos casillas para introducir los valores del

    intervalo, dos casillas para introducir los valores de frontera del intervalo y otra ltima

    casilla para introducir el tamao del paso del intervalo. Debe mostrar la solucin obtenida

    mostrando los puntos de la aproximacin obtenida y un grfico comparativo.

    Ventana para el mtodo lineal de diferencias finitas para problemas no

    lineales. Debe incluir una casilla de texto para introducir la ecuacin a aproximar, dos

    casillas para introducir los valores del intervalo, dos casillas para introducir los valores de

    frontera del intervalo y otra ltima casilla para introducir el tamao del paso del intervalo.

    As mismo debe mostrar la solucin obtenida mostrando los puntos de la aproximacin

    obtenida y un grfico comparativo.

    Ventana para el mtodo de Rayleigh-Ritz lineal segmentario. Debe incluir tres

    casillas de texto para introducir la ecuacin a aproximar, dos casillas para introducir los

    valores del intervalo, dos casillas para introducir los valores de frontera del intervalo y otra

    ltima casilla para introducir el nmero de subintervalos que se realizarn del intervalo. As

    mismo debe mostrar la solucin obtenida mostrando los puntos de la aproximacin

    obtenida y un grfico comparativo.

    Ventana para el mtodo de Rayleigh-Ritz trazadores cbicos. Debe incluir tres

    casillas de texto para introducir la ecuacin a aproximar, dos casillas para introducir los

    valores del intervalo, dos casillas para introducir los valores de frontera del intervalo y otra

    ltima casilla para introducir el nmero de subintervalos que se realizarn del intervalo. As

    Software para la resolucin de EDO 11

  • mismo debe mostrar la solucin obtenida mostrando los puntos de la aproximacin

    obtenida y un grfico comparativo.

    Ventana ayuda al usuario. Debe contener una ayuda para que el usuario sepa

    cmo debe ejecutar cada mtodo, qu parmetros usa y su pseudocdigo.

    Ventana acerca de la aplicacin. Debe contener los datos relevantes de la

    aplicacin, nombre, autor, director y otros datos que se consideren.

    Proyecto Fin de Carrera 12

  • 4. MetodologaA continuacin, se describe la metodologa utilizada para el desarrollo de la

    aplicacin del proyecto, la cual, al tratarse de un desarrollo de un software que implementa

    funciones matemticas, no utiliza una metodologa estndar.

    La metodologa de desarrollo empleada est basada en el modelo estructurado de

    Yourdon y se siguen unos determinados pasos formales necesarios en este desarrollo, pero

    adaptndola a las necesidades de implementacin del proyecto. Seguidamente se muestra de

    manera grfica las diferentes fases en la que se observa que se han propuesto diferentes

    paquetes de trabajo (WP).

    Figura 4

    Fases del desarrollo de la aplicacin.

    Software para la resolucin de EDO 13

  • WP.01.- Definicin del problema.

    Es el paquete de trabajo fundamental para el desarrollo del proyecto, ya que se

    estudiarn todas las propuestas e ideas que se tienen para el desarrollo del mismo. Se

    marcan los lmites y alcance del proyecto y de qu manera sern abordados. De esta manera

    se obtendrn los objetivos generales a conseguir.

    Es necesario obtener y estudiar informacin relacionada con los mtodos de

    aproximacin que se van a programar en el proyecto para tener todo el conocimiento

    necesario para el correcto desarrollo. As como las herramientas que se van a emplear para

    el mismo.

    WP.02.- Anlisis de requisitos.

    En este paquete de trabajo se proceder a describir y a analizar todo lo que la

    aplicacin tiene que poder hacer una vez que el proyecto est terminado. Se clasifican

    requisitos como funcionales y no funcionales, divididos a su vez en requisitos para cada

    uno de los mtodos que se implementan.

    Estos requisitos han de ser tenidos en cuenta durante todo el desarrollo del proyecto

    y tienen que ser verificados en la fase de pruebas.

    Proyecto Fin de Carrera 14

  • WP.03.- Desarrollo de los mtodos.

    Este mdulo de trabajo a su vez se ha dividido en otro ciclo iterativo que se repite

    para cada mtodo, de manera que cada mtodo se termina totalmente antes de pasar al

    siguiente, con un mayor grado de complejidad. A continuacin se puede ver de manera

    grfica lo explicado anteriormente.

    Figura 5

    Desarrollo de los mtodos numricos.

    WP.03.1.- Anlisis de conceptos.

    Se estudia en profundidad el mtodo a implementar. Es necesario buscar toda la

    informacin posible para conseguir una correcta relacin de conceptos as como de todas

    las funciones que a su vez utiliza el mtodo.

    Software para la resolucin de EDO 15

  • WP.03.2.- Anlisis de requisitos.

    Es necesario aplicar todos los requisitos especficos que se propusieron para cada

    uno de los mtodos, como la manera de introducir las ecuaciones, cmo deben tratarse y

    cmo tienen que ser las salidas.

    WP.03.3.- Diseo del algoritmo.

    Es necesario escribir un pseudocdigo con toda la informacin recabada hasta este

    punto, que cumpla con los requisitos y funcionalidades necesarios.

    WP.03.4.- Codificacin del mtodo.

    Se codifica en el lenguaje especificado el pseudocdigo del paquete de trabajo

    anterior, de manera que pueda implementar ya la funcionalidad requerida correctamente.

    WP.03.5.- Realizacin de ejercicios de prueba.

    En este paquete de trabajo se tiene que probar rigurosamente el correcto

    funcionamiento del mtodo implementado, de no ser as, se debe volver a la codificacin

    del mtodo (WP.03.5) si el fallo es de programacin, o al diseo del algoritmo (WP.03.4) si

    el fallo es conceptual.

    WP.03.6.- Documentacin del mtodo.

    Se realiza una explicacin detallada de la funcionalidad del mtodo.

    Proyecto Fin de Carrera 16

  • WP.04.- Desarrollo del interfaz de usuario.

    Este mdulo de trabajo a su vez se ha dividido en otro ciclo iterativo que se repite

    para cada mtodo, de manera que cada mtodo tiene su interfaz totalmente terminada antes

    de pasar al siguiente. De igual manera, como se especifica en los requisitos, se desarrolla un

    interfaz men desde el que se acceden a los dems. A continuacin se puede ver de manera

    grfica.

    Figura 6

    Desarrollo del interfaz de usuario HGUIL.

    WP.04.1.- Anlisis de requisitos del interfaz.

    Es necesario aplicar todos los requisitos especficos que se propusieron para cada

    uno de los interfaces de cada mtodo, como la manera de introducir las ecuaciones y cmo

    tienen que mostrarse las salidas.

    Software para la resolucin de EDO 17

  • WP.04.2.- Diseo del interfaz.

    Es necesario realizar un diseo previo de cules sern y de cmo aparecern los

    componentes del interfaz para que se adapte a los requisitos expuestos.

    WP.04.3.- Programacin del interfaz.

    Se programa en el lenguaje y con la herramienta especificada de manera que se

    pueda ejecutar la funcionalidad completa requerida.

    WP.04.4.- Realizacin de pruebas del interfaz.

    Se realizan pruebas de entrada y salida. De manera que si ocurriera algn error se

    tendra que volver al paquete de programacin del interfaz (WP.04.3) para subsanarlo si el

    error fuera de programacin o al paquete de diseo del interfaz (WP.04.2) si el error fuera

    de diseo o si no se ajustase a los requisitos.

    WP.05.- Realizacin de pruebas globales.

    En este paquete de trabajo se comprueba la funcionalidad completa de la aplicacin.

    Hay que validar que el programa hace lo que tiene que hacer, navegar correctamente por la

    aplicacin, y comprobar que la ejecucin es correcta y que muestra los resultados correctos

    en funcin del mtodo elegido. Si se produce algn error se tiene que volver al mtodo

    donde ha ocurrido y verificarlo de nuevo.

    Proyecto Fin de Carrera 18

  • Tambin se tiene que validar el cumplimiento de todos los requisitos enunciados al

    comienzo del desarrollo.

    WP.06.- Documentacion final.

    En este paquete de trabajo se ha considerado que se deben desarrollar dos tareas

    fundamentalmente. Se puede observar grficamente a continuacin.

    Figura 7

    Documentacin final.

    WP.06.1.- Documentacin del proyecto.

    Se describe con detalle todos los mtodos implementados, as como todos los

    componentes del ciclo de desarrollo utilizados, valoracin econmica, planificacin,

    adems de todos los documentos que se consideren oportunos.

    WP.06.2.- Realizacin de manual de usuario.

    En este paquete de trabajo se realiza un documento para la ayuda al usuario al

    manejo de la aplicacin, navegacin por la misma, explicacin de funcionalidad y temas

    que puedan resultarle de inters para una correcta utilizacin del software.

    Software para la resolucin de EDO 19

  • 5. El mtodo del disparo linealEn los mtodos de la serie de Taylor para resolver problemas de valor inicial el

    error global final es del orden de O IhN M, donde N se puede elegir suficientemente grandepara que el error sea pequeo. El inconveniente de este mtodo es la eleccin del valor de N

    y el clculo de las derivadas, que puede ser muy complicado.

    Cada mtodo de Runge-Kutta se deriva del correspondiente de Taylor de orden N

    en el que el error global final es del orden de O IhN M. Se realiza una simplificacin pararealizar varias evaluaciones de funciones en cada paso para eliminar el clculo de las

    derivadas de orden superior. Estos mtodos se pueden construir para cualquier orden N .

    5.1. Mtodo de Runge-KuttaEl mtodo ms empleado es el de orden N = 4 ya que es muy preciso, estable y fcil

    de programar. El mtodo de Runge-Kutta de orden cuarto, tambin llamado RK4 simula la

    precisin del de la serie de Taylor de orden N = 4. Se basa en el clculo de la aproximacin

    yi+1 del modo siguiente:

    (7)yi+1 = yi +w1 F1 + w2 F2 +w3 F3 +w4 F4,

    siendo

    (8)

    F1 = h f Hxi, yiL,F2 = h f Hxi + a1 h, yi + b1 F1L,F3 = h f Hxi + a2 h, yi + b2 F1 + b3 F2L,F4 = h f Hxi + a3 h, yi + b4 F1 + b5 F2 + b6 F3L.

    Proyecto Fin de Carrera 20

  • Si se igualan los coeficientes con los del mtodo de la serie de Taylor de orden

    N = 4, de modo que el error local sea del orden O Ih5M, en el mtodo de Runge-Kutta seobtiene el siguiente sistema de ecuaciones:

    (9)

    b1 = a1,b2 + b3 = a2,b4 + b5 + b6 = a3,w1 +w2 +w3 +w4 = 1,

    w2 a1 +w3 a2 +w4 a3 =12

    ,

    w2 a12 +w3 a2

    2 +w4 a32 =

    13

    ,

    w2 a13 +w3 a2

    3 +w4 a33 =

    14

    ,

    w3 a1 b3 +w4Ha1 b5 + a2 b6L = 16 ,

    w3 a1 a2 b3 +w4 a3Ha1 b5 + a2 b6L = 18 ,

    w3 a12 b3 +w4Ia12 b5 + a22 b6M = 112 ,

    w4 a1 b3 b6 =1

    24.

    El sistema tiene 11 ecuaciones y 13 incgnitas. Las dos condiciones adicionales ms

    empleadas son

    (10)a1 =12

    , b2 = 0.

    Con estas restricciones la solucin al sistema de ecuaciones viene dado por los

    valores

    Software para la resolucin de EDO 21

  • (11)

    a1 =12

    , a2 =12

    , a3 = 1,

    b1 =12

    , b2 = 0, b3 =12

    , b4 = 0, b5 = 0, b6 = 1,

    w1 =16

    , w2 =13

    , w3 =13

    , w4 =16

    .

    Sustituyendo estas variables en la frmula general del mtodo de Runge-Kutta de

    orden N = 4, se obtiene la siguiente regla para generar los las aproximaciones yi+1:

    (12)

    yi+1 = yi +HF1 + 2 F2 + 2 F3 + F4L

    6,

    F1 = h f Hxi, yiL,F2 = h f xi +

    h2

    , yi +12 F1 ,

    F3 = h f xi +h2

    , yi +12 F2 ,

    F4 = h f Hxi + h, yi + F3L.

    Se llama mtodo de cuarto orden debido a que reproduce los trminos de la serie de

    Taylor incluyendo el trmino h4, por lo que el error es O Ih5M.

    Error del mtodo frente al tamao del pasoEl trmino de error de la regla de Simpson usada para aproximar la integral de la

    expresin yHx1L - yHx0L = x0x1 f Hx, yHxLL x con un tamao de paso de h 2 viene dado por

    (13)-yH4LHxL h52880

    .

    Si este fuera el nico error cometido en cada paso, entonces despus de los M pasos

    el error acumulado por el mtodo de Runge-Kutta de orden N = 4 HRK4L sera:

    Proyecto Fin de Carrera 22

  • (14)-i=1

    MyH4LHxiL h

    5

    2880

    Hb - aL5760

    yH4LHxL h4 O Ih4M.

    El mtodo de RK4 tiene un error global final de orden O Ih4M.Precisin del mtodo de Runge-Kutta

    Se supone que yHxL es la solucin del problema de valor inicial e yHxL C4+1@x0, bD,y 8Hxi, yiL

  • Algoritmo 1. Mtodo de Runge-Kutta de orden N = 4 HRK4L

    Input Hy = f Hx, yL , yHaL = y0, a, b, hLn Hb - aL hx0 a

    For i = 0, 1, 2, 3, ..., n - 1 do

    F1 h f Hxi, yiLF2 h f Jxi + h2 , yi + 12 F1NF3 h f Jxi + h2 , yi + 12 F2NF4 h f Hxi + h, yi + F3Lyi+1 yi + 1 6 HF1 + 2 F2 + 2 F3 + F4Lxi+1 xi + h

    End

    Return H8y0, y1, ..., yn 0 para toda Hx, y, yL D y existe una constante M , con

    Proyecto Fin de Carrera 24

  • fy Hx, y, yL M , para toda Hx, y, yL D,entonces el problema tiene una solucin

    nica.

    El mtodo del disparo se basa en dividir la funcin en dos funciones y1HxL yy2HxL que se obtienen de manera aproximada, despus se aproxima la solucin mediante lasiguiente ecuacin:

    (18)yHxL = y1HxL + b - y1HbLy2HbL y2HxL.

    Esta ecuacin representa la solucin nica al problema con valor de frontera

    siempre y cuando y2HbL 0.

    El algoritmo que se utiliza para obtener una aproximacin a la funcin es el

    siguiente.

    Con la funcin:

    (19)y = pHxL y + qHxL y + rHxLse toman como datos de entrada los extremos a y b, las condiciones de frontera a y b,

    yHaL = a e yHbL = b, y el nmero de subintervalos N .

    Software para la resolucin de EDO 25

  • Algoritmo 2. Mtodo del disparo lineal

    Input HpHxL, qHxL, r HxL, a, b, a, b, hLmatriz u, v, k, kp, w

    vector xi, yi

    (* Se inicializan los vectores y matrices *)

    For i = 1, ..., 4 do

    For j = 1, 2 do

    ki, j 0

    kpi, j

    0

    End

    End

    For i = 0, ...., 60- 1 do

    xi 0

    End

    For i = 0, ..., 3- 1 do

    For j = 0, ..., 60- 1 do

    ui, j 0

    vi, j 0

    wi, j 0

    End

    End

    n Round B b-ah

    F;u1,0 a

    u2,0 0

    v1,0 0

    v2,0 1

    For i = 0, 1, ..., n - 1 do

    xi a + i h

    k1,1 h u2,i

    k1,2 h IpHxiLu2,i + q HxiLu1,i + rHxiLMk2,1 h Iu2,i + 12 k1,2Mk2,2 h Jp Jxi + h2 N Iu2,i + 12 k1,2M + q Jxi + h2 N

    Iu1,i + 12 k1,1M + rJxi + h2 NNk3,1 h Iu2,i + 12 k2,2Mk3,2 h Jp Jxi + h2 N Iu2,i + 12 k2,2M + q Jxi + h2 N

    Iu1,i + 12 k2,1M + rJxi + h2 NN k4,1 h Iu2,i + k4,2M

    Proyecto Fin de Carrera 26

  • k4,2 h IpHxi + hL Iu2,i + k3,2M + qHxi + hL Iu1,i + k3,1M+ rHxi + hLM

    u1,i+1 u1,i +1

    6 Ik1,1 + 2 k2,1 + 2 k3,1 + k4,1M

    u2,i+1 u2,i +1

    6 Ik1,2 + 2 k2,2 + 2 k3,2 + k4,2M

    k1,1 h v2,i

    k1,2 h IpHxiLv2,i + qHxiLv1,iMk2,1 h Iv2,i + 12 k1,2Mk2,2 h JpJxi + h2 N Iv2,i + 12 k1,2M +

    qJxi + h2 N Iv1,i + 12 k1,1MNk3,1 h Iv2,i + 12 k2,2M

    k3,2 h JpJxi + h2 N Iv2,i + 12 k2,2M +qJxi + h2 N Iv1,i + 12 k2,1MN

    k4,1 h Iv2,i + k3,2Mk4,2 h IpHxi + hL Iv2,i + k3,2M +

    qHxi + hL Iv1,i + k3,1MMv1,i+1 v1,i +

    1

    6 Ik1,1 + 2 k2,1 + 2 k3,1 + k4,1M

    v2,i+1 v2,i +1

    6 Ik1,2 + 2 k2,2 + 2 k3,2 + k4,2M

    End

    w1,0 a

    w2,0 b-u1,n

    v1,n

    For i = 0, 1, ..., n do

    w1,i = u1,i +w2,0 v1,i

    w2,i = u2,i +w2,0 v2,i

    End

    Return J8xi

  • Ejemplo. Problema 1. Represntese con u el potencial electrosttico entre dos esferas metlicas

    concntricas de radio R1 y R2 con R1 < R2, tales que el potencial de la esfera interior semantenga constante en V1 voltios y el potencial de la esfera exterior sea 0 volts. Elpotencial de la regin situada entre ambas esferas est regido por la ecuacin de Laplace,que en esta aplicacin particular se reduce a:

    2u

    r2+ 2

    r ur= 0 R1 b r b R2 uHR1L = V1, uHR2L = 0

    Supngase que R1 = 2 plg, R2 = 4plg y que V1 = 110volts.a) Aproximar uH3L por medio del algoritmo del disparo lineal.b) Comparar los resultados de la parte (a) con el potencial real uH3L, donde

    uHrL = V1 R1r I R2-rR2-R1 M.

    Mtodo del disparo lineal para el problema con valor de frontera:

    y = -2

    xy + 0y + 0

    x @2., 4.D, yH2.L = 110., yH4.L = 0. h = 0.2

    i xi u1,i v1,i w1,i w2,i

    0 2.0000000000 110.0000000000 0.0000000000 110.0000000000 -110.0007250420

    1 2.2000000000 110.0000000000 0.1818140590 90.0003216920 -90.9098962614

    2 2.4000000000 110.0000000000 0.3333271869 73.3337677598 -76.3896741012

    3 2.6000000000 110.0000000000 0.4615313634 59.2312153917 -65.0894867210

    4 2.8000000000 110.0000000000 0.5714210884 47.1432659743 -56.1231128776

    5 3.0000000000 110.0000000000 0.6666591047 36.6670151264 -48.8894884031

    6 3.2000000000 110.0000000000 0.7499925253 27.5002784455 -42.9692901652

    7 3.4000000000 110.0000000000 0.8235221130 19.4119704861 -38.0627707556

    8 3.6000000000 110.0000000000 0.8888818110 12.2223563183 -33.9510573337

    9 3.8000000000 110.0000000000 0.9473615838 5.7895389053 -30.4713128917

    10 4.0000000000 110.0000000000 0.9999934088 0.0000000000 -27.5003625208

    Tabla de errores

    Proyecto Fin de Carrera 28

  • xi w1,i yHxiL w1,i - yHxiL2.0000000000 110.0000000000 110.0000000000 0.0000000000

    2.2000000000 90.0003216920 90.0000000000 0.0003216920

    2.4000000000 73.3337677598 73.3333333333 0.0004344264

    2.6000000000 59.2312153917 59.2307692308 0.0004461609

    2.8000000000 47.1432659743 47.1428571429 0.0004088314

    3.0000000000 36.6670151264 36.6666666667 0.0003484598

    3.2000000000 27.5002784455 27.5000000000 0.0002784455

    3.4000000000 19.4119704861 19.4117647059 0.0002057803

    3.6000000000 12.2223563183 12.2222222222 0.0001340961

    3.8000000000 5.7895389053 5.7894736842 0.0000652211

    4.0000000000 0.0000000000 0.0000000000 0.0000000000

    Grficas de la solucin de la ecuacin diferencial

    yHxL = 110 H4- xLx

    y la aproximacin obtenida con el mtodo del disparo lineal con

    un tamao de paso h = 0.2

    2.5 3.0 3.5 4.0X

    20

    40

    60

    80

    100

    Y

    Software para la resolucin de EDO 29

  • 6. El mtodo del disparo no linealEste mtodo se utiliza para resolver problemas no lineales con valor de frontera de

    segundo orden:

    (20)y = f Hx, y, yL,

    a x b, f HaL = yHaL = a, f HbL = yHbL = b.Tiene parecido con el mtodo anterior sin embargo la solucin de un problema no

    lineal no puede expresarse como una combinacin de dos problemas iniciales, as que para

    este mtodo se utiliza en lugar de dos problemas una sucesin de ellos, donde t es un

    parmetro para la aproximacin de la solucin, de la siguiente forma:

    (21)y = f Hx, y, yL, a x b, yHaL = a, yHaL = t.Se escoge el parmetro t = tk de tal forma que

    lmkz

    yHb, tkL = yHbL = b,

    donde yHb, tkL es la solucion del problema de valor inicial con t = tk e yHxL es la solucin alproblema con valor de frontera.

    La tnica que se sigue es empezar con un parmetro t0, que determinar la posicin

    inicial a partir de la cual se traza una recta que tratar de aproximar la solucin, como si de

    un disparo se tratase, buscando el objetivo desde el punto Ha, aL a lo largo de la curva quedescribe la solucin al problema de valor inicial dado por

    y = f Hx, y, yL, a x b, yHaL = a, yHaL = t0.

    Proyecto Fin de Carrera 30

  • xy

    a b

    y (b, t0)

    (a, )

    (b, y (b, t0))

    y (x, t0)

    pendiente t0

    Figura 8

    Problema del valor inicial con la elevacin inicial t0 desde el punto Ha, aL.

    Si yHb, t0L no est lo suficientemente cerca de b se utilizarn las elevacionest1, t2, ... y as sucesivamenete hasta que se considere que el valor yHb, tkL se aproxima losuficiente al valor b, es decir, se acierte en el blanco. Vase la siguiente figura.

    x

    y

    a b

    (a, )

    y (x, t0)

    y (x, t1)

    y (x, t3)

    y (x, t2)

    y (b, t0)

    y (b, t1)

    y (b, t3)

    y (b, t2)

    Figura 9

    Problema del valor inicial con diferentes elevaciones.

    Software para la resolucin de EDO 31

  • Los parmetros tk se calculan de tal forma que:

    yHb, tL - b = 0.

    Ecuacin no lineal en cuya resolucin se puede aplicar el mtodo de Newton o del

    de la Secante.

    Para utilizar el mtodo de la Secante se necesitan unas aproximaciones iniciales

    t0 y t1 y luego generar las t restantes mediante la siguiente ecuacin:

    (22)tk = tk-1 -HyHb, tk-1L - bL Htk-1 - tk-2L

    yHb, tk-1L - yHb, tk-2L , k = 2, 3, ...

    Para generar la misma sucesin 8tk< con el mtodo de Newton slo se necesita laprimera aproximacin de la sucesion t0. Se aplica la siguiente ecuacin:

    (23)tk = tk-1 -yHb, tk-1L - b y t Hb, tk-1L

    .

    Este mtodo requiere que se conozca y t Hb, tk-1L, que es un problema porque no se

    dispone de la funcin yHb, tL, slo de unos valores yHb, t0L, yHb, t1L, ... , yHb, tk-1L.

    Si se modifica el problema de valor inicial (20), teniendo en cuenta que la solucin

    se basa en y y en t se tiene:

    (24)yHx, yL = f Hx, yHx, tL, yHx, tLL,a x b, yHa, tL = a, yHa, tL = t.

    Proyecto Fin de Carrera 32

  • Para calcular y t Hb, tL cuando t = tk-1, se calcula la derivada parcial de la ecuacin

    anterior respecto de t:

    (25)

    y

    t Hx, tL = f

    t Hx, yHx, tL, yHx, tLL

    y

    t Hx, tL = f

    x Hx, yHx, tL, yHx, tLL x

    t

    + f y

    Hx, yHx, tL, yHx, tLL y t

    + f y

    Hx, yHx, tL, yHx, tLL y t

    .

    Dado que x y t son independientes entonces x t= 0 y

    (26)

    y

    t Hx, tL =

    f y

    Hx, yHx, tL, yHx, tLL y t Hx, tL + f

    y Hx, yHx, tL, yHx, tLL y

    t.

    con a x b. Las condiciones iniciales resultan:

    y t Ha, tL = 0 y y

    t Ha, tL = 1.

    Si se simplifica la ecuacin anterior usando zHx, tL en lugar de y t Hx, tL y si se

    invierte el orden de derivar de x y de t, se convierte en el problema de valor inicial:

    (27)zHx, tL = f

    y Hx, y, yL zHx, tL + f

    y Hx, y, yL zHx, tL,

    a x b, zHa, tL = 0, zHa, tL = 1, zHx, tL = y t Hx, tL.

    Como se ve, el mtodo de Newton necesita que los dos problemas de valor inicial

    sean resueltos en cada iteracin del mtodo.

    Software para la resolucin de EDO 33

  • (28)tk = tk-1 -yHb, tk-1L - b

    zHb, tk-1L .

    De todos modos ningn problema de valor inicial puede resolverse de manera

    exacta. Se puede buscar una solucin aproximada utilizando un mtodo como ste, cuyo

    algoritmo se plantea un poco ms abajo (algoritmo 3). En dicho algoritmo se utiliza el

    mtodo de Runge-Kutta de cuarto orden para aproximar la dos soluciones que necesita el

    mtodo de Newton.

    Algoritmo 3. Mtodo del disparo no lineal

    El siguiente algoritmo aproxima la solucin numrica del problema no lineal de

    valor de la frontera dado por

    y = f Hx, y, yL, a x b, f HaL = yHaL = a, f HbL = yHbL = b

    con un paso dado por h con una tolerancia tol o un nmero mximo de m iteraciones.

    Input Hf HxL, a, b, a, b, h, tol, mLmatriz k, kp, w

    vector xi, yi,ui, vi

    (* Se inicializan los vectores y matrices *)

    For i = 1, ..., 4 do

    For j = 1, 2 do

    ki, j 0

    kpi, j

    0

    End

    End

    For i = 0, ...., 60- 1 do

    xi 0

    End

    For j = 0, ..., 60- 1 do

    Proyecto Fin de Carrera 34

  • ui, j 0

    vi, j 0

    wi, j 0

    End

    n Round B b-ah

    F;tk Round B a-b

    b-aF;

    cont = 1;

    While cont m dow1,0 a

    w2,0 tk

    u1 0

    u2 1

    For i = 1, 2, ..., n - 1 do

    xi a + Hi - 1Lhk1,1 h u2,i-1

    k1,2 h If HxiL, w1,i-1, ww,i-1Mk2,1 h Iw2,i + 12 k1,2Mk2,2 h Jf HxiL + h2 , w1,i-1 + 12 k1,1,

    w2,i-1 +1

    2k1,2N

    k3,1 h Iuw2,i-1 + 12 k2,2Mk2,2 h Jf HxiL + h2 , w1,i-1 + 12 k2,1,

    w2,i-1 +1

    2k2,2N

    k4,1 h Iw2,i-1 + k4,2Mk2,2 h Jf HxiL + h2 , w1,i-1 + 12 k3,1,

    w2,i-1 +1

    2k3,2N

    w1,i+1 w1,i +1

    6 Ik1,1 + 2 k2,1 + 2 k3,1 + k4,1M

    w2,i+1 w2,i +1

    6 Ik1,2 + 2 k2,2 + 2 k3,2 + k4,2M

    k1,1 h v2

    k1,2 h IfyIxi, w1,i-1, 22,i-1M u1+ fy Ixi, w1,i-1, 22,i-1M u2M

    k2,1 h Iv2 + 12 k1,2M

    k2,2 h IfyIxi + 12 , w1,i-1, 22,i-1M Iu1 + 12 k1,1M+ fy Ixi + 12 , w1,i-1, 22,i-1M Iu2 + 12 k1,2MMk3,1 h Iv2 + 12 k2,2M

    k3,2 h IfyIxi + 12 , w1,i-1, 22,i-1M Iu1 + 12 k2,1M+ fy Ixi + 12 , w1,i-1, 22,i-1M Iu2 + 12 k2,2MM

    Software para la resolucin de EDO 35

  • k4,1 h Iv2 + k3,2Mk4,2 h IfyIxi + 12 , w1,i-1, 22,i-1M Iu1 + k2,1M

    + fy Ixi + 12 , w1,i-1, 22,i-1M Iu2 + k2,2MM

    v1,i+1 v1,i +1

    6 Ik1,1 + 2 k2,1 + 2 k3,1 + k4,1M

    v2,i+1 v2,i +1

    6 Ik1,2 + 2 k2,2 + 2 k3,2 + k4,2M

    End

    If w1,N - b b tol doFor i = 0, 1, ..., N do

    xi a + i h

    SALIDA Ixi, w1,i, w2,iMProceso terminado

    End

    End If

    tk = tk -w1,N-b

    u1

    cont = cont + 1

    End While

    SALIDA HNmeromximode iteraciones excedidoLProceso terminado sin xito

    Return J8xi

  • i xi w1,i w2,i

    0 0.0000000000 0.0000000000 1.4493098115

    1 0.2000000000 0.2741820867 1.2876947955

    2 0.4000000000 0.5138861327 1.1076209444

    3 0.6000000000 0.7168357586 0.9212303115

    4 0.8000000000 0.8821406042 0.7310688000

    5 1.0000000000 1.0088521172 0.5346865325

    6 1.2000000000 1.0953383832 0.3282347528

    7 1.4000000000 1.1393133677 0.1095119683

    8 1.6000000000 1.1384586255 -0.1191497223

    9 1.8000000000 1.0915768064 -0.3486231536

    10 2.0000000000 1.0000169321 -0.5628194818

    Grficas de la solucin de la ecuacin diferencial

    yHxL = 88yHxL InterpolatingFunction@H 0. 2. L, D@xD

  • 7. El mtodo lineal de diferencias finitas

    El mtodo de las diferencias finitas se utiliza para resolver problemas que presentan

    cierta inestabilidad y que con los mtodos anteriormente estudiadoss no podan resolverse.

    Este mtodo tiene mejor estabilidad pero cuesta ms llegar a una solucin con

    precisin. Este mtodo sustituye las derivadas en la ecuacion diferencial mediante una

    aproximacion del cociente de diferencias adecuada.

    El problema de valor de frontera de segundo orden

    (29)y = pHxL y + qHxL y + rHxL, a x b, yHaL = a, yHbL = brequiere utilizar las aproximaciones del cociente de diferencias para aproximar tanto a

    ycomo a y. Primero, se escoge el nmero de subintervalos n + 1 en los que se va a dividir

    el intervalo @a, bD, cuyos extremos de estos subintervalos son los puntos de malla. Secalcula el valor del subintervalo h = Hb-aLHn+1L , y al calcularse h as se facilita la aplicacin de un

    algoritmo matricial con el cual se resuelve un sistema lineal que contenga una matriz nn.

    Para los puntos de malla xi, para i = 1, 2, 3, ..., n, la ecuacin que se aproxima es:

    (30)yHxiL = pHxiL yHxiL + qHxiL yHxiL + rHxiL.Al desarrollar y en el tercer polinomio de Taylor alrededor de xi evaluada en xi+1 y

    xi-1, se tiene:

    yHxi+1L = yHxi + hL = yHxiL + h yHxiL + h22 yHxiL + h36 yH3LHxiL + h424 yH4LIxi+M

    Proyecto Fin de Carrera 38

  • para alguna xi+en Hxi, xi+1L, y

    yHxi-1L = yHxi - hL = yHxiL - h yHxiL + h22 yHxiL - h36 yH3LHxiL + h424 yH4LHxi-L

    para alguna xi+en Hxi, xi+1L, suponiendo y C4@xi-1, xi+1D. Si se suman estas escuaciones yse simplifica se obtiene la frmula de las diferencias centradas para yHxiL:

    (31)yHxiL = 1h2

    @yHxi+1L - 2 yHxiL + yHxi-1LD - h2

    12 yH4LHxiL.

    De manera semejante se obtiene para yHxiL:

    (32)yHxiL = 12 h @yHxi+1L - yHxi-1LD -

    h2

    6 yH3LHhiL,

    hi Hxi-1, xi+1L.Si se sustituyen las ecuaciones de las diferencias centradas en los trminos y de la

    ecuacin (24) resulta:

    (33)

    yHxi+1L - 2 yHxiL + yHxi-1Lh2

    = pHxiLB yHxi+1L - yHxi-1L2 h F+

    qHxiL yHxiL + rHxiL - h2

    12A2 pHxiL yH3LHhiL - yH4LHziLE.

    El mtodo de diferencia finitas se obtiene utilizando esta ecuacin junto con las

    condiciones de frontera yHaL = a e yHbL = b para definir

    (34)

    w0 = a, wn+1 = b

    2 wi -wi+1 - wi-1h2

    + pHxiL K wi+1 -wi-12 h O qHxiL wi = rHxiLi = 1, 2, ..., n.

    Software para la resolucin de EDO 39

  • Esta ecuacin se puede reescribir como sigue:

    (35)- 1 + h2 pHxiL wi-1 + I2 + h2 qHxiLM wi - 1 - h2 pHxiL wi-1 = -h

    2 rHxiL.

    Y el sistema de ecuaciones que resulta se expresa en forma de matriz tridiagonal

    nn de la forma

    (36)A w = b

    siendo

    A =

    2 + h2 qHx1L -1 + h2 pHx1L 0 0-1 - h2 pHx2L 2 + h2 qHx2L -1 + h2 pHx2L

    0 0 -1 + h2 pHxn-1L0 0 -1 + h2 pHxnL 2 + h2 qHxnL

    w =

    w1w2

    wn-1

    wn

    , y b =

    -h2 rHx1L + I1 + h2 pHx1LM w0-h2 rHx2L

    -h2 rHxn-1L-h2 rHxnL + I1 + h2 pHxnLM wn+1

    Se expresa en el teorema siguiente las condiciones bajo las que el sistema lineal

    tridiagonal anterior tiene solucin nica.

    Teorema 2. Se supone que p, q y r son continuas en el intervalo @a, bD. Si qHxL 0 en

    @a, bD, entonces el sistema lineal tridiagonal tiene una solucin nica siempre y cuandoh < 2 L, donde L = mxaxb pHxL .

    Proyecto Fin de Carrera 40

  • Algoritmo 4. Mtodo lineal de las diferencias finitas

    Input HpHxL, qHxL, r HxL, a, b, a, b, hLvector xi, ai, bi, ci, di, li, ui, wi, zi

    (* Se inicializan vectores y matrices *)

    For i = 0, ...., n + 1 do

    xi 0

    ai 0

    bi 0

    ci 0

    di 0

    li 0

    ui 0

    wi 0

    zi 0

    End

    n Round B b-ah

    F- 1x1 a + h

    a1 2+ h2 qHxiL

    b1 -1+ J h2 N pHxiLd1 -h

    2 rHxiL + J1+ J h2 N pHxiLN a

    For i = 2, ..., n - 1 do

    xi a + i h

    ai 2+ h2 qHxiL

    bi -1+ J h2 N pHxiLci -1 - J h2 N pHxiLdi -h

    2 rHxiLEnd

    xn b - h

    xn+1 b

    an 2 + h2 qHxnL

    cn -1- J h2 N pHxnLdn -h

    2 rHxnL + J1- J h2 N pHxnLN b(* Se resuelve un sistema lineal tridiagonal *)

    l1 a1

    u1 b1

    a1

    z1 d1

    l1

    For i = 2, ..., n - 1 do

    Software para la resolucin de EDO 41

  • li ai - ci ui-1

    ui bi

    li

    zi di-ci zi-1

    li

    End

    ln an - cn un-1

    zn dn-cn zn-1

    ln

    w0 a

    wn+1 b

    wn zn

    For i = n - 1, ..., 1do

    wi zi - ui wi+1End

    Return I8xi

  • i xi wi

    0 0.0000000000 0.0000000000

    1 6.0000000000 0.0022980631

    2 12.0000000000 0.0045304665

    3 18.0000000000 0.0066384627

    4 24.0000000000 0.0085702157

    5 30.0000000000 0.0102808010

    6 36.0000000000 0.0117322061

    7 42.0000000000 0.0128933298

    8 48.0000000000 0.0137399822

    9 54.0000000000 0.0142548850

    10 60.0000000000 0.0144276711

    11 66.0000000000 0.0142548850

    12 72.0000000000 0.0137399822

    13 78.0000000000 0.0128933298

    14 84.0000000000 0.0117322061

    15 90.0000000000 0.0102808010

    16 96.0000000000 0.0085702157

    17 102.0000000000 0.0066384627

    18 108.0000000000 0.0045304665

    19 114.0000000000 0.0022980631

    20 120.0000000000 0.0000000000

    Grfica de la aproximacion obtenida con el mtodo lineal de diferencia finitas

    con un tamao de paso h = 6.

    Software para la resolucin de EDO 43

  • 20 40 60 80 100 120X

    0.002

    0.004

    0.006

    0.008

    0.010

    0.012

    0.014

    Y

    Proyecto Fin de Carrera 44

  • 8. El mtodo lineal de diferencias finitas para problemas no lineales

    Este mtodo es parecido al expuesto anteriormente para problemas lineales, sin

    embargo estos problemas no tendrn un sistema de ecuaciones lineal y por lo tanto hace

    falta un proceso iterativo para resolverlos. Sea el caso de los problemas no lineales con

    valor de frontera:

    (37)y = f Hx, y, yL, a x b, yHaL = a, yHbL = bPara el desarrollo de este mtodo se supondr que f satisface las siguientes

    condiciones:

    1.- f y las derivadas parciales fy f y y fy f y son continuas en

    D = 8Hx, y, yL a x b, - < y < , - < y < 0;

    3.- Existen las constantes k y L, con

    k = mxHx,y,yL eD fyHx, y, yL , L = mxHx,y,yL e D fyHx, y, yL .

    Esto garantiza que exista una solucin nica.

    Al igual que en el mtodo anterior, se divide el intervalo @a, bD en N + 1subintervalos de ancho el valor h que se calcula como h = Hb - aL HN + 1L cuyos extremosse encuentran en xi = a + h i, para i = 0, 1, ... , N + 1. Si se supone que la solucin exacta

    Software para la resolucin de EDO 45

  • tiene una cuarta derivada acotada permite reemplazar yHxiL y yHxiL en cada una de lasecuaciones:

    (38)yHxiL = f Hxi, yHxiL, yHxiLLpor la frmula adecuada de diferencias centradas. Esto da, para toda i = 1, 2, ..., N ,

    (39)

    yHxi+1L - 2 yHxiL + yHxi-1Lh2

    = f xi,yHxi+1L - yHxi-1L

    2 h-

    h2

    6 yH3LHhiL + h

    2

    12 yH4LHxiL,

    para alguna hi y zi en el intervalo Hxi-1, xi+1L.

    Los resultados del mtodo de diferencias finitas se emplean cuando se eliminan los

    trminos de error y las condiciones de frontera:

    w0 = a, wn+1 = b,

    y

    -wi+1- 2 wi +wi-1

    h2+ f Ixi, wi, wi+1-wi-12 h M = 0,

    para toda i = 1, 2, ..., N .

    Proyecto Fin de Carrera 46

  • El sistema no lineal N N obtenido con este mtodo es el siguiente:

    (40)

    2 w1 -w2 + h2 f Kx1, w1, w2 - a2 h O = 0-w1 + 2 w2 -w3 + h2 f Kx2, w2, w3 - w12 h O = 0

    -wN-2 + 2 wN-1 -wN + h2 f KxN-1, wN-1, wN -wN-22 h O = 0

    -wN-1 + 2 wN + h2 f xN , wN , b -wN-1

    2 h- b = 0

    Este sistema tiene una solucin nica siempre y cuado h < 2 L.

    Para resolver este sistema con una solucin aproximada, se aplica el mtodo de

    Newton para sistemas no lineales. Se genera una sucesin de iteraciones

    :Iw1HkL, w2HkL, ..., wNHkLMt> que converge a la solucin del sistema (34), con la condicin de que

    la aproximacin inicial Iw1H0L, w2H0L, ..., wNH0LMt se acerque lo suficiente a la solucinHw1, w2, ..., wN Lt, y de que la matriz jacobiana del sistema no sea singular. En el caso delsistema (34), la matriz jacobiana J Hw1, w2, ..., wN L es tridiagonal. Su elemento i j - simoviene dada por la expresin:

    (41)

    J Hw1, w2, ..., wN Li, j =

    :-1 + h2 fy Ixi, wi, wi+1-wi-12 h M, i = j - 1, j = 2, ..., N2 + h2 fy Ixi, wi, wi+1-wi-12 h M, i = j, j = 1, ..., N-1 - h2 fy Ixi, wi, wi+1-wi-12 h M, i = j + 1, j = 1, ..., N - 1

    Software para la resolucin de EDO 47

  • donde w0 = a y wN+1 = b.

    El mtodo de Newton para los sistemas no lineales requiere que en cada iteracin se

    resuelva el sistema lineal de N N :

    (42)

    J Hw1, w2, ..., wN L Hv1, ..., vnLT = - 2 w1 -w2 - a + h2 f Kx1, w1, w2 - a2 h O,-w1 + 2 w2 -w3 + h2 f Kx2, w2, w3 -w12 h O, ... ,-wN-2 + 2 wN-1 -wN + h2 f KxN-1, wN-1, wN - wN-22 h O,

    -wN-1 + 2 wN + h2 f xN , wN ,b -wN-1

    2 h- b

    T

    para v1, v2, ..., vN , porque

    wiHkL = wiHk-1L + vi, para cada i = 1, 2, ..., N ,

    Puesto que J es tridiagonal, se puede aplicar el algoritmo de factorizacin de Crout

    para los sistemas tridiagonales.

    El algoritmo de este mtodo se describe a continuacin.

    Proyecto Fin de Carrera 48

  • Algoritmo 5. Mtodo lineal de las diferencias finitas para problemas no lineales

    Input Hf HxL, a, b, a, b, h, tol, mLvector xi, ai, bi, ci, di, li, ui, wi, zi

    (* Se inicializan vectores y matrices *)

    For i = 0, ...., n + 1 do

    xi 0

    ai 0

    bi 0

    ci 0

    di 0

    li 0

    ui 0

    wi 0

    zi 0

    End

    n Round B b-ah

    F- 1w0 a

    wn+1 b

    For i = 1, ..., n do

    wi a+ i J b-ab-a N hEnd

    cont1

    While cont m do

    x1 a + h

    t =Iw2-aM2 h

    a1 2+ h2 fy Hx1, w1, tL

    b1 -1 + J h2 N fy Hx1, w1, tLd1 -I2 w1 -w2 - a + h2 f Hx1, w1, tLMFor i = 2, ..., n - 1 do

    xi a + i h

    t =Hwi+1-wi-1L

    2 h

    ai 2 + h2 fy Hxi, wi, tL

    bi -1+ J h2 N fy Hxi, wi, tLci -1- J h2 N fy Hxi, wi, tLdi -I2 wi -wi+1 -wi-1 + h2 f Hxi, wi, tLM

    End

    Software para la resolucin de EDO 49

  • xn b - h

    t =Hb-wn-1L

    2 h

    an 2+ h2 fy Hxn , wn, tL

    cn -1- J h2 N fy Hxn, wn, tLdn -I2 wn -wn-1 - b + h2 f Hxn, wn , tLM(* Se resuelve un sistema lineal tridiagonal *)

    l1 a1

    u1 b1

    a1

    z1 d1

    l1

    For i = 2, ..., n - 1 do

    li ai - ci ui-1

    ui bi

    li

    zi di-ci zi-1

    li

    End

    ln an - cn un-1

    zn dn-cn zn-1

    ln

    vn znwn wn + vn

    For i = n - 1, ..., 1do

    vi zi - ui vi+1wi wi + vi

    End

    If v b tol doFor i = 0, ..., N - 1do

    xi a + i h

    SALIDA Hxi, wiLProceso terminado

    End

    End If

    contcont+1

    SALIDA H ' Nmerode iteraciones excedido'LReturn I8xi

  • Ejemplo. Problema 4. Sea el problema de valor de frontera

    y = Jx2HyL2 - 9 y2 + 4 x6N x5, x @1, 2D, yH1L = 0, yH2L = ln 256.y su solucin exacta yHxL = x3 ln x.

    Aproximar la solucin aplicando el mtodo no lineal de diferencias finitastomando h = 0.05 y una tolerancia de 10-4.

    Mtodo del diferencias finitas para el problema

    no lineal con valor de frontera.

    y =4 x6 + z2 x2 - 9y2

    x5

    x @1., 2.D, yH1.L = 0., yH2.L = 5.54518 h = 0.05

    i xi wi

    0 1.0000000000 0.0000000000

    1 1.0500000000 0.0562377725

    2 1.1000000000 0.1263684409

    3 1.1500000000 0.2118227193

    4 1.2000000000 0.3140662227

    5 1.2500000000 0.4345979113

    6 1.3000000000 0.5749486970

    7 1.3500000000 0.7366801826

    8 1.4000000000 0.9213835170

    9 1.4500000000 1.1306783480

    10 1.5000000000 1.3662118644

    11 1.5500000000 1.6296579151

    12 1.6000000000 1.9227161994

    13 1.6500000000 2.2471115203

    14 1.7000000000 2.6045930975

    15 1.7500000000 2.9969339343

    16 1.8000000000 3.4259302347

    17 1.8500000000 3.8934008681

    18 1.9000000000 4.4011868793

    19 1.9500000000 4.9511510405

    20 2.0000000000 5.5451774445

    Tabla de errores.

    Software para la resolucin de EDO 51

  • xi wi yHxiL wi - yHxiL1.0000000000 0.0000000000 0.0000000000 0.

    1.0500000000 0.0562377725 0.0564807138 2.429412921410-4

    1.1000000000 0.1263684409 0.1268578493 4.894084434110-4

    1.1500000000 0.2118227193 0.2125604441 7.377247763810-4

    1.2000000000 0.3140662227 0.3150516501 9.854274620910-4

    1.2500000000 0.4345979113 0.4358272487 1.229337360210-3

    1.3000000000 0.5749486970 0.5764142890 1.465592083210-3

    1.3500000000 0.7366801826 0.7383698367 1.689654009110-3

    1.4000000000 0.9213835170 0.9232798173 1.896300304310-3

    1.4500000000 1.1306783480 1.1327579472 2.079599253810-3

    1.5000000000 1.3662118644 1.3684447399 2.232875509210-3

    1.5500000000 1.6296579151 1.6320065809 2.348665807710-3

    1.6000000000 1.9227161994 1.9251348654 2.418666024610-3

    1.6500000000 2.2471115203 2.2495451902 2.433669961510-3

    1.7000000000 2.6045930975 2.6069765975 2.383499952110-3

    1.7500000000 2.9969339343 2.9991908635 2.256929129210-3

    1.8000000000 3.4259302347 3.4279718297 2.041595020510-3

    1.8500000000 3.8934008681 3.8951247721 1.723903993810-3

    1.9000000000 4.4011868793 4.4024758053 1.288925944510-3

    1.9500000000 4.9511510405 4.9518713190 7.202785123210-4

    2.0000000000 5.5451774445 5.5451774445 0.

    Grficas de la solucin de la ecuacin diferencial

    yHxL = x3 logHxLy la aproximacin obtenida

    con el mtodo de las diferencias finitas no lineal

    con un tamao de paso h = 0.05

    Proyecto Fin de Carrera 52

  • 1.2 1.4 1.6 1.8 2.0X

    1

    2

    3

    4

    5

    Y

    Software para la resolucin de EDO 53

  • 9. El mtodo de Rayleigh-RitzEste mtodo aborda el problema de hallar la aproximacin de la funcin con un

    planteamiento distindo al visto en los anteriores mtodos.

    Para empezar, se reformula el problema de valor de frontera como un problema que

    consista en seleccionar la funcin que reduzca al mnimo una determinada integral de entre

    todas las funciones suficientemente derivables que satisfagan las condiciones de frontera.

    El tamao de del conjunto de funciones se disminuye, obtenindose as una aproximacin a

    la solucin al problema de minimizacin y por lo tanto, una aproximacin a la solucin del

    problema con valor de frontera.

    9.1. Mtodo lineal segmentario de Rayleigh-RitzPara explicar este mtodo se considera la aproximacin de una solucin a este

    problema lineal con valor de frontera. Esta ecuacin describe la deflexin y HxL de una vigade longitud l , con una seccin transversal variable qHxL, y los exfuerzos agregados pHxL yf HxL. Satisface la la ecuacin diferencial:

    (43)- x

    pHxL y x

    + qHxL y = f HxL, para 0 x 1

    con las condiciones de frontera

    (44)y H0L = y H1L = 0 Se supone que p C1@0, 1D, que q, f C@0, 1D y d > 0, tal que

    pHxL d tal que qHxL 0 para cada x en @0, 1D.

    Proyecto Fin de Carrera 54

  • Con estas suposiciones se garantiza que el problema de valor de frontera,

    anteriormente descrito tiene una solucin nica.

    Los problemas con valor de frontera describen fenmenos fsicos, en este caso la

    solucin a la ecuacin la viga satisface la propiedad variacional, que resulta indispensable

    para el desarrollo del mtodo de Rayleigh-Ritz y que adems caracteriza la solucin de esa

    ecuacin como la funcin que reduce al mnimo cierta integral sobre las funciones

    en C02@0, 1D, el conjunto de esas funciones u en C2@0, 1D con la propiedad de que

    uH0L = uH1L = 0.

    La caracterizacin de este mtodo se establece en el siguiente teorema.

    Teorema 5. Sea p C1@0, 1D, q, f C@0, 1D y adems

    pHxL d > 0 qHxL 0 para 0 x 1.

    La funcin y C02@0, 1D es la solucion nica de la ecuacion diferencial

    - x IpHxL y

    xM + qHxL y = f HxL, 0 x 1

    si y slo si y es la funcin nica en C20@0, 1D que reduce al mnimo la integral

    I@uD = 019pHxL @uHxLD2 + qHxL @uHxLD2 - 2 f HxL uHxL= x.

    Reduciendo al mnimo la integral, el mtodo de Rayleigh-Ritz aproxima la solucin

    de yHxL slo sobre el conjunto ms pequeo de las funciones que contienen combinaciones

    Software para la resolucin de EDO 55

  • lineales de ciertas funciones bsicas f1, f2, ..., fn. Estas funciones son linealmente

    independientes y satisfacen:

    fiH0L = fiH1L = 0, para cada i = 1, 2, ..., n.

    Despus de resolver las constantes c1, c2, ..., cn, que reducen al mnimo

    IAi=1n ci fiE, se obtiene una aproximacin fHxL = in ci fiHxL a la solucin yHxL de laecuacion anterior. De acuerdo con la ecuacin de la integral I@uD, se tiene:

    (45)

    I@fD = IBi=1

    n

    ci fi FI@fD =

    0

    1:pHxLBi=1

    n

    ci fi HxLF

    2

    + qHxLBi=1

    n

    ci fi HxLF2

    - 2 f HxL i=1

    n

    ci fi HxL> x

    Cuando se considera I como una funcin de c1, c2, ..., cn para encontrar un mnimo

    es necesario tener

    (46) I c j

    = 0 j = 1, 2, ..., n

    Derivando se obtiene:

    (47) I c j

    = 0

    1:2 pHxL i=1

    n

    ci fiHxL f jHxL + 2 qHxL

    i=1

    n

    ci fiHxL f jHxL

    - 2 f HxL f jHxL> x

    Proyecto Fin de Carrera 56

  • y al sustituir en la ecuacion anterior se obtiene:

    (48)0 =

    i=1

    n

    B0

    19pHxL fiHxL f jHxL + qHxL fiHxL f jHxL= x F ci -

    0

    1f HxL f jHxL x, j = 1, 2, ..., n.

    De estas ecuaciones se obtiene un sistema lineal A c = b de n n en las variables

    c1, c2, ..., cn, donde esta matriz simtrica viene definida por

    (49)ai j =

    0

    1ApHxL fiHxL f jHxL + qHxL fiHxL f jHxLE x

    bi = 0

    1f HxL f jHxL x.

    La eleccin ms elemental de las funciones bsicas requiere la intervencin de

    polinomios lineales seccionados. El primer paso es escoger puntos x0, x1, ... xn+1 para

    formar una particin dentro del intervalo @0, 1D de tal manera que

    0 = x0 < x1 < ... < xn < xn+1 = 1.

    Al utilizar hi = xi+1 - xi para toda i = 0, 1, ..., n, se definen las funciones bsicas

    f1HxL, f2HxL, ..., fnHxL mediante la expresin:

    (50)fiHxL = :

    0, 0 x xi-1x-xi-1

    hi-1, xi-1 < x xi

    xi+1-x

    hi, xi < x xi+1

    0, xi+1 < x 1

    i = 1, 2, ..., n.

    Las funciones fi son lineales y seccionadas, por ello, aunque las derivadas fi, no

    Software para la resolucin de EDO 57

  • son continuas, son constantes en el subintervalo abierto (x j, x j+1L para j = 0, 1, ..., n. Se obtiene, por tanto,

    (51)fiHxL = :

    0, 0 < x < xi-11

    hi-1, xi-1 < x < xi

    - 1hi, xi < x < xi+1

    0, xi+1 < x < 1

    i = 1, 2, ..., n.

    Como fi y fi son distintos de cero solamente en (xi - 1, xi+1L,

    fi HxL f j HxL 0 y fi HxL f j HxL 0,

    excepto cuando j toma un valor igual a i - 1, i, o i + 1. Por lo tanto, el sistema lineal dado

    en el teorema se reduce a un sistema lineal tridiagonal de n n. Los elementos de A que

    son distintos de cero son:

    ai, i = 019pHxL@fi HxLD2 + qHxL@fiHxLD2= x= I 1hi-1 M

    2 xi-1

    xi pHxL x + I- 1hi M2 xixi+1 pHxL x

    + I 1hi-1 M2 xi-1

    xi Hx- xi-1L2 qHxL x + I 1hi M2 xixi+1 Hxi+1 - xL2 qHxL x

    para i = 1, 2, ..., n;

    ai ,i+1 = 019pHxL fiHxL fi+1HxL + qHxL fiHxL fi+1HxL= x= -I 1hi M

    2 xixi+1 pHxL x + I 1hi M

    2 xixi+1 Hxi+1 - xL Hx - xiL qHxL x,

    para i = 1, 2, ..., n - 1;

    Proyecto Fin de Carrera 58

  • ai ,i-1 = 019pHxL fiHxL fi-1HxL + qHxL fiHxL fi-1HxL= x= -I 1hi-1 M

    2 xi-1

    xi pHxL x + I 1hi-1 M2 xi-1

    xi Hxi - xL Hx - xi-1L qHxL x,

    para i = 1, 2, ..., n;

    Los valores de la matriz b son:

    bi = 01 f HxL fiHxL x = 1hi-1 xi-1xi Hx- xi-1L f HxL x + 1hi xixi+1 Hxi+1 - xL f HxL x,

    para i = 1, 2, ..., n;

    Por lo tanto, se obtienen seis tipos de integrales a evaluar:

    (52)

    Q1, i =1hi

    2

    xi

    xi+1Hxi+1 - xL Hx - xiL qHxL x, i = 1, 2, ..., n - 1,

    Q2, i =1

    hi-1

    2

    xi-1

    xi Hx- xi-1L2 qHxL x, i = 1, 2, ..., n,

    Q3, i =1hi

    2

    xi

    xi+1Hxi+1 - xL2 qHxL x, i = 1, 2, ..., n,

    Q4, i =1

    hi-1

    2

    xi-1

    xi

    pHxL x, i = 1, 2, ..., n + 1,

    Q5, i =1

    hi-1

    xi-1

    xi Hx - xi-1L f HxL x, i = 1, 2, ..., n,

    Q6, i =1hi

    xi

    xi+1 Hxi+1 - xL f HxL x, i = 1, 2, ..., n.

    Software para la resolucin de EDO 59

  • La matriz A y b del sistema lineal A c = b contienen los elementos:

    (53)

    ai, i = Q4,i +Q4,i+1 +Q2, i +Q3, i, i = 1, 2, ..., n,ai,i+1 = -Q4,i+1 +Q1,i, i = 1, 2, ..., n - 1,ai,i-1 = - Q4,i +Q1-1, i = 2, 3, ..., n,bi = Q5,i +Q6,i, i = 1, 2, ..., n.

    Los elementos de c son los coeficientes desconocidos c1, c2, ..., cn, a partir de los

    cuales se construye la aproximacin de Rayleigh-Ritz f, dada por fHxL = i=1n ci fiHxL.

    En este mtodo existe la dificultad prctica de tener que evaluar las 6 n integrales.

    Estas integrales puede evaluarse directamente o mediante una frmula de cuadratura. La

    evaluacin de la integral consiste en aproximar las funciones p, q y f con su polinomio

    interpolante lineal seccionado, e integrar luego la aproximacin.

    Supngse que se comienza por la integral de Q1,i. La interpolacin lineal

    segmentaria de q es

    PqHxL =i=0n+1 qHxiL fiHxL

    donde f1, f2, ..., fn estn definidas en la frmula (50) y adems,

    f0HxL = :x1-x

    x1, 0 x x1

    0, entonces

    fn+1HxL = :x-xn1-xn

    , xn x 1

    0, entonces

    Puesto que el intervalo de integracin es @xi, xi+1D, Pq se reduce a

    Proyecto Fin de Carrera 60

  • PqHxL = qHxiL fiHxL + qHxi+1L fi+1HxL.

    La aproximacin a Q1, i se obtiene integrando la aproximacin al integrando

    Q1,i = I 1hi M2 xixi+1 Hxi+1 - xL Hx- xiL qHxL x

    I 1hi M2 xixi+1Hxi+1 - xL Hx - xiLA qHxiL Hxi+1-xLhi + qHxi+1L Hx-xiLhi E x

    = hi12 @qHxiL + qHxi+1LD.

    De la misma manera se realizan las aproximaciones a las integrales restantes,

    obtenindose los siguientes resultados:

    (54)

    Q1,i hi12

    @qHxiL + qHxi+1LDQ2,i

    hi-112

    @3 qHxiL + qHxi-1LDQ3,i

    hi12

    @3 qHxiL + qHxi+1LD

    Q4,i hi-1

    2@pHxiL + pHxi-1LD

    Q5,i hi-1

    6@2 f HxiL + f Hxi-1LD

    Q6,i hi6

    @2 f HxiL + f Hxi+1LD.

    En el algoritmo que se desarrolla a continuacin se establece el sistema lineal

    tridiagonal donde se incorpora el algoritmo de factorizacin de Crout para resolver el

    sistema.

    Se aproxima la solucin al problema de valor de frontera:

    - x IpHxL y

    y M + qHxL y = f HxL, 0 x 1, y H0L = yH1L = 0

    Software para la resolucin de EDO 61

  • Algoritmo 6. Mtodo lineal segmentario de Rayleigh-Ritz

    Input HpHxL, qHxL, f HxL, nLvector xi, ci,hi

    (* Se inicializan vectores y matrices *)

    x0 0

    For i = 1, ...., n do

    xi 0

    ci 0

    hi 0

    End

    For i = 0, ..., n do

    hi xi+1 - xiEnd

    For i = 1, ..., n do

    fiHxL :0, 0 x xi-1x-xi-1hi-1

    , xi-1 < x xixi+1-x

    hi, xi < x xi+1

    0, xi+1 < x 1

    End

    (* Se calculan Q1, j, Q2, j, Q3, j, Q4, j, Q5, j, Q6, j *)

    For i = 1, ..., n - 1do

    Q1,i hi

    12@qHxiL + qHxi+1LD

    Q2,i hi-1

    12@3 qHxiL + qHxi-1LD

    Q3,i hi

    12@3 qHxiL + qHxi+1LD

    Q4,i hi-1

    2@pHxiL + pHxi-1LD

    Q5,i hi-1

    6@2 f HxiL + f Hxi-1LD

    Q6,i hi

    6@2 f HxiL + f Hxi+1LD

    End

    (* Se calculan Q2,n, Q3,n, Q4,n, Q4,n+1, Q5,n, Q6,n *)

    Q2,n hn-1

    12@3 qHxnL + qHxn-1LD

    Q3,n hn

    12@3 qHxnL + qHxn+1LD

    Q4,n hn-1

    2@pHxnL + pHxn-1LD

    Q5,n hn-1

    6@2 f HxnL + f Hxn-1LD

    Q6,n hn

    6@2 f HxnL + f Hxn+1LD

    Proyecto Fin de Carrera 62

  • (* Creacin del sitema lineal tridiagonal simtrico *)

    For i = 1, 2, ..., n - 1do

    ai Q4,i +Q4,i+1 +Q2,i +Q3,i

    bi Q1,i +Q4,i+1

    bi Q5,i +Q6,i

    End

    an Q4,n +Q4,n+1 +Q2,n +Q3,n

    bn Q5,n +Q6,n

    (* Resolucin del sitema lineal tridiagonal simtrico *)

    a1 a1

    z1 b1

    a1

    z1b1

    a1

    For i = 2, ..., n - 1do

    ai ai - bi-1 zi-1

    zi bi

    ai

    zi Hbi - bi-1 zi-1L aiEnd

    an an - bn-1 zn-1

    zn Hbn-bn-1 zn-1L

    an

    cn zn

    For i = n - 1, ..., 1do

    ci zi - zi ci+1End

    (* Clculo de la funcin lineal segmentaria aproximante f(x) *)

    fHxL i=1n ci fiHxLReturn HfHxLLOutput

    Ejemplo. Problema 5. Considrese el problema con valor de frontera

    - x He-x yL + e-x y = Hx - 1L - Hx+ 1L e-Hx-1L x @0, 1D, yH0L = 0, yH1L = 0

    y su solucin exacta y = xHex - eL.Aplquese el mtodo lineal segmentario de Rayleigh-Ritz para aproximar la

    solucin f HxL.

    Software para la resolucin de EDO 63

  • Mtodo lineal segmentario de Rayleigh-Ritz para aproximar la

    solucin al problema de valor de frontera.

    -

    xHpHxLy

    xL + qHxL y = f HxL

    -x y + -xy

    x- -x

    2y

    x2= x - 1-x Hx + 1L - 1

    pHxL = -x qHxL = -x f HxL = x - 1-x Hx + 1L - 1x @0., 1.D, yH0.L = 0, yH1.L = 0

    Puntos.

    n = 19

    x0 = 0.

    Hxi, hiL =

    x1 h1

    x2 h2

    x3 h3

    x4 h4

    x5 h5

    x6 h6

    x7 h7

    x8 h8

    x9 h9

    x10 h10

    x11 h11

    x12 h12

    x13 h13

    x14 h14

    x15 h15

    x16 h16

    x17 h17

    x18 h18

    x19 h19

    =

    0.05 0.05

    0.1 0.05

    0.15 0.05

    0.2 0.05

    0.25 0.05

    0.3 0.05

    0.35 0.05

    0.4 0.05

    0.45 0.05

    0.5 0.05

    0.55 0.05

    0.6 0.05

    0.65 0.05

    0.7 0.05

    0.75 0.05

    0.8 0.05

    0.85 0.05

    0.9 0.05

    0.95 0.05

    xn+1 = 1.

    Integrales a evaluar.

    Q1, i =H 1hi

    L2xi

    xi+1Hxi+1-xLHx-xiLqHxL x i = 1, 2,..., n-1.

    Proyecto Fin de Carrera 64

  • Q1, i =

    0.00773167892989

    0.00735460049901

    0.00699591239997

    0.00665471772621

    0.00633016331282

    0.00602143760506

    0.00572776862784

    0.00544842205530

    0.00518269937615

    0.00492993614483

    0.00468950032202

    0.00446079069256

    0.00424323536325

    0.00403629033268

    0.00383943813018

    0.00365218652294

    0.00347406728447

    0.00330463502367

    Q2, i =H 1hi-1

    L2xi-1

    xi Hx-xi-1L2qHxL x i = 1, 2,..., n.

    Q2, i =

    0.0160539948995

    0.0152710323292

    0.0145262552940

    0.0138178014636

    0.0131438993339

    0.0125028637990

    0.0118930919363

    0.0113130589980

    0.0107613146000

    0.0102364790940

    0.00973724011750

    0.00926234931313

    0.00881061920657

    0.00838092023745

    0.00797217793420

    0.00758337022839

    0.00721352489808

    0.00686171713755

    0.00652706724376

    Software para la resolucin de EDO 65

  • Q3, i =H 1hi

    L2xi

    xi+1Hxi+1-xL2qHxL x i = 1, 2,..., n.

    Q3, i =

    0.0156576162758

    0.0148939853189

    0.0141675970837

    0.0134766352203

    0.0128193719648

    0.0121941638167

    0.0115994474294

    0.0110337357029

    0.0104956140628

    0.00998373692465

    0.00949682432916

    0.00903365874132

    0.00859308200560

    0.00817399245081

    0.00777534213490

    0.00739613422427

    0.00703542050173

    0.00669229899497

    0.00636591172154

    Q4, i =H 1hi-1

    L2xi-1

    xi

    pHxLx i = 1, 2,..., n+1.

    Proyecto Fin de Carrera 66

  • Q4, i =

    19.5082301997

    18.5568025859

    17.6517766444

    16.7908893388

    15.9719880026

    15.1930249559

    14.4520523852

    13.7472174732

    13.0767577655

    12.4389967637

    11.8323397329

    11.2552697146

    10.7063437332

    10.1841891878

    9.68750042016

    9.21503544952

    8.76561286740

    8.33810888325

    7.93145451444

    7.54463291322

    Q5, i =1

    hi-1xi-1

    xi Hx-xi-1Lf HxL x i = 1, 2,..., n.

    Q5, i =

    -0.0920823543453

    -0.0906464595925

    -0.0890671552422

    -0.0873588716292

    -0.0855349728124

    -0.0836078260911

    -0.0815888674426

    -0.0794886629483

    -0.0773169664427

    -0.0750827736090

    -0.0727943727297

    -0.0704593922905

    -0.0680848456236

    -0.0656771727653

    -0.0632422796942

    -0.0607855751060

    -0.0583120048712

    -0.0558260843146

    -0.0533319284470

    Software para la resolucin de EDO 67

  • Q6, i =1

    hixi

    xi+1Hxi+1-xLf HxL x i = 1, 2,..., n.

    Q6, i =

    -0.0911418082118

    -0.0896086461892

    -0.0879418169777

    -0.0861550321492

    -0.0842609837696

    -0.0822714112291

    -0.0801971639778

    -0.0780482604087

    -0.0758339431140

    -0.0735627307280

    -0.0712424665587

    -0.0688803641976

    -0.0664830502873

    -0.0640566046152

    -0.0616065976921

    -0.0591381259668

    -0.0566558448167

    -0.0541639994481

    -0.0516664538317

    Sistema tridiagonal simtrico: A.x = b.

    A =

    38.0967 -18.5491 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    -17.6444 36.2387 -17.6444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 -16.7839 34.4714 -16.7839 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 0 -15.9653 32.7902 -15.9653 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 0 0 -15.1867 31.191 -15.1867 0 0 0 0 0 0 0 0 0 0 0 0 0

    0 0 0 0 -14.446 29.6698 -14.446 0 0 0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 -13.7415 28.2228 -13.7415 0 0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 -13.0713 26.8463 -13.0713 0 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 -12.4338 25.537 -12.4338 0 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 -11.8274 24.2916 -11.8274 0 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 -11.2506 23.1068 -11.2506 0 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 -10.7019 21.9799 -10.7019 0 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 -10.1799 20.9079 -10.1799 0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 -9.68346 19.8882 -9.68346 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 -9.2112 18.9183 -9.2112 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8.76196 17.9956 -8.76196 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8.33463 17.118 -8.33463 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7.92815 16.2831 -7.92815

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -7.92815 15.489

    Proyecto Fin de Carrera 68

  • b =

    -0.183224

    -0.180255

    -0.177009

    -0.173514

    -0.169796

    -0.165879

    -0.161786

    -0.157537

    -0.153151

    -0.148646

    -0.144037

    -0.13934

    -0.134568

    -0.129734

    -0.124849

    -0.119924

    -0.114968

    -0.10999

    -0.104998

    Solucin al sistema lineal tridiagonal simtrico.

    c =

    c1

    c2

    c3

    c4

    c5

    c6

    c7

    c8

    c9

    c10

    c11

    c12

    c13

    c14

    c15

    c16

    c17

    c18

    c19

    =

    -0.0833579867539

    -0.161325802637

    -0.233488871405

    -0.299404271441

    -0.358598918782

    -0.410567638309

    -0.454771116422

    -0.490633728118

    -0.517541230961

    -0.534838318030

    -0.541826021412

    -0.537758957369

    -0.521842403760

    -0.493229199752

    -0.451016457281

    -0.394242073107

    -0.321881029648

    -0.232841472121

    -0.125960548737

    Tabla de errores en la aproximacin.

    Software para la resolucin de EDO 69

  • i xi fiHxiL = ci yHxiL fHxiL - yHxiL1 0.0500000000 -0.0833579868 -0.0833505366 7.450149753710-6

    2 0.1000000000 -0.1613258026 -0.1613110910 1.471159864110-5

    3 0.1500000000 -0.2334888714 -0.2334671379 2.17335450110-5

    4 0.2000000000 -0.2994042714 -0.2993758141 2.845738088710-5

    5 0.2500000000 -0.3585989188 -0.3585641029 3.481583901910-5

    6 0.3000000000 -0.4105676383 -0.4105269063 4.073204409110-5

    7 0.3500000000 -0.4547711164 -0.4547249980 4.61184694510-5

    8 0.4000000000 -0.4906337281 -0.4905828523 5.087579049610-5

    9 0.4500000000 -0.5175412310 -0.5174863393 5.489162512310-5

    10 0.5000000000 -0.5348383180 -0.5347802789 5.803915072610-5

    11 0.5500000000 -0.5418260214 -0.5417658458 6.017558636710-5

    12 0.6000000000 -0.5377589574 -0.5376978168 6.114052762110-5

    13 0.6500000000 -0.5218424038 -0.5217816496 6.075412057710-5

    14 0.7000000000 -0.4932291998 -0.4931703847 5.881506013810-5

    15 0.7500000000 -0.4510164573 -0.4509613589 5.509839666910-5

    16 0.8000000000 -0.3942420731 -0.3941927200 4.935313333710-5

    17 0.8500000000 -0.3218810296 -0.3218397301 4.12995951310-5

    18 0.9000000000 -0.2328414721 -0.2328108456 3.062654877910-5

    19 0.9500000000 -0.1259605487 -0.1259435607 1.698805093610-5

    Grfica de la aproximacion obtenida con el mtodo

    lineal segmentario de Rayleigh-Ritz.

    Proyecto Fin de Carrera 70

  • 0.2 0.4 0.6 0.8 1.0X

    -0.5

    -0.4

    -0.3

    -0.2

    -0.1

    Y

    Software para la resolucin de EDO 71

  • 9.2. M