Este documento introduce los métodos numéricos y explica su objetivo de encontrar soluciones aproximadas a problemas matemáticos complejos mediante cálculos aritméticos. Define un método numérico como un algoritmo que especifica operaciones para aproximar soluciones. Además, describe métodos numéricos comunes como interpolación, resolución de ecuaciones y diferenciación/integración numérica, los cuales son útiles en diversas áreas de ingeniería.
Los métodos numéricos son técnicas mediante las cuales es posible formular problemas de tal forma que sean resueltas con operaciones aritméticas, Aunque hay muchos tipos de métodos numéricos todos comparten una característica común, llevan cabo un buen número de tediosos cálculos aritméticos.
Los métodos numéricos son técnicas mediante las cuales es posible formular problemas de tal forma que sean resueltas con operaciones aritméticas, Aunque hay muchos tipos de métodos numéricos todos comparten una característica común, llevan cabo un buen número de tediosos cálculos aritméticos.
En el análisis siguiente se introduce una función que es muy diferente de las que ha estudiado en cursos anteriores. Más tarde veremos que
de hecho existe una función o más precisamente, una función generalizada, cuya transformada de
Laplace es F(s) = 1.
En el análisis siguiente se introduce una función que es muy diferente de las que ha estudiado en cursos anteriores. Más tarde veremos que
de hecho existe una función o más precisamente, una función generalizada, cuya transformada de
Laplace es F(s) = 1.
Trabajo realizado para el curso de métodos numéricos II dictado por el Ing. Gonzalo Cuadros Herrera, de la maestría de proyectos de inversión (2010) EPG - UNPRG (Lambayeque - Peru)
Eitam Aguirre Gonzalez
Hector Antonio Barba Nanfuñay
Marcos Nanfuñay Minguillo
Emilio Rodriguez Carlos
MARZO 2011
Los métodos numéricos nos vuelven aptos para entender esquemas numéricos a fin de resolver problemas matemáticos, de ingeniería y científicos en una computadora, reducir esquemas numéricos básicos, escribir programas y resolverlos en una computadora y usar correctamente el software existente para dichos métodos y no solo aumenta nuestra habilidad para el uso de computadoras sino que también amplia la pericia matemática y la comprensión de los principios científicos básicos.
MATLAB se ha convertido en un estándar para el cálculo científico y la visualización en ingeniería y ciencias, y como herramienta docente en universidades. El principal inconveniente para la enseñanza con MATLAB es la dificultad de acceso de los alumnos a la herramienta, debido al alto coste de las licencias. Esto provoca un impacto docente muy claro, pues pocos estudiantes pueden practicar usando sus propios ordenadores.
Octave es una alternativa a MATLAB, que se distribuye como software libre. El principal inconveniente que ha tenido Octave hasta ahora era la falta de una interfaz gráfica sencilla y de un entorno de programación, similares a los que presenta MATLAB. Además, puede ser complicado de instalar en algunas plataformas, como Windows.
Este inconveniente es historia gracias al proyecto Octave UPM, que proporciona un entorno de programación basado en Octave compatible con MATLAB. El entorno Octave UPM ofrece las mismas funcionalidades que MATLAB y ha sido probado con éxito en varias asignaturas en la UPM, con más de 200 alumnos matriculados, que anteriormente empleaban exclusivamente MATLAB, sin cambiar una línea del código de las asignaturas.
2. ¿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.
3. 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.
4. 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
5. Los métodos numéricos pueden ser aplicados
para resolver procedimientos matemáticos en:
Cálculo de derivadas
Integrales
Ecuaciones diferenciales
Operaciones con matrices
Interpolaciones
Ajuste de curvas
Polinomios
Los 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...
6. 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.
7. 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.
8. 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
9. 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.
10. 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 :
11. 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.
12. 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
13. 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
14. 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
15. 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.
16. 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.
17. 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
18. 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.)
19. 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:
20. 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:
21. 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
22. 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)
23. Ejemplos de implementación en MATLAB de las funciones anteriores:
Funciones para interpolar datos en MATLAB(cont.)
24. 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.
25. Ejemplos de implementación en MATLAB de las funciones anteriores:
Funciones para interpolar datos en MATLAB(cont.)
26. Funciones para interpolar datos en MATLAB(cont.)
Ejemplos de implementación en MATLAB de las funciones anteriores:
27. 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:
29. 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.