Está en la página 1de 33

Matemáticas

Análisis Numérico I

4° Semestre

Unidad 1. Fundamentos

Clave
05142424/06142424

Universidad Abierta y a Distancia de México


Unidad 1. Fundamentos.

Índice

Unidad 1. Fundamentos 4

Presentación de la unidad 4

Competencia específica 5

Logros de la unidad 5

1.1. Fundamentos del análisis numérico 6

1.1.1. Historia 10

1.1.2. Importancia 14

1.2. Soluciones numéricas 15

1.2.1 Problemas y modelos 15

1.2.2 Métodos numéricos 17

1.3 Herramientas computacionales 18

1.3.1 Octave 19

1.3.2 Uso 26
Actividad 2. Modelación matemática 32

Cierre de la unidad 32

Para saber más: 32

Referencias Bibliográficas 33

UnADM | DCEIT | MT | MANU1 2


Unidad 1. Fundamentos.

Figura 1. John von Neumann y Herman Goldstine ..................................................................................... 12


Figura 2. Alan Turing ................................................................................................................................... 13
Figura 3. Interfaz de descarga Octave......................................................................................................... 20
Figura 4. Instalador Octave ......................................................................................................................... 21
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
.................................................................................................................................................................... 23
Figura 6: Opciones de Config->General Configuration->Octave. Es donde debemos especificiar la
ubicación del programa octave.exe ............................................................................................................ 24
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. ............................................................................................................................... 26
Figura 8. Botón para activar el editor ......................................................................................................... 29
Figura 9. Pantalla del editor de Octave ....................................................................................................... 29
Figura 10. Edicion de una función en Octave.............................................................................................. 30

Tabla 1. Operadores aritméticos ................................................................................................................ 27


Tabla 3. Operadores lógicos ........................................................................................................................ 27

UnADM | DCEIT | MT | MANU1 3


Unidad 1. Fundamentos.

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.

Generalmente, se utilizan programas computacionales para desarrollar las operaciones


necesarias para resolver problemas de análisis numérico, pero el objetivo de este curso es que
conozcas los procesos que realiza la computadora, por lo que no se desarrollarán aquí dichos
programas, sin embargo, si posees la habilidad y los recursos necesarios, será una herramienta
muy útil que puedes utilizar para comprobar tus resultados.

UnADM | DCEIT | MT | MANU1 4


Unidad 1. Fundamentos.

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

• Modelar problemas matemáticos.


• Aplicar el método de Euler, el método de
Euler mejorado y el polinomio de Taylor
para realizar aproximaciones de soluciones
a un problema dado.

UnADM | DCEIT | MT | MANU1 5


Unidad 1. Fundamentos.

1.1. Fundamentos del análisis numérico

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

UnADM | DCEIT | MT | MANU1 6


Unidad 1. Fundamentos.

¿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.

Hasta este punto he evitado incurrir en el uso de la palabra computar, computadora o


computación o cualquier aspecto derivado de las Ciencias Computacionales, pero es fácil
advertir o inferir una estrecha relación con esta disciplina pero no está demás hacerla explícita.
Y es que si bien el computar las distintas cifras de pi, el Número de Euler, tablas de logaritmo o

UnADM | DCEIT | MT | MANU1 7


Unidad 1. Fundamentos.

incluso de trayectorias balísticas preceden por mucho a la aparición de las computadoras


digitales, hoy en día estas son ubicuas en nuestra vida diaria y su uso extremadamente común,
y son estas computadoras las que hacen un uso extensivo de todas estas técnicas (o algoritmos)
para responder a una amplia gama de preguntas (Para determinar alguna recomendación
algunos sistemas de recomendaciones hacen uso de la matriz de valores singulares y el
cómputo de eigenvalores ). Es por esta razón que hoy en día usualmente el Análisis Numérico
es equivalente al Cómputo Científico

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

Tiene exactamente 𝑛 soluciones complejas.

Teorema del Valor Medio: Supongamos que 𝑓 ∈ 𝐶[𝑎, 𝑏] y 𝑀 es cualquier número entre 𝑓(𝑎) y
𝑓(𝑏). Entonces existe un número 𝑎 < 𝑐 < 𝑏 de tal forma que 𝑓(𝑐) = 𝑀.

UnADM | DCEIT | MT | MANU1 8


Unidad 1. Fundamentos.

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 del Valor Medio Ponderado para integrales. Supongamos 𝑓, 𝑔 continuas y


diferenciables en [𝑎, 𝑏] y 𝑔(𝑥) es integrable y no cambia de signo para todo 𝑥 en [𝑎, 𝑏].
Entonces existe 𝑎 < 𝑐 < 𝑏 tal que

𝑏 𝑏
∫ 𝑓(𝑥)𝑔(𝑥) = 𝑓(𝑐) ∫ 𝑔(𝑥)
𝑎 𝑎

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:

UnADM | DCEIT | MT | MANU1 9


Unidad 1. Fundamentos.

𝑓 ′′ (𝑥) 𝑓 𝑛 (𝑥0 )
𝑃𝑛 (𝑥) = 𝑓(𝑥0 ) + 𝑓 ′ (𝑥0 )(𝑥 − 𝑥0 ) + (𝑥 − 𝑥0 ) + ⋯ + (𝑥 − 𝑥0 )𝑛
2! 𝑛!
𝑛
𝑓 𝑘 (𝑥0 )
= ∑ (𝑥 − 𝑥0 )𝑘 .
𝑘!
𝑘=0

Y 𝑅𝑛 (𝑥) es el residuo o error de truncamiento de 𝑃𝑛 (𝑥) y se define como:

𝑓 𝑛+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

UnADM | DCEIT | MT | MANU1 10


Unidad 1. Fundamentos.

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.

El fracaso de estos cohetes se debe a la dificultad de conseguir estabilidad en el aire y mantener


una trayectoria balística. Esto se logró mediante un sistema de giroscopios que permitían
orientar las tuberías principales. También se diseñaron aviones de reacción sin piloto (V1), que
poseían un motor cohete impulsor, los cuales poseían un sistema de guía establecido
previamente y que no permitía modificaciones durante el vuelo, tenía menor precisión que las
bombas V2 ya que se podían destruir o desviar fácilmente debido a la constancia de su
velocidad, su dirección y su altitud.

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.

Debido a la necesidad de destruir blancos móviles y de corregir las coordenadas de un proyectil


expulsado, surgen los misiles, los cuales pueden modificar su trayectoria durante el vuelo.
Algunos localizan y siguen a su blanco a través de un radar autónomo o mediante un sistema

UnADM | DCEIT | MT | MANU1 11


Unidad 1. Fundamentos.

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.

El componente infrarrojo, hará su irrupción en el área de la milicia para funciones de mando,


control, inteligencia, armamento y funciones básicas para el soldado, como posicionamiento y
combate.

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

UnADM | DCEIT | MT | MANU1 12

Figura 1. John von Neumann y Herman Goldstine


Unidad 1. Fundamentos.

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.

Posteriormente, en 1948, Alan Turing publica “Rounding-off errors in


Matrix processes”, donde arroja un resultado similar para encontrar la
inversa de una matriz (no singular) de orden superior, utilizando el
menor principal de la matriz, involucrando la normalización para

obtener mejores resultados. Figura 2. Alan Turing

Él es considerado uno de los padres de la ciencia de la computación y formalizó el concepto de


algoritmo. Creó una especie de calculadora que operaba basándose en una serie de
instrucciones lógicas, llamada en su honor máquina de Turing. Courant, Friederichs y Lewy
publican “On the partial difference equations of mathematical
Physics” donde establecen condiciones de existencia y unicidad para resolver problemas de
ecuaciones diferenciales, que serán tomados como base más adelante para generar soluciones
a dichos sistemas.

Posteriormente, se estableció el Instituto para el Análisis Numérico en la UCLA donde


trabajaron donde se continuó trabajando para seguir impulsando esta rama de las
matemáticas.

UnADM | DCEIT | MT | MANU1 13


Unidad 1. Fundamentos.

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.

UnADM | DCEIT | MT | MANU1 14


Unidad 1. Fundamentos.

1.2. Soluciones numéricas

1.2.1 Problemas y modelos

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

UnADM | DCEIT | MT | MANU1 15


Unidad 1. Fundamentos.

aplica la acción del resorte. Esto lo podemos expresar matemáticamente de la siguiente


manera:

𝐹 = −𝑘𝑥 (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

1) El descartar una serie de aspectos que no influyen (o no parecen influir) en el


comportamiento general del fenómeno

2) La expresión (1) captura el comportamiento general del fenómeno observado.

Esto es básicamente la tarea de la modelación matemática, la necesidad de capturar de forma


precisa algún fenómeno simplificándolo lo suficiente pero no más de lo necesario para poder
expresar lo observado con un lenguaje preciso, a saber, las matemáticas.

Particularmente, la expresión (1) es una ecuación diferencial ordinaria de primer orden que
puede ser reexpresada como:

𝑚ẍ + 𝑘𝑥 = 0 (2)

cuya solución es 𝑥(𝑡) tal que:

𝑥(𝑡) = 𝐴𝑒 −𝛾𝑡 𝑠𝑒𝑛𝑜(𝜛𝑡 + 𝛼0 )

UnADM | DCEIT | MT | MANU1 16


Unidad 1. Fundamentos.

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.

1.2.2 Métodos numéricos


Lo que usualmente hacemos para obtener la solución computacional de un problema
matemático es la de remplazar el problema original por un problema más sencillo, por ejemplo:

1. Usualmente preferiremos usar polinomios o re expresar funciones por su desarrollo de


Taylor equivalente

2. En vez de tratar con procesos infinitos los remplazaremos por alguno cuyo proceso sea
finito.

3. Obtener matrices equivalente más sencillas de manejar que las originalmente


planteadas.

4. Expresar un problema no lineal en uno lineal equivalente

UnADM | DCEIT | MT | MANU1 17


Unidad 1. Fundamentos.

5. Las ecuaciones diferenciales (aunque no serán cubiertas en este curso) son expresadas
por ecuaciones algebraicas

6. Usas sistemas de un orden bajo

Un aspecto importante cuando estés transformando un problema matemático es tomar en


cuenta las condiciones en la frontera, aunque este aspecto es extremadamente técnico es un
buen momento para hacerlo patente porque pueden aparecer comportamientos
completamente distintos dependiendo de cómo se haga esta consideración. Las condiciones en
la frontera corresponden al comportamiento que tenga el fenómeno observado en los límites
de observación o bien en las fronteras conceptuales del modelo. Un ejemplo de esto puede ser
la propagación del calor en algún sólido homogéneo cilíndrico.

1.3 Herramientas computacionales


Las herramientas computacionales que existen para observar y implementar todas estas
técnicas son muchas y debido la naturaleza algorítmica de todos estos métodos el uso de algún
lenguaje para entenderlas mejor es casi forzoso. Dentro de las herramientas existentes
actualmente están

• 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.

UnADM | DCEIT | MT | MANU1 18


Unidad 1. Fundamentos.

1.3.1 Octave

Es un lenguaje interpretado de alto nivel para uso de cómputo numérico principalmente. Su


licencia de uso es GNU (http://www.gnu.org/software/octave/) lo que quiere decir que
puedes bajarlo e instalarlo y redistribuirlo libremente. Una de las principales razones y ventajas
que tiene Octave es precisamente su licencia de uso, pero también es el hecho de que Octave
ocupa la misma sintaxis para escribir sus comandos que MATLAB entonces cualquier script que
esté escrito en MATLAB puede ser transcribido a Octave sin ningún problema. Aquí vamos a
aprender como bajarlo e instalarlo.

Si tu usas Linux (http://www.linux.org/) , particularmente la distribución Ubuntu


(http://www.gnu.org/software/octave/), entonces puedes bajarlo directamente del centro de
software que Ubuntu tiene junto con el paquete QtOctave. Por lo pronto nos concentraremos
en el proceso de instalación bajo Windows.

Primero tienes que acceder con tu navegador a:

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/

UnADM | DCEIT | MT | MANU1 19


Unidad 1. Fundamentos.

Figura 3. Interfaz de descarga Octave

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/

UnADM | DCEIT | MT | MANU1 20


Unidad 1. Fundamentos.

Figura 4. Instalador Octave

Esta es la página donde se encuentra el Octave a instalar, el link es el que corresponde a


Octave3.6.2_gcc4.6.2_fecha.7z. Es un paquete muy grande (170mb) así que ten paciencia y
cuida que tu máquina no es desconecte. El formato en el que está empacado es de 7zip
(http://www.7-zip.org/) el cual también está bajo la licencia GNU y se instala como cualquier
programa de Windows.

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.

UnADM | DCEIT | MT | MANU1 21


Unidad 1. Fundamentos.

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:

UnADM | DCEIT | MT | MANU1 22


Unidad 1. Fundamentos.

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

tienes que especificarle la ruta donde se encuentra Octave. Entra al menú

Config->General Configuration y aparecerá el siguiente cuadro de dialogo.

UnADM | DCEIT | MT | MANU1 23


Unidad 1. Fundamentos.

Figura 6: Opciones de Config->General Configuration->Octave. Es donde debemos especificiar la ubicación del programa
octave.exe

y en la sección que dice Octave copia en la ruta el siguiente texto

C:\Octave\Octave3.6.2_gcc4.6.2\bin\octave.exe

UnADM | DCEIT | MT | MANU1 24


Unidad 1. Fundamentos.

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.

UnADM | DCEIT | MT | MANU1 25


Unidad 1. Fundamentos.

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.

Lo primero que debemos conocer en Octave es el uso de operaciones aritméticas y el uso de


constantes, estas son:

Símbolo Operación

UnADM | DCEIT | MT | MANU1 26


Unidad 1. Fundamentos.

+ Suma
- Resta
* Multiplicación
/ División
^ Exponenciación
pi, e, i Constantes
Tabla 1. Operadores aritméticos

Como seguramente ya sabes los símbolos de operaciones aritméticas guardan un orden de


precedencia que indica quien se ejecuta primero y en caso de no ser distinguible se usan los
paréntesis. Por ejemplo:

>>> (2 + 8*14*pi) / e
ans = 130.18

Octave también implementa el uso de operadores booleanos (V ó F) cuya respuesta es un valor


booleano, estos son:

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

UnADM | DCEIT | MT | MANU1 27


Unidad 1. Fundamentos.

ans = 1
>>> 3 >= 4
ans = 0
>>> 1 ~= 0
ans = 1

La asignación y definición de variables en Octave se hace a través del operador = y el nombre de


las variables debe empezar con alguna letra en A,...,Z,a,…,z. Las variables que no empiecen con
estos caracteres lanzarán un error de parseo.

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.

Tarea: Investiga que funciones ya implementa Octave de forma nativa.

La definición de nuevas funciones es una característica fundamental en el uso de cualquier


lenguaje, en Octave se hace de la siguiente manera:

Si quisiéramos definir la función 𝑓(𝑥) = 5𝑥 2 + 3𝑥 + 4 tenemos que usar la palabra reservada


function de la siguiente forma. En un archivo llamado mifuncion.m que puedes editar con el
programa Notepad o con el editor de Octave haciendo clic en el botón marcado con el círculo
rojo en la siguiente figura

UnADM | DCEIT | MT | MANU1 28


Unidad 1. Fundamentos.

Figura 8. Botón para activar el editor

Con lo que aparece la siguiente ventana:

Figura 9. Pantalla del editor de Octave

En esta ventana vamos a teclear el siguiente código

function y=mifuncion(x)
y=5*x^2 + 3*x +4
endfunction

UnADM | DCEIT | MT | MANU1 29


Unidad 1. Fundamentos.

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.

Figura 10. Edicion de una función en Octave.

Ahora puedes regresar a la terminal de Octave y ejecutarla

>>> z=mifuncion(3)
y = 58

UnADM | DCEIT | MT | MANU1 30


Unidad 1. Fundamentos.

z = 58
>>>

Puedes observar que el resultado lo estamos almacenando en z, que es el resultado de


De
5 ∗ (3)2 + 3 ∗ (3) + 4
Pero también puedes advertir que se imprimió en pantalla

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

Y su ejecución ahora es:

>>> 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,

UnADM | DCEIT | MT | MANU1 31


Unidad 1. Fundamentos.

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

Actividad 2. Modelación matemática


A través de esta actividad podrás modelar un fenómeno físico en el programa Octave.

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.

Para saber más:

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.

Von Neumann, Goldstine: Numerical inverting of matrices of high order


Turing's Paper on Rounding-Off Errors in Matrix Processes

http://www.astromia.com/biografias/vonneumann.htm

UnADM | DCEIT | MT | MANU1 32


Unidad 1. Fundamentos.

http://www.ralentz.com/old/space/feynman-report.html

Referencias Bibliográficas

Burden, R. (2011) Análisis numérico (7ª edición) México: Cengage Learning.


Spiegel, M. (1983) Ecuaciones Diferenciales aplicadas México: Prentice-Hall Internacional
Martínez, A. (2001) Enciclopedia del arte de la guerra. Barcelona: Editorial Planeta.
Introducción a Octave. (2014) [en línea]. Disponible en :
https://www.youtube.com/watch?v=5okYNvYeuoA
Hernández Aponte, D. (2007). Introducción a GNU Octave. Recuperado de:
http://softlibre.unizar.es/manuales/aplicaciones/octave/octave.pdf
Hamilton, R. (2013). Octave, Operandos y Funciones, Representacion Polinomios [en líneal].
Disponible en:
https://www.youtube.com/watch?v=KzGALNUm7ls
Valliente Cifuentes (2006). Manual de iniciación a GNU Octave. Recuperado de:
http://softlibre.unizar.es/manuales/aplicaciones/octave/manual_octave.pdf

UnADM | DCEIT | MT | MANU1 33

También podría gustarte