An 01 Introduccion2

11
Análisis Numérico ICM ESPOL Ing. Luis Rodríguez Ojeda, MSc. ANÁLISIS NUMÉRICO Un Enfoque Algorítmico con el Soporte de MATLAB ® 1 INTRODUCCIÓN El Análisis Numérico es una rama de la matemática cuyo objetivo principal es el estudio de métodos para resolver problemas numéricos complejos. El estudio de estos métodos no es reciente, pero actualmente con el apoyo de la computación se los puede usar para enfrentar la resolución de problemas que anteriormente no hubiese sido posible. En este curso se proporciona a los estudiantes el conocimiento matemático básico para proveer soporte y formalidad a cada uno de los métodos estudiados. Entonces se desarrolla la forma algorítmica de los métodos y finalmente se instrumenta su forma computacional usando la capacidad de cálculo, visualización y programación de MATLAB. Este componente práctico del curso es desarrollado en un laboratorio de computación. El estudio de cada método se complementa con el desarrollo de ejemplos y ejercicios que pueden resolverse con la ayuda de una calculadora. Sin embargo, el objetivo principal del curso es la aplicación de los métodos en la resolución de algunos problemas de ingeniería que por su complejidad requieren usar el computador. 1.1 Un procedimiento para resolver problemas con el computador Suponer un problema que debemos resolver y que está en nuestro ámbito de conocimiento. En la etapa de Análisis es necesario estudiar y entender el problema. Sus características, las variables y los procesos que intervienen. Asimismo, debemos conocer los datos requeridos y el objetivo esperado. En el caso de problemas de tipo numérico, el resultado de esta etapa será un modelo matemático que caracteriza al problema. Por ejemplo, un sistema de ecuaciones lineales. En la etapa de Diseño procedemos a elegir el método numérico apropiado para resolver el modelo matemático. Debe suponerse que no se puede obtener una solución exacta mediante métodos analíticos. Los métodos numéricos permiten obtener soluciones aproximadas. El resultado de esta etapa es la formulación matemática del método numérico y la elaboración de un algoritmo para usarlo. En la etapa de Instrumentación elegimos el dispositivo de cálculo para la obtención de resultados. En problemas simples, basta una calculadora. Para problemas complejos, requerimos el computador mediante funciones predefinidas y en algunos casos, desarrollando programas y funciones. Esta última opción es importante para la comprensión de los métodos. Este proceso debe complementarse con una revisión y retroalimentación. Es preferible invertir más tiempo en las primeras etapas, antes de llegar a la instrumentación.

description

s

Transcript of An 01 Introduccion2

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    ANLISIS NUMRICO Un Enfoque Algortmico con el Soporte de MATLAB 1 INTRODUCCIN El Anlisis Numrico es una rama de la matemtica cuyo objetivo principal es el estudio de mtodos para resolver problemas numricos complejos. El estudio de estos mtodos no es reciente, pero actualmente con el apoyo de la computacin se los puede usar para enfrentar la resolucin de problemas que anteriormente no hubiese sido posible. En este curso se proporciona a los estudiantes el conocimiento matemtico bsico para proveer soporte y formalidad a cada uno de los mtodos estudiados. Entonces se desarrolla la forma algortmica de los mtodos y finalmente se instrumenta su forma computacional usando la capacidad de clculo, visualizacin y programacin de MATLAB. Este componente prctico del curso es desarrollado en un laboratorio de computacin. El estudio de cada mtodo se complementa con el desarrollo de ejemplos y ejercicios que pueden resolverse con la ayuda de una calculadora. Sin embargo, el objetivo principal del curso es la aplicacin de los mtodos en la resolucin de algunos problemas de ingeniera que por su complejidad requieren usar el computador. 1.1 Un procedimiento para resolver problemas con el computador

    Suponer un problema que debemos resolver y que est en nuestro mbito de conocimiento. En la etapa de Anlisis es necesario estudiar y entender el problema. Sus caractersticas, las variables y los procesos que intervienen. Asimismo, debemos conocer los datos requeridos y el objetivo esperado. En el caso de problemas de tipo numrico, el resultado de esta etapa ser un modelo matemtico que caracteriza al problema. Por ejemplo, un sistema de ecuaciones lineales. En la etapa de Diseo procedemos a elegir el mtodo numrico apropiado para resolver el modelo matemtico. Debe suponerse que no se puede obtener una solucin exacta mediante mtodos analticos. Los mtodos numricos permiten obtener soluciones aproximadas. El resultado de esta etapa es la formulacin matemtica del mtodo numrico y la elaboracin de un algoritmo para usarlo. En la etapa de Instrumentacin elegimos el dispositivo de clculo para la obtencin de resultados. En problemas simples, basta una calculadora. Para problemas complejos, requerimos el computador mediante funciones predefinidas y en algunos casos, desarrollando programas y funciones. Esta ltima opcin es importante para la comprensin de los mtodos. Este proceso debe complementarse con una revisin y retroalimentacin. Es preferible invertir ms tiempo en las primeras etapas, antes de llegar a la instrumentacin.

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    1.1.1 El Modelo Matemtico En el procedimiento descrito para resolver un problema con el computador, la parte mas laboriosa normalmente es el anlisis del problema y la obtencin del modelo matemtico que finalmente debe resolverse para obtener la solucin. Para esta etapa es necesario conocer el mbito del problema y los instrumentos matemticos para formular el modelo. A continuacin se describen dos problemas y el anlisis para obtener el modelo matemtico respectivo Problema 1 Un empresario desea producir recipientes cilndricos de aluminio de un litro de capacidad. Para el sellado del material un borde debe tener 0.5 cm. adicionales. Se necesita determinar las dimensiones que debe tener cada recipiente para que la cantidad de material utilizada en la fabricacin sea mnima. Anlisis Sean: x, h: radio y altura del cilindro, respectivamente

    Volumen requerido: V = x2h = 1000 cm3 (1) rea total: A = 2 (x+0.5)2 + (2x+0.5)h cm2 (2) De (1) obtenemos h, sustituimos en (2) y resulta

    A = 2 21000(2 x 0.5)2 (x 0.5)

    x + + +

    Para obtener el mnimo, seguimos el procedimiento matemtico conocido: d A 0

    dx= 2 3

    500 500(2 x 0.5)(x 0.5) 0x x

    + + + = El modelo matemtico resultante es una ecuacin no lineal que debe resolverse en forma aproximada pues no es posible obtener una solucin analtica exacta..

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    Problema 2 Un comerciante compra tres productos: A, B, C. Estos productos se venden por peso en Kg. pero en las facturas nicamente consta el total que debe pagar. El valor incluye el impuesto a las ventas y supondremos, por simplicidad que es 10%. El comerciante desea conocer el precio unitario de cada artculo, para lo cual dispone de tres facturas con los siguientes datos: Factura Kg. de A Kg. de B Kg. de C Valor pagado 1 4 2 5 $19.80 2 2 5 8 $30.03 3 2 4 3 $17.82 Anlisis Primero eliminamos el 10% del valor facturado dividiendo cada valor para 1.1: Factura Valor pagado Valor sin impuesto 1 $19.80 18.00 2 $30.03 27.30 3 $17.82 16.20 Sean 1 2 3x ,x ,x variables que representan al precio por Kg. de cada producto. Entonces, se pueden escribir las siguientes ecuaciones:

    1 2 3

    1 2 3

    1 2 3

    4x 2x 5x 18.002x 5x 8x 27.302x 4x 3x 16.20

    + + =+ + =+ + =

    El modelo matemtico resultante es un sistema de tres ecuaciones lineales de cuya solucin se obtendrn las respuestas.

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    1.2 Fuentes de error en la resolucin de un problema numrico En el Anlisis pueden introducirse errores inherentes debido a suposiciones inadecuadas, omisin de variables, datos imprecisos En el Diseo se pueden introducir errores de truncamiento que pueden atribuirse al uso de mtodos basados en el desarrollo de series y al uso de frmulas iterativas. En la Instrumentacin se pueden introducir errores de redondeo por la limitacin de la representacin de los nmeros reales en los dispositivos de almacenamiento de datos. Estos errores son independientes y su efecto puede acumularse. En el caso especfico del error de redondeo, el efecto puede propagarse si los resultados de los clculos aritmticos son usados en forma en forma consecutiva en una secuencia de clculos. Debido a que los mtodos numricos permiten obtener nicamente aproximaciones para la respuesta de un problema, es necesario establecer alguna medida para la magnitud del error en el resultado obtenido. En general, no es posible determinar exactamente este valor por lo que es necesario definir algn criterio para acotarlo o limitarlo. Esta informacin puede ser suficiente para el uso de los resultados calculados. 1.3 Algoritmos numricos Un algoritmo es una descripcin ordenada de como se usa la formulacin matemtica correspondiente a cada mtodo numrico, as como los lugares en los que se deben ingresar datos y donde se producen los resultados. Para crear un algoritmo es necesario conocer completamente el componente matemtico, sus restricciones, los datos requeridos y los resultados que se obtendrn. Esta descripcin facilita la instrumentacin computacional final del mtodo numrico. Sin embargo, en la mayora de los casos puede omitirse la elaboracin del algoritmo e ir directamente a la codificacin del programa o funcin, a menos que el problema sea muy complejo.

    1.3.1 Descripcin de algoritmos Para escribir algoritmos se puede usar cualquier notacin, grfica o simblica, debiendo tener algunas caractersticas para que tenga utilidad:

    1) Debe ser simple 2) Las instrucciones deben ser precisas y no contener ambigedades 3) Debe contar con instrucciones para describir la solucin de problemas de inters 4) El algoritmo resultante debe ser fcil de entender y realizar 5) Debe tener orientacin computacional 1.3.2 Notacin para describir algoritmos En esta seccin se propone una sintaxis tpica para describir algoritmos. No es obligacin adoptar esta notacin. Tambin pueden usarse los conocidos Diagramas de Flujo

    Instrucciones bsicas

    1) Asignacin de variables en el algoritmo Variable valor

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    2) Entrada de datos para variables desde fuera del algoritmo

    ingresar variables

    3) Salida del contenido de variables hacia fuera del algoritmo

    mostrar variables

    Estructuras de control de flujo en el algoritmo 1) Decisiones

    si resultado de una condicin es verdadero instrucciones que se realizan fin

    si resultado de una condicin es verdadero instrucciones que se realizan

    sino instrucciones que se realizan fin

    2) Repeticiones

    mientras resultado de una condicin es verdadero repita instrucciones que se realizan fin para variable = v1, v2, . . ., vn repita instrucciones que se realizan fin

    Ejemplo. Escriba un algoritmo que reciba tres nmeros y entregue la suma de los dos mayores Sean a, b, c: Variables que recibirn los datos t: Variable que contendr el resultado ingresar a, b, c si a c b c t a + b sino si a b c b t a + c sino t b + c fin fin mostrar t

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    1.4 Instrumentacin computacional En este curso se usar MATLAB para instrumentar los algoritmos correspondientes a los mtodos numricos estudiados. Cada algoritmo ser transformado en una funcin en el lenguaje de MATLAB tratando de que sea independiente de los datos especficos de un problema particular. Estas funciones podrn ser usadas desde la ventana de comandos o mediante un programa que contendr los datos del problema que se desea resolver. Se supondr que los estudiantes tienen el conocimiento bsico del lenguaje y del entorno de MATLAB. 1.5 El programa MATLAB MATLAB es un instrumento computacional simple de usar, verstil y de gran poder para aplicaciones numricas, simblicas y grficas. Contiene una gran cantidad de funciones predefinidas para aplicaciones en reas de las ciencias e ingeniera. Este instrumento puede usarse en forma interactiva mediante comandos o mediante instrucciones creando programas y funciones con las que se puede agregar poder computacional a la plataforma MATLAB. 1.5.1 Uso interactivo de MATLAB Al ingresar al programa MATLAB se tiene acceso a la Ventana de Comandos. Los comandos son las instrucciones que se escriben para obtener resultados en forma inmediata y directa. Ejemplo. Para calcular

    7y cos(2 ) 5 2= + +

    Digite en la ventana de comandos de MATLAB y = cos(2*pi)+sqrt(5)+2^7

    Obtendr inmediatamente la respuesta y =

    131.2361

    Ventana de comandos de MATLAB

    Se escribe el comando

    Se obtiene la respuesta

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    NOTA IMPORTANTE Para conocer el uso de cada comando o funcin, se escribe help y luego el nombre Ejemplo. Si desea conocer el uso de la funcin sqrt digite >> help sqrt SQRT Square root. Esta informacin SQRT(X) is the square root of the elements of X. Complex aparece en pantalla results are produced if X is not positive. Ejemplo. Si desea conocer la lista de las funciones matemticas bsicas de MATLAB digite >> help elfun 1.5.2 Programacin en MATLAB Junto a este curso se suministra un Tutorial de MATLAB. Se sugiere usarlo como referencia y adquirir familiaridad con la sintaxis y operatividad de este lenguaje. Para usar el componente programable de MATLAB debe abrir una ventana de edicin presionando el botn New M-File en la barra de opciones de MATLAB. Entonces escriba el programa en la ventana de edicin y almacnelo con algn nombre. Finalmente, active el programa escribiendo el nombre en la ventana de comandos. Ingrese los datos y obtenga los resultados. Ejemplo. Escribir y probar un programa en MATLAB para el algoritmo de la Seccin 1.3.2

    4) Activar el programa, ingresar los datos y obtener el resultado

    1) Presionar este botn para abrir la ventana de edicin

    2) Escribir el programa en la ventana de edicin

    3) Presionar este botn para almacenar el programa.

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    1.6 Tipos de mtodos numricos En general, existen dos estrategias para disear mtodos numricos y es importante conocer como elegirlos, as como su estructuracin algortmica e instrumentacin computacional 1.6.1 Mtodos Directos Son procedimientos para obtener resultados efectuando una secuencia finita de operaciones aritmticas. La cantidad de operaciones aritmticas depende del tamao del problema. Los resultados obtenidos son exactos, pero si no es posible conservar todos los dgitos de los nmeros producidos en las operaciones aritmticas, entonces pueden ser afectados por los errores de redondeo. Ejemplo. Instrumentar un mtodo directo para resolver un sistema triangular inferior de ecuaciones lineales.

    Modelo matemtico a1,1x1 = b1 a2,1x1 + a2,2x2 = b2 a3,1x1 + a3,2x2 + a3,3x3 = b3 . . . . an,1x1 + an,2x2 + ax,3x3 + . . . + an,nxn = bn Siendo: ai,j: coeficientes (datos) bi : constantes (datos) xi : variables (resultados) La formulacin matemtica del mtodo se obtiene despejando sucesivamente xi de la ecuacin i

    x1 = 1,1

    1a

    (b1)

    x2 = 2,2

    1a

    (b2 - a2,1x1)

    x3 = 3,3

    1a

    (b3 - a3,1x1 - a3,2x2)

    . . . En general:

    xi = i,i

    1a

    (bi - ai,1x1 - ai,2x2 - . . . - ai,i-1xi-1), i = 2, 3, . . . , n, ai,i 0 Algoritmo

    ingresar n, a, b

    x1 11,1

    ba

    para i = 2, 3, ..., n s 0 para j = 1, 2, ..., i-1 s s + ai,j xi fin

    xi ii,i

    1 (b s)a

    fin mostrar x

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    Instrumentacin computacional en MATLAB Para que la instrumentacin sea general es preferible disear cada mtodo numrico independientemente de los datos de un problema particular. Una instrumentacin adecuada consiste en escribir, en lugar de un programa, una funcin. El nombre para la funcin ser Triangular. La funcin recibir como datos la matriz de coeficientes a y el vector de constantes b del sistema de ecuaciones lineales y producir como resultado el vector solucin x function x = Triangular(a, b) n = length(b); Con la funcin length MATLAB x(1) = b(1)/a(1,1); encuentra el nmero de ecuaciones for i = 2: n s = 0; for j = 1: i-1 s = s + a(i,j)*x(j); end x(i) = (b(i) - s)/a(i,i); end Ejemplo de aplicacin. Escribir los comandos para resolver el siguiente problema usando la funcin anterior 3x1 = 2 7x1 + 5x2 = 3 8x1 + 2x2 + 9x3 = 6 >> a = [3 0 0; 7 5 0; 8 2 9] Definir la matriz >> b = [2; 3; 6] Definir el vector de constantes >> x = Triangular(a, b) Para usar la funcin Interaccin con MATLAB

    Ventana de comandos

    Ventana de edicin

    Resultados obtenidos

    Ingreso de comandos

    Escribir y almacenar la funcin

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    1.6.2 Mtodos Iterativos En estos mtodos nicamente se puede obtener una respuesta aproximada. Es necesario comenzar con algn valor estimado para la respuesta y usar alguna una frmula apropiada para obtener una mejor aproximacin. Este resultado se puede usar nuevamente como valor inicial y continuar mejorando la respuesta. Para usar estos mtodos deben considerarse algunos aspectos tales como la eleccin del valor inicial, la propiedad de convergencia de la frmula y el criterio para terminar las iteraciones. Estos mtodos son auto-correctivos. La precisin de la respuesta est dada por la distancia entre el ltimo valor calculado y la respuesta esperada. Esto constituye el error de truncamiento. Estructura de un mtodo iterativo El siguiente grfico describe la estructura de un mtodo iterativo

    Cada ciclo se denomina iteracin. Si la frmula converge, en cada iteracin la respuesta estar mas cerca del resultado buscado. Ejemplo. Instrumentar un mtodo iterativo para calcular la raz cuadrada de un nmero real positivo mediante operaciones aritmticas bsicas Modelo matemtico Sea n un nmero real positivo y x su raz cuadrada Entonces, x n= puede formularse como el clculo de una raz real de la ecuacin f(x) = x2 n = 0 Mtodo Numrico Se usar una frmula que tiene la propiedad de recibir un valor estimado para la raz cuadrada de n y producir un valor ms cercano a la respuesta. Si se usa repetidamente la frmula puede observarse que el resultado tiende a un valor final que suponemos es la respuesta buscada. El anlisis para obtener estas frmulas se realizar posteriormente. Sean xa: un valor estimado para la raz

    La frmula: n aa

    1 nx (x )2 x

    = + Producir un valor xn ms cercano a la raz. Esta frmula es un mtodo numrico iterativo que puede visualizarse con el grfico siguiente

  • Anlisis Numrico ICM ESPOL

    Ing. Luis Rodrguez Ojeda, MSc.

    Ejemplo. Calcular x = 2 con seis decimales exactos con la ayuda de una calculadora Sea xa = 1, valor inicial Clculos

    n aa

    1 n 1 2x (x ) (1 ) 1.52 x 2 1

    = + = + = xa = xn = 1.5

    n aa

    1 n 1 2x (x ) (1.5 ) 1.4166662 x 2 1.5

    = + = + = xa = xn = 1.416666

    n aa

    1 n 1 2x (x ) (1.416666 ) 1.4142152 x 2 1.416666

    = + = + = xa = xn = 1.414215

    n aa

    1 n 1 2x (x ) (1.414215 ) 1.4142132 x 2 1.414215

    = + = + = xa = xn = 1.414213

    n aa

    1 n 1 2x (x ) (1.414213 ) 1.4142132 x 2 1.414213

    = + = + = El ltimo resultado ya tiene seis dgitos decimales que no cambian, por lo tanto podemos suponer que la respuesta tiene seis decimales exactos. PREGUNTAS No necesita entregar sus respuestas 1) Que etapa del proceso de resolucin de un problema numrico requiere mayor atencin? 2) Que tipo de conocimientos son necesarios para formular un modelo matemtico? 3) En el ejemplo del recipiente, Cual sera la desventaja de intentar obtener experimentalmente la solucin mediante prueba y error en lugar de analizar el modelo matemtico? 4) Que es ms crtico: el error de truncamiento o el error de redondeo? 5) Los errores inherentes, de truncamiento, y de redondeo son independientes, pero al coexistir en el mismo proceso, su efecto puede incrementar o reducir el error total en el resultado? 6) Cual operacin aritmtica usted piensa que puede introducir mayor error de redondeo: una suma o una multiplicacin? 7) Cuales son las ventajas y desventajas de un mtodo directo? 8) Cuales son las ventajas y desventajas de un mtodo iterativo? 9) El ejemplo del mtodo numrico para calcular 2 produce una secuencia numrica. Le parece que la convergencia es rpida?