introducción a los métodos numéricos

31
Módulo 8: Métodos Numéricos Docente: MSc. Joanny Ibarbia Pardo Introducción a los Métodos Numéricos

Upload: joanny-ibarbia-pardo

Post on 20-Jan-2017

532 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Introducción a los Métodos Numéricos

Módulo 8: Métodos Numéricos

Docente: MSc. Joanny Ibarbia Pardo

Introducción a los Métodos Numéricos

Page 2: Introducción a los Métodos Numéricos

¿Qué es un Método Numérico?

Un método numérico es un procedimiento mediante el cual se obtiene, casi

siempre de manera aproximada, la solución de ciertos problemas realizando

cálculos puramente aritméticos y lógicos (operaciones aritméticas

elementales, cálculo de funciones, consulta de una tabla de valores, cálculo

preposicional, etc.). Un tal procedimiento consiste de una lista finita de

instrucciones precisas que especifican una secuencia de operaciones

algebraicas y lógicas (algoritmo), que producen o bien una aproximación de la

solución del problema (solución numérica) o bien un mensaje. La eficiencia en

el cálculo de dicha aproximación depende, en parte, de la facilidad de

implementación del algoritmo y de las características especiales y limitaciones

de los instrumentos de cálculo (los computadores). En general, al emplear

estos instrumentos de cálculo se introducen errores llamados de redondeo.

Page 3: Introducción a los Métodos Numéricos

Objetivo General de los Métodos Numéricos

Usar los algoritmos para la búsqueda de una respuesta acertada a modelos de difícil solución algebráica en diversos campos de aplicación de la ingeniería.

Page 4: Introducción a los Métodos Numéricos

Una definición de análisis numérico podría ser el estudio de los errores en los cálculos;

error aquí no quiere decir, equivocación u omisión, sino más bien una discrepancia entre el valor exacto y el calculado, que es consecuencia de la manera con que se manejan los números o fórmulas.

Análisis numérico

Page 5: Introducción a los Métodos Numéricos

Los métodos numéricos pueden ser aplicados para resolver procedimientos matemáticos en:

Cálculo de derivadasIntegralesEcuaciones diferencialesOperaciones con matricesInterpolacionesAjuste de curvasPolinomiosLos métodos numéricos se aplican en áreas como:Ingeniería Industrial, Ingeniería Química,

Ingeniería Civil, Ingeniería Mecánica, Ingeniería eléctrica, etc...

Page 6: Introducción a los Métodos Numéricos

Razones por las cuales se deben estudiar los Métodos Numéricos

1- Los métodos numéricos son herramientas extremadamente poderosas para la solución de problemas. Son capaces de manejar sistemas de ecuaciones grandes, no linealidades y geometrías complicadas que son comunes en la práctica de la ingeniería y que, a menudo, son imposibles de resolver analíticamente. Por lo tanto, amplían la habilidad de quien los estudia para resolver problemas.

2- En el transcurso de una carrera de ingeniería, es posible que el estudiante tenga la ocasión de usar software disponible comercialmente que contenga métodos numéricos. El uso inteligente de estos programas depende del conocimiento de la teoría básica en la que se basan estos métodos.

3- Hay muchos problemas que no pueden plantearse al emplear programas “hechos”. Si se está versado en los métodos numéricos y se es un adepto de la programación de computadoras, entonces se tiene la capacidad de diseñar programas propios para resolver los problemas, sin tener que comprar un software costoso.

Page 7: Introducción a los Métodos Numéricos

Razones por las cuales se deben estudiar los Métodos Numéricos (continuación)

4- Los métodos numéricos son un vehículo eficiente para aprender a servirse de las computadoras personales. Es bien sabido que una manera efectiva de aprender a programar las computadoras es al escribir los programas. Como los métodos numéricos, en su mayor parte están elaborados para implementarse en computadoras, resultan ideales para este propósito. Aún más, están especialmente adaptados para ilustrar la potencia así como las limitaciones de las computadoras. Cuando el lector implemente con buen resultado los métodos numéricos en una computadora personal y los aplique para resolver problemas que de otro modo resultan intratables, entonces tendrá una demostración tangible de cómo pueden ayudarle las computadoras para su desarrollo profesional. AI mismo tiempo, aprenderá a reconocer y controlar los errores de aproximación que son inesperables de los cálculos numéricos a gran escala.

5- Los métodos numéricos son un medio para reforzar su comprensión de las matemáticas. Porque una función de los métodos numéricos es la de reducir las matemáticas superiores a operaciones aritméticas básicas, ya que profundizan en los temas que de otro modo resultan oscuros. Esta alternativa aumenta su capacidad de comprensión y entendimiento en la materia.

Page 8: Introducción a los Métodos Numéricos

Métodos numéricos básicos para la ingeniería

INTERPOLACIÓN

APROXIMACIÓN

RAÍCES DE ECUACIONES

SISTEMAS DE ECUACIONES NO LINEALES

DIFERENCIACIÓN NUMÉRICA

INTEGRACIÓN NUMÉRICA

ECUACIONES DIFERENCIALES CON VALOR INICIAL

Page 9: Introducción a los Métodos Numéricos

INTERPOLACIÓN

En la práctica de la ingeniería se utilizan mucho las tablas de datos, como en el caso de las tablas de vapor saturado en la termodinámica. En la mayoría de los casos el dato necesario no se encuentra explícito en la tabla sino entre dos valores de ésta, para lo cual es necesario estimarlo de entre los valores que presenta la tabla en un proceso conocido como interpolación.

La idea básica de la interpolación es hallar un polinomio o función que cumpla con pasar por todos los puntos de un conjunto de datos (X1, Y1), (X2,Y2),…(Xn,Yn), y poder estimar los valores entre ellos por medio del polinomio.

Page 10: Introducción a los Métodos Numéricos

INTERPOLACIÓN (continuación)

Para ilustrar la interpolación por polinomios de Lagrange considérese un conjunto de datos de tres puntos (x1,y1); (x2,y2); (x3,y3) . El polinomio interpolador en este caso es:

Obsérvese que en el punto x = x1, sólo queda el primer término con su numerador y denominador cancelándose entre sí, por lo cual P(x1) = y1. Lo mismo sucede con los demás puntos, por lo que se ve que el polinomio cumple con la condición de pasar por todos los puntos de datos. En general, para n puntos de datos, el polinomio de Lagrange es :

Page 11: Introducción a los Métodos Numéricos

Una forma mucho más sencilla de ver la ecuación anterior es en forma de un algoritmo, el cual se muestra escrito para MATLAB de esta manera:

INTERPOLACIÓN (continuación)

Polinomios de Lagrange en MATLAB Entradas: valor a interpolar x, vectores conteniendo los puntos X y Y. Salidas: valor interpolado y.

Page 12: Introducción a los Métodos Numéricos

INTERPOLACIÓN (continuación)

En Matlab un polinomio se representa mediante un vector fila que contiene los

coeficientes de las potencias de la variable en orden decreciente. Por ejemplo,

los polinomios , , , serán

introducidos en el ordenador con los mandatos:

p=[2 0 0 33 2], q=[16 23 -24 1.2]

Ejemplo No. 1 Realizamos las siguientes operaciones con los polinomios p, q anteriores:

Las combinaciones de teclas para insertar corchetes [ ] son alt+91 y alt+93

Page 13: Introducción a los Métodos Numéricos

Resolución del ejemplo anterior en MATLAB

a) Calculando el producto de los polinomios p y q

b) División con resto del polinomio p entre q

Page 14: Introducción a los Métodos Numéricos

Resolución del ejemplo anterior en MATLAB (cont.)

c) Cálculo de las raíces del polinomio p

d) Calcula el polinomio cuyas raíces son las componentes de s

Page 15: Introducción a los Métodos Numéricos

Resolución del ejemplo anterior en MATLAB (cont.)

e) Evalúa el polinomio p en los puntos x = 0, 1, 2.

f) Evalúa el polinomio q en los puntos x = 0, 1, 2.

Page 16: Introducción a los Métodos Numéricos

Interpolación y aproximación polinomial

Consideremos la siguiente tabla de datos:

Y nos planteamos el cálculo de un polinomio:

Que verifique f(xi) = fi, lo cual equivale a resolver el siguiente sistema:

La matriz de este sistema recibe el nombre de matriz de Vandermonde del vector

Como se puede observar su fila i-ésima está formada por las potencias sucesivas de xi+1.

Page 17: Introducción a los Métodos Numéricos

Interpolación y aproximación polinomial (cont.)

Llevamos a Matlab el anterior sistema con el listado

Obtenemos como respuesta p= [ 0.9776 0.2057 0.0441 0.0101 ] con lo que el polinomio interpolador de la función f es:

p(x) = 0.9776 x 3 + 0.2057 x 2 + 0.0441 x − 0.0101

Page 18: Introducción a los Métodos Numéricos

La función polyfit calcula directamente el polinomio interpolador que pasa por los puntos xi , fi . Además si en el listado anterior hubiéramos puesto en su segunda línea la orden polyfit (x,y,2) entonces Matlab nos hubiera calculado, por el método de los mínimos cuadrados, el polinomio de grado dos que más se aproxima a los datos (xi , fi).

Interpolación y aproximación polinomial (cont.)

Page 19: Introducción a los Métodos Numéricos

Extrapolación

Consideremos los datos correspondientes a puntos de la gráfica de la función y = x3 :

x=[0 1 2 3 4] y=[0 1 8 27 64]

Y supongamos que a partir de dichos datos deseamos realizar una

interpolación para calcular el valor de . Dicha interpolación debería ser

inversa ya que nosotros conocemos y0 = 20 y nuestro deseo es conocer

el x0 que lo produce. La interpolación inversa o extrapolación consiste

entonces en expresar la x en función de la y. En nuestro caso y usando la

expresión de Lagrange del polinomio interpolador tendremos:

Page 20: Introducción a los Métodos Numéricos

Realizando dichas operaciones con y0 = 20 obtenemos x0 = −1.3139, en lugar del valor correcto 2.7144.

Extrapolación en MATLAB

Las operaciones anteriores se pueden realizar, en Matlab, simplemente con los comandos siguientes:

Page 21: Introducción a los Métodos Numéricos

Funciones para interpolar datos en MATLAB

En Matlab encontramos las siguientes funciones para interpolar datos:

Interp1: interpolación de datos unidimensionales.

spline: interpolación con el método de spline cúbica

polyfit: interpolación con polinomios

nearest : interpolación asignado el valor del vecino más cercano.

linear: interpolación lineal (default)

pchip: interpolación con polinomios de Hermite

cubic: (igual que 'pchip')

v5cubic: interpolación Cúbica usada in MATLAB 5

Page 22: Introducción a los Métodos Numéricos

Funciones para interpolar datos en MATLAB(cont.)

El comando interp1 se emplea para interpolar una serie de datos. El formato de este comando es:

Donde:

x : abscisa de los puntos a interpolar, expresada como vector fila.

y : ordenada de los puntos a interpolar, expresada como vector fila.

xi : abscisas para construir la función de interpolación, expresada como vector fila. Si es un solo valor, calculará el valor interpolando con la función declarada en métodos.

método: determina el método de interpolación, entre: (nearest , linear , spline, pchip, cubic y v5cubic)

Page 23: Introducción a los Métodos Numéricos

Ejemplos de implementación en MATLAB de las funciones anteriores:

Funciones para interpolar datos en MATLAB(cont.)

Page 24: Introducción a los Métodos Numéricos

Ejemplos de implementación en MATLAB de las funciones anteriores:

Funciones para interpolar datos en MATLAB(cont.)

Para calcular el valor interpolado, se puede proceder así:

Graficando todos los métodos en una sola figura puede servir para su comparación. Ejecute la siguiente serie de comandos, ya sea a través de la línea de comandos o mediante un archivo m.

Page 25: Introducción a los Métodos Numéricos

Ejemplos de implementación en MATLAB de las funciones anteriores:

Funciones para interpolar datos en MATLAB(cont.)

Page 26: Introducción a los Métodos Numéricos

Funciones para interpolar datos en MATLAB(cont.)

Ejemplos de implementación en MATLAB de las funciones anteriores:

Page 27: Introducción a los Métodos Numéricos

El comando “spline” Otra manera de realizar una interpolación de tipo spline, es invocando el comando spline, cuyo formato se muestra a continuación:

yy = spline (x, y, xx)

Donde:

x : abscisa de los puntos a interpolar, expresada como vector fila.

y : ordenada de los puntos a interpolar, expresada como vector fila. xx : abscisas para construir la función de interpolación, expresada como vector fila. Si es un solo valor calculará el valor interpolando.

Funciones para interpolar datos en MATLAB(cont.)

Ejemplos de implementación en MATLAB de las funciones anteriores:

Page 28: Introducción a los Métodos Numéricos

Ejemplo del comando “spline”

Page 29: Introducción a los Métodos Numéricos

Funciones para interpolar datos en MATLAB(cont.)

Ejemplos de implementación en MATLAB de las funciones anteriores:

El comando “polyfit”

Calcula los coeficientes de un polinomio de grado “n” que ajustan, mediante mínimos cuadrados, a una serie de datos. El formato de este comando se resume, así:

x : abscisa de los puntos a interpolar, expresada como vector fila.

y : ordenada de los puntos a interpolar, expresada como vector fila. orden: indica el orden del polinomio que se utilizará en el ajuste.

Además, se usa el comando polyval para calcular el valor de un polinomio para un dado valor de x, según la forma: y = polyval ( p , x )

Donde: p es el polinomio, ingresado como vector fila y x es el valor de la incógnita cuya imagen se desea calcular.

Page 30: Introducción a los Métodos Numéricos

Ejemplo del comando “polyfit”

Page 31: Introducción a los Métodos Numéricos

Muchas Gracias