Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis Numérico I
4° Semestre
Unidad 1. Fundamentos
Clave
05142424/06142424
Índice
Unidad 1. Fundamentos 4
Presentación de la unidad 4
Competencia específica 5
Logros de la unidad 5
1.1.1. Historia 10
1.1.2. Importancia 14
1.3.1 Octave 19
1.3.2 Uso 26
Actividad 2. Modelación matemática 32
Cierre de la unidad 32
Referencias Bibliográficas 33
Unidad 1. Fundamentos
Presentación de la unidad
En esta unidad aprenderás cómo modelar un problema con lenguaje matemático y los pasos
que debes seguir para lograrlo. Estudiarás algunos métodos numéricos, los cuales surgen como
una necesidad de aproximar soluciones a problemas que no tienen soluciones exactas.
Aprenderás a comparar dichos métodos para establecer cuál de ellos es el más confiable o cuál
de ellos es el más sencillo de calcular.
El análisis numérico moderno nos permite resolver largos y complejos problemas, a través de
las herramientas desarrolladas mediante el álgebra lineal, para solucionar problemas de
ecuaciones diferenciales e integrales, métodos de aproximación de funciones y el impacto del
desarrollo de la ciencia y la tecnología.
Competencia específica
Identificar las bases fundamentales del análisis numérico para determinar soluciones
numéricas a través de modelos, problemas y métodos numéricos.
Logros de la unidad
Siempre que uno empieza un curso nuevo es sano preguntarse ¿cuál es la motivación teórico-
filosófica del mismo. Es decir ¿de qué trata el Análisis Numérico? ¿cómo se diferencia de las
demás ramas de la matemática?
Para contestar estas preguntas podemos empezar con una muy sencilla. ¿Cómo expresarías el
resultado de dividir la unidad entre tres?
1/3
Si tu respuesta es 0.3 te diría que no es exactamente esa ya que 0.3 es el resultado de dividir
3/10, lo mismo pasaría con respuestas como 0.33333, 0.333333333333333, o con
0.3333333333333333333333, todas estas son aproximaciones al resultado. De hecho, el
número racional que responde a esta pregunta es:
0. 3̅ = 0.3 …
Pero esto implica una representación decimal infinita, es decir, para conocer toda la expansión
decimal de la división 1/3 necesitaríamos de un tiempo infinito y el problema es que
usualmente no disponemos de tantos recursos ni tiempo. Lo que usualmente hacemos dar
como respuesta una aproximación de esta división y para todo fin práctico cualquiera de las
respuestas con expresión decimal finito antes mencionado es perfectamente válida.
Esta pregunta puede resultarte extremadamente barroca, ¿cada cuándo requieres responder
que la expansión decimal de 1/3 es infinita? Si fuera necesario partir un pastel en tres partes
aproximas las raciones y problema resuelto. Pero esto resalta un aspecto muy interesante
¿cada cuándo aceptamos una aproximación como respuesta a un resultado cuya solución
teórica no es posible representarla en términos prácticos?
La respuesta a esta pregunta es que prácticamente siempre ocupas una aproximación a una
pregunta o cálculo planteado. Desde que calculas la ruta entre dos puntos en un GPS hasta el
cálculo de intereses que te hace el banco o incluso en otras tareas donde no sientas estar tan
directamente relacionado como en la búsqueda de yacimientos petroleros o bien en el cálculo
de trayectorias de misiles balísticos o la estimación de la predicción del estado del clima. Es
decir, todas estas situaciones comparten la característica de que se requiere evaluar la solución
del modelo matemático que describe estos fenómenos para obtener un número real concreto,
este número particular es, usualmente, una aproximación.
A partir de esto podemos empezar a inferir que la tarea del Análisis Numérico es proveer de
soluciones aproximadas de modelos matemáticos, pero también conlleva a otra situación y es
que si estamos determinando una solución aproximada entonces también necesitamos tomar
en cuenta el error en el que podemos incurrir. Esta es otra de las tareas que también aborda
esta rama de las Matemáticas, la de estudiar y acotar el error en el que se incurre al usar estas
técnicas.
Un último aspecto del Análisis Numérico, aunque tal vez no sea el más significativo, es el de
determinar técnicas más eficientes, en otras palabras, la de optimizar el uso de los recursos. En
resumen podemos decir que el Análisis Numérico es un conjunto de técnicas diseñadas para
aproximar la solución de un modelo matemático, estudiar y acotar el error de dichas técnicas y
optimizar la obtención de estos resultados.
Podrías pensar que para cualquier otro modelo de cómputo estas técnicas podrían no ser
necesarias, considerando que hoy existen conceptos como computadoras cuánticas o cómputo
con DNA (Ácido Desoxirribonucleico por sus siglas en inglés, es la molécula que contiene el
material genético de todo ser vivo ) pero es importantísimo aclarar que hasta el día de hoy
todos los modelos de cómputo que conocemos son equivalentes al Modelo de Turing.
Muchos de los resultados del Análisis Numérico tienen su fundamento en los siguientes
resultados del cálculo diferencial y el álgebra. Los teoremas presentados a continuación se
muestran sin demostración debido a que el fin es únicamente recordarlos.
Teorema Fundamental del Álgebra. Sea 𝑝(𝑥) un polinomio de grado 𝑛 > 0 con coeficientes
complejos. Entonces 𝑝(𝑥) tiene tantas raíces como indica su grado. Es decir,
𝑝(𝑥) = 0
Teorema del Valor Medio: Supongamos que 𝑓 ∈ 𝐶[𝑎, 𝑏] y 𝑀 es cualquier número entre 𝑓(𝑎) y
𝑓(𝑏). Entonces existe un número 𝑎 < 𝑐 < 𝑏 de tal forma que 𝑓(𝑐) = 𝑀.
Teorema del Valor Intermedio (Rolle) Sea 𝑓 ∈ 𝐶[𝑎, 𝑏] y derivable en todo el intervalo. Si
𝑓 ′ (𝑎) = 𝑓 ′ (𝑏) = 0 entonces existe 𝑐 tal que 𝑓 ′ (𝑐) = 0.
Existe una versión generalizada de este teorema el cuál se le recomienda al lector recordarla.
Teorema del Valor Intermedio (Lagrange). Supongamos que 𝑓 ∈ 𝐶[𝑎, 𝑏] y que 𝑓 ′ (𝑥) está
definida en todo el intervalo. Entonces existe 𝑎 ≤ 𝑐 ≤ 𝑏 tal que
𝑓(𝑏) − 𝑓(𝑎)
𝑓 ′ (𝑐) =
𝑏−𝑎
Teorema del Valor Medio para Integrales. Supongamos que 𝑓 ∈ 𝐶[𝑎, 𝑏]. Entonces existe 𝑎 <
𝑐 < 𝑏 tal que
𝑏
1
∫ 𝑓(𝑥)𝑑𝑥 = 𝑓(𝑐)
𝑏−𝑎 𝑎
𝑏 𝑏
∫ 𝑓(𝑥)𝑔(𝑥) = 𝑓(𝑐) ∫ 𝑔(𝑥)
𝑎 𝑎
Teorema de Taylor Supongamos 𝑓 ∈ 𝐶 𝑛 [𝑎, 𝑏] y 𝑓 𝑛+1 definida en [𝑎, 𝑏). Sea 𝑥0 ∈ [𝑎, 𝑏]. Para
toda 𝑥 ∈ [𝑎, 𝑏] existe 𝜉(𝑥) entre 𝑥0 y 𝑥 tal que:
Donde 𝑃𝑛 (𝑥) es el polinomio de Taylor de grado n para 𝑓 alrededor de 𝑥0 y que se define como:
𝑓 ′′ (𝑥) 𝑓 𝑛 (𝑥0 )
𝑃𝑛 (𝑥) = 𝑓(𝑥0 ) + 𝑓 ′ (𝑥0 )(𝑥 − 𝑥0 ) + (𝑥 − 𝑥0 ) + ⋯ + (𝑥 − 𝑥0 )𝑛
2! 𝑛!
𝑛
𝑓 𝑘 (𝑥0 )
= ∑ (𝑥 − 𝑥0 )𝑘 .
𝑘!
𝑘=0
𝑓 𝑛+1 (𝜉(𝑥))
𝑅𝑛 (𝑥) = (𝑥 − 𝑥0 )𝑛+1
(𝑛 + 1)!
1.1.1. Historia
Hasta el momento hemos hecho mucho hincapié entre los aspectos generales de Análisis
Numérico y las Ciencias de la Computación, de hecho, no es nada extraño encontrar material
descrito dentro de textos de Cómputo Científico, pero esto no quiere decir que siempre haya
sido así. La necesidad de encontrar un valor numérico específico a un problema matemático es
patente en muchísimas ramas del conocimiento científico humano.
Muchos de los métodos que veremos aquí fueron originalmente desarrollados por matemáticos
famosos como Gauss, Euler, Newton, Jacobi, de hecho, ahora muchos de los métodos llevan sus
nombres, y por la comunidad matemática en general.
A mediados del siglo XIX empiezan a desarrollarse las matemáticas puras, con esto llega la
especialización y el estudio del análisis numérico es uno de sus derivados. El análisis numérico
es impulsado por dos eventos históricos que marcan una nueva era:
• La segunda guerra mundial
• El desarrollo de las primeras computadoras
El desarrollo del armamento militar es uno de los principales factores para impulsar la
tecnología. En Alemania, Wernher von Braun, a los 17 años, empieza a pensar en la manera de
impulsar cohetes a larga distancia, posteriormente, consigue empleo con el comandante Walter
Dornberger en la sección de balística del departamento de armas del ejército alemán, donde
tiene acceso a los planos de armas secretas.
El 22 de diciembre de 1942, se autoriza realizar el proyecto A4, que contiene los planos de las
bombas V1 y V2, cohetes con sistema guiado capaces de alcanzar el territorio inglés y de
atravesar el Atlántico, que generan una amplia onda expansiva debido a la cantidad de
explosivo que contienen. En agosto de 1943, en Bornholm, se impacta una bomba experimental
V2, que es encontrada por unos agentes del servicio danés, los cuales envían dibujos y fotos al
ejército inglés que proporcionaron la idea de la amenaza que provenía. Posteriormente en junio
de 1944, un cohete de prueba se desvía catastróficamente hacia Suecia, revelando aún más
secretos.
Al culminar la guerra, Braun y su equipo de trabajo, junto con los avances tecnológicos
alemanes, entre los que se incluían los proyectos A4 y A9/10 fueron expropiados por los
Estados Unidos, siendo este último proyecto el contenedor de los planos de un cohete de dos
fases, a partir del cual se desarrollarían los cohetes espaciales y la ciencia Aeroespacial.
infrarrojo, que identifica las emisiones de los motores de los aviones, lo cual permite al misil
maniobrar para no perder al blanco, aunque el enemigo quisiera esquivarlo.
El radar es otro aparato que utiliza el análisis numérico para su funcionamiento, ya que emite
ondas electromagnéticas y recibe las que son
reflejadas por algún objeto situado dentro de su
trayectoria. El análisis de estas ondas permite
calcular la distancia, velocidad, dirección, forma y
tamaño del objeto.
Surge la radiogoniometría, que permite localizar el punto de emisión de las señales de radio
mediante radares de localización aérea o terrestre, para localizar los puestos de mando,
agentes espías infiltrados, impedir el enlace entre unidades enemigas y anular sus radares.
Estos son algunos ejemplos de los avances de la milicia, que requieren del análisis numérico
para desempeñar su función y que requieren constantemente de nuevos métodos que
permitan reducir los cálculos para realizar un mejor desempeño. Para ello se utilizan las
computadoras, es por ello que cuando surgieron las primeras surgió también la necesidad de
reducir los tiempos operacionales de los programas y el análisis de los errores para tratar de
reducirlos al máximo, ya que para ciertas clases de cálculo, la acumulación de errores podría
reducir la exactitud de una aproximación hasta el punto de hacerla inútil.
El análisis numérico moderno, se inició en 1947 con John von Neumann y Herman Goldstine,
con su publicación “Numerical Inverting of Matrices of High Order" (Bulletin of the AMS, Nov.
1947). En este artículo, realizan el estudio de las fuentes de error derivados de los modelos
matemáticos utilizados para aproximar un problema, los errores en los datos de observación,
aproximaciones finitas a formulaciones matemáticas y los errores generados por las
operaciones computacionales, para realizar un análisis de estabilidad utilizando los métodos de
Corant, Friedrich y Lewy.
Ellos proponen una variante del método de eliminación de Gauss, para encontrar la inversa de
una matriz simétrica definida de orden 𝑛 ≥ 10. Para ello proponen un algoritmo y estudian
cómo los errores mencionados anteriormente infieren para encontrar una solución única.
1.1.2. Importancia
Hasta ahora hemos bosquejado la necesidad de encontrar algún método que nos determine un
valor real o complejo específico que responda a algún modelo matemático. Es fácil ver que
todas las ramas de la ingeniería hacen un uso particularmente extensivo de estos métodos,
pero no son las únicas. Las disciplinas que hacen un uso cada vez mayor de estos métodos son:
- Ingeniería
- Física
- Economía
- Biología
Todas ellas con una gran gama de subdisciplinas, sin mencionar siquiera a las interacciones que
pueden surgir entre ellas. Y es que todas ellas realizan de una forma u otra la modelación de
algún fenómeno que usualmente se traduce en un conjunto de ecuaciones, ya sean lineales o
no lineales, diferenciales parciales u ordinarias.
¿En qué otras disciplinas consideras que obtener una respuesta aproximada es más común que
obtener la respuesta exacta al mismo problema planteado?
De forma más general podemos decir que la importancia de los métodos vistos en Análisis
Numérico radica en encontrar una solución concreta de algún modelo matemático, es decir,
encontrar el número complejo o real para el cual algún fenómeno es descrito por algún modelo
matemático bajo algunas condición inicial.
Una vez establecida una relación entre el uso de las computadoras y el Análisis Numérico el
argumenta la importancia de una disciplina como la de esta asignatura parece más fácil pero
antes de profundizar en las técnicas que veremos a lo largo de esta asignatura y debido a que
hemos hecho mención de los modelos matemáticos sin definirlos es importante abordar una
discusión al respecto.
Hasta este momento hemos hablado de computar un número específico que responda a algún
problema matemático, de hecho, específicamente hemos hablado de computar el resultado de
algún modelo matemático, es por esto que es importante hablar un poco de este aspecto de las
matemáticas, el de la modelación matemática.
Entonces es inevitable plantearse esta pregunta ¿qué es un modelo matemático? (El lector
incluso podría hacerse una pregunta más general y preguntarse qué es un modelo). Supón que
observas un fenómeno y quieres describirlo, digamos el vaivén de un resorte. Para simplificar la
tarea de descripción vas a probar distintos resortes con varias masas al final.
Lo primero que puedes distinguir es que todos los resortes funcionan más o menos igual pero
que algunos se detienen más rápido que otros, entonces te fijas únicamente en aquellos cuya
masa al final del resorte son iguales y pequeñas (digamos 5 gr) y observas un comportamiento
casi idéntico entre todos los resortes observados. Hasta este punto podemos decir sin temor a
equivocarnos que el color de la masa, el estado del clima, la hora del día, tu estado de ánimo o
color de ropa no interfieren en el funcionamiento normal del resorte, es decir, todas estas
características las podemos despreciar. Después podrías observar que hay algunos resortes que
tardan más en detenerse que otros, aunque todos acotados dentro de algún rango de valores.
Con los resortes y masas observas una relación innegable entre la posición de la masa y la
fuerza aplicada a la misma en cada punto, esto es, mientras más lejos del punto medio la masa
parece ir, en cada punto, más rápido que en la posición anterior y siempre hacia el punto
medio, en otras palabras, pareciera que la masa es atraída hacia el centro del resorte, pero no
se puede detener aun cuando en cada momento pasa por ahí debido a la fuerza que sobre el
𝐹 = −𝑘𝑥 (1)
Esta expresión se conoce el oscilador armónico sin fricción y es la descripción más sencilla del
resorte. Algunas sofisticaciones podrían ser considerar que la masa tiene algún grado de
fricción con el piso o que está acoplado con otro resorte. Pero lo importante aquí son dos
aspectos muy importantes para llegar a esta expresión
Particularmente, la expresión (1) es una ecuación diferencial ordinaria de primer orden que
puede ser reexpresada como:
𝑚ẍ + 𝑘𝑥 = 0 (2)
No es importante preocuparse por los detalles de esto, sino por los aspectos generales y el
hecho de que un modelo matemático es la abstracción simbólica del funcionamiento de algún
fenómeno observado en el lenguaje de las matemáticas.
Entonces ¿por qué modelar? ¿Cuál dirías tú qué es la necesidad de hacerlo? Una respuesta
puede vislumbrarse a partir de la respuesta a la pregunta con la que comenzamos, es decir, cual
es el número que resulta de dividir 1/3. Simplificar los fenómenos observados en la Naturaleza
usualmente surge de dar solución a problemas prácticos como la construcción de estructuras
físicas, la organización de grupos sociales, y un largo etcétera. La tarea de modelación es una
tarea cotidiana dentro de la vida del Matemático y de los científicos en general. De aquí en
adelante ocuparemos indistintamente el hecho de proveer una solución aproximada como una
solución computacional.
2. En vez de tratar con procesos infinitos los remplazaremos por alguno cuyo proceso sea
finito.
5. Las ecuaciones diferenciales (aunque no serán cubiertas en este curso) son expresadas
por ecuaciones algebraicas
• MATLAB
• Scilab
• Numpy como parte de Python
• Fortran
• Octave
Nosotros haremos uso de Octave, que es una herramienta de software libre que existe tanto
como para Linux o Windows, también cuenta, aparte de una interfaz por la línea de comandos,
con una interfaz gráfica que hace su uso más sencillo.
1.3.1 Octave
http://octave.sourceforge.net/
de donde puede seguir la liga que aparece junto al logo de Windows y que en inglés dice
"Installers"
http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/
En este momento asegúrate de hacer clic en la última versión (hasta este momento es la
versión 3.6.2) y la liga es la que corresponde a Octave 3.6.2 for Windows MinGW installer, la
liga es:
http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.2
%20for%20Windows%20MinGW%20installer/
Una vez instalado 7zip lo que tienes que hacer es descomprimir el archivo, antes de
desempacar el programa deberás crear la carpeta “Octave “ y que este alojada en directorio
raíz de “C:\Octave:” Después descomprime el archivo que descargaste e instálalo en tu disco
duro copiándolo a una carpeta que acabas de crear.
NOTA: Octave está originalmente creado para el sistema operativo Linux así que el manejo
de espacios en los nombres de archivo no está perfectamente implementado y por lo
general es recomendación no hacer uso de espacios en los nombres de archivo ni
directorios (carpetas), así que de aquí en adelante usaremos la convención de poner
nombres en nuestros archivos y carpetas de forma continua, es decir, sin espacios.
Al descomprimir todos tus archivos en esta carpeta podrás ver un acceso directo a la aplicación
(octave3.6.2_gcc4.6.2.lnk) el cual puedes ejecutar con un doble-clic o incluso copiarlo a un
menú o cualquier ubicación en tu disco duro para tener un acceso más rápido y fácil a Octave.
También es necesario que bajes QtOctave para poder hacer uso de la interfaz gráfica. Este lo
puedes descargar de la siguiente liga:
https://sourceforge.net/directory/science-engineering/mathematics/os:windows/
Su instalación es mucho más sencilla, sólo tienes que descomprimirlo en una carpeta llamada
qtoctave en el C:
C:\qtoctave
Dentro de este directorio encontraras dos subdirectorios llamados bin y share, el programa
ejecutable se encuentra en bin. Copia un acceso directo al escritorio para que puedas acceder a
él fácilmente. Al ejecutar QtOctave verás la siguiente pantalla:
Figura 5. Pantalla principal de Octave. Los números identifican las diferentes partes del programa. 1: Zona ejecución, 2: Lista
de variables usadas, 3: Lista de comandos, 4: Navegador de archivos, 5: Menús
Figura 6: Opciones de Config->General Configuration->Octave. Es donde debemos especificiar la ubicación del programa
octave.exe
C:\Octave\Octave3.6.2_gcc4.6.2\bin\octave.exe
que es el programa principal de Octave, o bien puedes seleccionarlo con el botón que se
encuentra a la derecha. Sala y reinicia QtOctave. De aquí en adelante nos referiremos a
QtOctave como Octave simplemente. En este programa comprobaremos los resultados y
funcionamiento de los métodos que veamos a lo largo de la asignatura, así que es importante
que te sientas cómodo usándolo.
Octave es un lenguaje de alto nivel cuya implementación y uso están orientados principalmente
al cálculo numérico a través del uso de matrices, a continuación, veremos algunos primeros
ejemplos de cómo se usa.
Todo se teclea en la zona marcada como “command line” y su salida se observa en la pantalla
blanca central con el título “Octave Terminal”. Con el fin de hacer un uso más claro de las
figuras sólo pondremos por el momento el contenido de “Octave Terminal”, eventualmente,
una vez que estés familiarizado, únicamente la entrada y salida del proceso.
Figura 7. Entrada y salida de datos en Octave. Primero se teclea en 1 para que después del enter aparezca la salida en 2.
1.3.2 Uso
Un dato que te facilitará la vida en el uso de Octave es el hecho de que posee un historial de los
comandos tecleados a los que puedes acceder con la flecha hacia arriba. Una vez que teclees
algunos comandos sería bueno que lo intentes y te acostumbres.
Símbolo Operación
+ Suma
- Resta
* Multiplicación
/ División
^ Exponenciación
pi, e, i Constantes
Tabla 1. Operadores aritméticos
>>> (2 + 8*14*pi) / e
ans = 130.18
Símbolo Operación
>, >= Mayor, Mayor que
<, <= Menor, Menor que
& Y lógico
| O lógico
~= Negación
Tabla 2. Operadores lógicos
Ejemplo:
>>> 1 > 0
ans = 1
>>> 5 <=5
ans = 1
>>> 3 >= 4
ans = 0
>>> 1 ~= 0
ans = 1
Ejemplo:
>>> A = 3
A=3
Precisamente como Octave es un lenguaje de uso general y alto nivel ya incorpora una gran
variedad de funciones desde la línea de comandos.
function y=mifuncion(x)
y=5*x^2 + 3*x +4
endfunction
Para después salvarlo con el nombre mifuncion.m (como ya habíamos mencionado antes) en
alguna carpeta que no contenga espacios en su nombre. Observa que el nombre del archivo es
el mismo que el nombre de la función, también que a diferencia de otros lenguajes no hay una
palabra que se llame return, en cambio la variable a la izquierda del símbolo = en la declaración
de la función, en este caso y, servirá para tal efecto, es decir, una vez efectuados los cálculos le
asignamos a esta variable el resultado del cómputo.
>>> z=mifuncion(3)
y = 58
z = 58
>>>
y = 58
Que es parte de la ejecución del script que acabas de teclear, para evitar esto puedes usar el ;
(punto y coma) al final de la segunda línea de tu script, quedando de la siguiente manera:
function y=mifuncion(x)
y=5*x^2 + 3*x +4;
endfunction
>>> z=mifuncion(3)
z = 58
>>>
Es decir, en Octave todas las ejecuciones se imprimen en pantalla a menos de que se le indique
lo contrario a la línea en cuestión con el uso del punto y coma (;).
Para documentar tus programas en Octave tienes que usar el símbolo de porcentaje (%) al
inicio de la línea. Es muy importante que documentes lo que hace cada función al inicio de esta,
o cualquier línea que tu consideres, para que sepas aún después de que pasen varios días la
intención de lo que tu función computa. Ejemplo
% Funcion mifuncion
% recibe: un parámetro
% entrega: el cuadrado del parámetro obtenido
function y = function(x)
y = x^2
endfunction
Cierre de la unidad
En esta unidad has aprendido a modelar diferentes problemas de la vida cotidiana a través de la
interpretación de leyes o propiedades físicas o químicas al lenguaje matemático. Has
establecido los pasos para solucionarlo y has elegido el método que más te conviene para
lograrlo.
Revisa los siguientes link, los cuales te proporcionaran información valiosa, que te darán un
panorama más amplio sobre los diferentes modelos presentados en análisis numéricos.
http://www.astromia.com/biografias/vonneumann.htm
http://www.ralentz.com/old/space/feynman-report.html
Referencias Bibliográficas