Métodos Numéricos Temas 1 y 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

1 Introducción
1.1 Ejemplo de motivación
Los métodos numéricos engloban múltiples aplicaciones en ciencia e
ingeniería. En este curso revisaremos el cálculo de errores que sentará una
base para los cálculos siguientes. Estudiaremos los métodos para encontrar
raíces de ecuaciones no lineales que son muy útiles en varios problemas
prácticos. Y nos concentraremos luego en una parte muy importante de los
métodos numéricos que es el álgebra matricial y la resolución de sistemas
lineales de ecuaciones. Los sistemas lineales de ecuaciones se aplican
actualmente en la ciencia y la industria de manera habitual.

Dentro de los modelos matemáticos la optimización juega un papel muy


importante en múltiples aplicaciones en ciencia y en la industria. Es por esto
que se estudiará la programación u optimización lineal, que aunque parezca
muy limitada al tratar únicamente con funciones y restricciones lineales se
observará que su rango de aplicación es muy amplio y es actualmente muy
utilizado en varios ambientes empresariales debido a su demostrada
capacidad de mejorar procesos y abaratar costos.

1.2 Sobre los contenidos de la asignatura


Al iniciar cada capítulo hay una pequeña introducción con un caso real
sobre la importancia de los temas a estudiarse. Siempre se incluyen enlaces
extra a páginas en las que puede encontrar más información. El texto tiene
colores de fondo que se describen a continuación.

Los cuadros en color rojo claro, contienen ejercicios resueltos. En general


estos ejercicios tienen que ver más con la parte matemática de la asignatura.
Estudie la resolución de cada ejercicio pues le dará pautas sobre el
comportamiento de los algoritmos.

Ejercicio: Esta es la plantilla de ejercicios. Revise con detenimiento el


desarrollo de los mismos.

Los cuadros con título azul, contienen teoremas que son muy importantes
para sentar las bases teóricas de los contenidos.
Teorema #: Teorema de ejemplo

Recuerde que los teoremas son muy importantes porque son el


fundamento para el desarrollo de los temas de la asignatura.

Los cuadros con título rojo como el que se presenta a continuación


contienen defini ciones de conceptos matemáticos.

Introducción 1
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE

Definición #: Definición de ejemplo

Las definiciones nos ayudan a tener conceptos matemáticos claros y a


manejar el mismo lenguaje dentro del estudio de los temas.

Los cuadros amarillos, contienen preguntas para el lector. Estas preguntas


son im portantes ya que le permiten adentrarse más en el tema y probar
también el grado de comprensión que ha adquirido del texto. Algunas son
preguntas que pretenden que el lector investigue más sobre los contenidos y
profundice el aprendizaje. Otras preguntas contienen ejercicios de
programación que serán discutidos en las sesiones virtuales.

Este es un cuadro de ejemplo que contiene preguntas y temas extras que


pueden ser investigados por el lector.

En cuadros grises podrá encontrar seudocódigos de los principales


algoritmos que se estudiará en este curso. Estos seudocódigos le serán muy
útiles al momento de programar en el lenguaje de su preferencia.

1.3 Introducción a un lenguaje de programación de


cálculo científico
Existen múltiples programas y lenguajes tanto libres como propietarios
dedicados específicamente a la modelación matemática, entre los cuales
citaremos Octave, Matlab, Scilab, Mathematica, R y Julia. En este curso se
priorizará el uso de software libre, es por eso que se utilizará preferentemente
Octave, Scilab, Julia, R o Python que aunque es un lenguaje de programación
con un enfoque más amplio, es muy utilizado en modelación matemática y en
análisis de datos. Se puede utilizar también lenguajes como C y Fortran para
trabajar en los códigos, aunque resulta más complicado y largo programar en
estos lenguajes.

Lea sobre el software de simulación matemática descrito en el párrafo anterior.


Elija de entre las opciones libres la que sea de su preferencia, recuerde que
no hay problema en que use varios lenguajes en el curso, pero esto
dificultará mucho el avance. Se recomienda al lector utilizar Julia, Python u
Octave.

1.3.1 Entorno de trabajo en el lenguaje de programación


Revisaremos de forma general los principales aspectos que conciernen al
entorno de trabajo o IDE. Un IDE es uno o varios programas que soportan
varias tareas relativas al lenguaje de programación, entre las cuales podemos
nombrar la edición de programas las cuales usualmente proveen un entorno con
autocompletado y sugerencias de comandos. Un IDE incluye también la
compilación, ejecución y depuración de programas. Cada entorno de trabajo
tendrá sus particularidades según el lenguaje que se elija para el curso. Como
un IDE que facilita el trabajo en múltiples lenguajes se recomienda al lector que
pruebe los notebooks con Jupyter.

2 Introducción
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

1.3.2 Tipos de datos


Los tipos de datos son los atributos para la información que maneja nuestro
compilador o intérprete. Estos atributos nos ayudan a manejar cada tipo de dato
de forma adecuada. En este curso manejaremos datos numéricos, es por esto
que los tipos más importantes serán int (número entero, del inglés integer), float
(número de punto flotante, del inglés floating point) y logical o boolean (dato
lógico o booleano, nombrado en honor a Charles Boole). En general no se
manejarán otros tipos de datos en este curso.

1.3.3 Operadores aritméticos y lógicos


En las siguientes secciones revisaremos brevemente la forma de trabajar
con las estructuras matemáticas en cualquier software. Hay que tomar en
cuenta que ciertos lenguajes están más orientados a una programación
matemática que otros en los que se puede realizar programas más generales.
Se recomienda leer la documentación oficial del lenguaje de su preferencia y
buscar las principales fuentes de ayuda disponibles en la red.

1.4 Definición de vectores y matrices


Entre los múltiples elementos que manejaremos dentro del curso los
vectores, y en forma más general las matrices, juegan un papel muy importante
en la creación de rutinas de cálculo científico. Cada lenguaje de programación
posee sus particularidades en la forma de manejar estos elementos y en las
diferentes funciones que actúan sobre los mismos.

Un lenguaje de programación de cálculo científico posee librerías de alto


nivel que contienen funciones especializadas que actúan sobre vectores o
matrices. Es aconsejable que el lector se familiarice con estas funciones ya que
siempre será mejor utilizarlas que crear una función propia. Estas funciones
están optimizadas y en varios casos paralelizadas.

1.4.1 Comandos y funciones que actúan sobre vectores


Cada lenguaje tiene sus funciones particulares, pero las principales nos
permiten manipular vectores de manera puntual o general. Por ejemplo,
podemos sustituir un elemento de un vector indicando únicamente su posición
o índice. Tenemos también funciones que iteran sobre los elementos de un
vector y que nos ayudan a calcular de forma directa, por ejemplo, el máximo,
mínimo o la media de los valores de un vector.
Un vector es un arreglo dinámico unidimensional, puede contener cualquier
tipo de dato. En este curso utilizaremos vectores numéricos. La indexación de
un vector depende del lenguaje de programación, puede iniciar en cero o en
uno. Los lenguajes que utilizaremos manejan las operaciones entre vectores y
las que actúan sobre ellos, por ejemplo, la suma, producto por un escalar,
producto punto, norma, entre otras.

Lea en la documentación del lenguaje de su elección sobre las distintas


operaciones soportadas que actúan sobre vectores. Revise si se debe
importar librerías extra para poder utilizar todas las operaciones.

Introducción 3
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE

1.4.2 Comandos y funciones que actúan sobre matrices


Para las matrices existen funciones que realizan múltiples cálculos, algunos
de los cuales estudiaremos en este curso. Uno puede encontrar librerías con
funciones que calculan los valores y vectores propios de una matriz, estos
algoritmos por lo general son bastante eficientes y nos proporcionan resultados
rápidos y fiables para matrices pequeñas. Si tenemos una matriz de varias
miles de entradas tendremos que buscar software especializado o programar
métodos adecuados.

Busque sobre las formas de crear matrices especiales en el software de su


elección. Generalmente se pueden crear matrices aleatorias, matrices
identidad de cualquier orden, entre otras. Busque también los principales
comandos que calculan por ejemplo, autovalores o el determinante de una
matriz dada.

1.5 Definición de estructuras y clases


1.5.1 Manipulación de archivos
La manipulación de archivos depende del lenguaje de programación y en
menor medida del IDE que se utilice. En este curso no manipularemos de forma
extensa archivos como entrada de información para los algoritmos y códigos que
desarrollaremos, pero es importante estar familiarizado con los procedimientos
propios del lenguaje que utilicemos.

1.5.2 Sentencias de control if, for, while


Entre las principales sentencias de control que nos ocupan en el curso
están las asignaciones con las que “ponemos” valores en una variable, las
llamadas a funciones, que pueden ser propias del lenguaje o creadas por el
usuario; estas son sentencias simples que se ejecutan de manera lineal en el
computador. Las sentencias más complejas que se ejecutan en ciclos o bucles
son las que revisaremos a continuación.
Los principales tipos de sentencias de control son los ciclos y los
condicionales. Los ciclos son sentencias que se ejecutan una cierta cantidad
de veces, la cantidad de ejecuciones se determina por una condición, el
principal ciclo es for. Los condicionales son sentencias que se ejecutan mientras
se cumpla una condición, como por ejemplo las sentencias if y while. Se las
engloba generalmente con llaves, indentándolas o con la notación particular de
cada lenguaje. Mire una explicación más detallada con ejemplos en
(Universidad Técnica Federico Santa María, 2019).

Revisemos la estructura de algunas sentencias de control,

1. Ciclo for

for (condición)
sentencias;
endfor

4 Introducción
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

2. Condicionales if, if else y while

if (condición)
sentencias;
endif
if (condición)
sentencias;
else
sentencias;
endif
while (condición)
sentencias;
endwhile

Otra sentencia de control bastante útil es break, la cual interrumpe de forma


anticipada un ciclo al cumplir cierta condición.

Lea la documentación del lenguaje de su preferencia, revise como se utilizan


las sentencias de control. Haga pruebas creando programas sencillos.

1.5.3 Creación de funciones propias de usuario


Las funciones propias de usuario son muy importantes para mantener un
código limpio y ordenado. El formato de su creación y la forma en la que son
llamadas depende del lenguaje en el que se está trabajando. Trataremos en
general de organizar nuestro código de forma que el código sea legible para
cualquier persona, promoviendo el uso de comentarios detallados en las
funciones creadas.

1.5.4 Lectura y escritura de variables


La asignación y el despliegue de variables depende del lenguaje y del IDE.
Tendremos en este curso mucho cuidado al desplegar números de forma
correcta, utilizando los decimales adecuados y la notación que corresponda.

Investigue las formas de graficar datos y funciones en el lenguaje de


programación de su elección. Pruebe con funciones sencillas, cambie colores,
tipos de línea y leyendas.

Recursos complementarios
Se cita en los recursos complementarios varios sitios web en los que se
puede encontrar herramientas que serán útiles a lo largo del curso.

Documentos LaTeX en línea en https://es.overleaf.com/learn

Página principal de GitHub https://github.com/

Introducción 5
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE

Notebooks en Colab https://colab.research.google.com/notebooks/intro


.ipynb

Notebooks en Binder https://mybinder.org/


6 Introducción
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

2 Análisis de errores
2.1 Ejemplo de motivación
Una mañana del 4 de junio de 1996 el nuevo cohete Ariane 5 estaba listo
para despegar en la Guyana Francesa. Su viaje inaugural duró muy poco, a los
30 segundos de vuelo tuvo que ser destruido porque perdió su trayectoria. En un
proyecto multimillonario manejado por múltiples países y agencias, ¿qué pudo
salir mal tan pronto? Al ser un sistema extremadamente complicado hay
muchas partes que pueden fallar, se puede sospechar de un fallo electrónico,
hidráulico o algún problema con la presión en el combustible.

Después de un análisis exhaustivo, la ESA (Agencia Espacial Europea),


determinó que el desastre fue producido por un error de software. Se utilizó el
mismo software de la versión anterior de este cohete, el Ariane 4. Los nuevos y
mejorados sensores enviaron información que el software anterior no pudo
manejar.El sistema de referencia interno del cohete envió la información en
números de punto flotante de 64 bits, que el software anterior no podía
manejar. Estos números se convirtieron a un entero de 16 bits, lo que provocó
que el cohete entienda mal la información y realice una corrección de trayectoria
errónea que llevó a su destrucción.

Figura 1: Ejemplo de errores.

Nota: Restos del vuelo 501 del cohete Ariane 5, cayendo después de su
autodestrucción el 4 de junio de 1996. © ESA.

Análisis de errores 7
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE
Estos errores en el software provocaron un desastre que costó varios
millones de euros y provocó retrasos en los programas de la ESA. Este es un
ejemplo de una de las múltiples razones por las cuales los errores numéricos
deben ser estudiados a profundidad.

Puede encontrar una explicación más extensa y detallada sobre este suceso
en el siguien te enlace:
https://medium.com/dataseries/crash-and-burn-a-short-story-of
-ariane-5-flight-501-3a3c50e0e284

2.2 Error absoluto y relativo


Al realizar cálculos, es muchas veces inevitable el tener que aproximar las
cantidades. La aproximación puede ser por dificultades en la medición o por
restricciones en la capacidad de cálculo. Definimos entonces el error de forma
intuitiva como la diferencia entre el valor exacto y su aproximación.

Existen dos tipos de errores que definimos a continuación.

Definición 1: Error absoluto


Si x˜ es un valor aproximado de x, entonces el error absoluto se

calcula como, eabs = |x − x˜|,

si reescribimos la fórmula anterior con palabras, tenemos

error absoluto = |valor exacto − valor aproximado|

Notemos que el error absoluto es siempre positivo.

Definición 2: Error relativo


Si x˜ es un valor aproximado de x, entonces el error relativo se calcula

como, erel =|x − x˜|

|x|,
si reescribimos la fórmula anterior con palabras, tenemos

error relativo =|valor exacto − valor aproximado|

|valor exacto|.
Si se multiplica el error relativo por 100 se tiene el error
porcentual. Para comparar ambos errores estudiaremos un

ejemplo.

8 Análisis de errores
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

Ejemplo: Supongamos que luego de construir una carretera se procede a


medir su longitud y ancho. La longitud exacta de la carretera es l = 54 325 m y
˜
el técnico reporta que la longitud medida es l = 54 326 m. El ancho nominal
de la carretera es a = 10 m y el técnico reporta que luego de hacer varias
mediciones obtuvo un ancho promedio de a˜ = 10.5 m.

Calculamos el error absoluto en cada medición reemplazando los valores en las


fórmulas.

eabs(largo) = |54 325 − 54 326| = 1


eabs(ancho) = |10 − 10.5| = 0.5

Observamos que en cada caso se ha cometido el mismo error absoluto de un


metro en la medición.

Para el error relativo tenemos que,

erel(largo) = |54 325 − 54 326|

|54 325|≈ 0.00001840773


erel(ancho) = |10 − 10.5|

|10|= 0.05

¿Qué conclusiones puede obtener del ejercicio? ¿Qué error considera usted
que es más significativo?

Si estamos resolviendo un problema y no disponemos del valor exacto,


podemos calcular un error aproximado. Este error nos puede servir como
criterio de parada para ciertos métodos iterativos.

Definición 3: Error aproximado

Si xi es la aproximación actual y xi−1 es la aproximación en la iteración


anterior, entonces el error relativo se calcula como,

eaprox =|xi − xi−1|


|xi|· 100.
2.2.1 Redondeo y truncamiento
El redondeo y truncamiento son dos formas de reducir la cantidad de cifras
decimales en un número real. Un sistema tiene siempre una precisión fija y por lo
tanto no trabajamos con números reales que tengan un infinito número de
decimales. Hay múltiples formas de redondear números decimales, la más
habitual es elegir el número de cifras a conservar y elegir el número más
cercano al original con las cifras significativas deseadas. Notemos que de forma
general el redondeo y truncamiento no se refieren únicamente a las cifras
decimales de un número, sino a las cifras significativas que se desee conservar
del número.

Análisis de errores 9
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE

Cabe recordar que es muy importante el uso del símbolo ≈ al hacer un


redondeo o truncamiento ya que es una aproximación del número original en la
que siempre estaremos cometiendo algún error.

En la siguiente tabla se presenta dos ejemplos de redondeo y truncamiento.

Figura 2: Ejemplo de redondeo y truncamiento.

Dos cifras decimales Tres cifras decimales


Redondeo Truncamiento Redondeo Truncamiento
0.0172 0.02 0.01 0.017 0.017
54.238769 54.24 54.23 54.239 54.238
Nota: Ejemplo de redondeo y truncamiento para distintas cifras decimales.

Reflexione sobre el redondeo y el truncamiento. ¿Cuál es preferible utilizar?


Piense en casos en los que podría preferir un método sobre el otro. Grafique
una función de redondeo a un decimal y una de truncamiento a un decimal,
observe sus diferencias.

2.3 Exactitud y precisión

Supongamos por ejemplo que tenemos una balanza con una precisión de un
gramo. Si pesamos algo podemos obtener como resultado 523 g sabemos que
esta medida es exacta. Si con la misma balanza se realiza otra medida y se
reporta un peso de 523.235 g, sabemos que esta medida no tiene significado,
puesto que nuestra balanza es precisa únicamente hasta un gramo.

La exactitud y precisión están relacionadas con la medición de alguna


cantidad. La exactitud se refiere a que tan cerca del valor real se encuentra el
valor medido, está directamente relacionado con la medida del error absoluto.
La precisión está relacionada con la dispersión en las mediciones de una
cantidad.

10 Análisis de errores
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

Observe las siguientes imágenes y relacione los conceptos de exactitud y


precisión. En cada caso, ¿los disparos fueron precisos o exactos?

Figura 3: Ejemplo de exactitud y precisión.

Nota: Ejemplo de exactitud y precisión. Anthony David Atencio Moscote,


modificada el 05/02/2021.
2.4 Representación de punto flotante 2.4.1
Cifras significativas
Las cifras significativas son los números contados desde el dígito “más a la
izquierda” hasta el dígito correcto “más a la derecha”, incluyendo los ceros que
sean exactos, (Cheney y Kincaid, 2008). Podemos diferenciar entre las medidas
147 m y 147.0 m, que la primera tiene tres cifras significativas, mientras que la
segunda tiene cuatro. Podríamos decir en este caso, que la primera medición
es precisa hasta un metro, mientras que la segunda medida es precisa hasta
una décima de metro.

Ejemplo de pérdida de precisión: Si tenemos los siguientes números x =


y = 1.389496 y calculamos,
1.387542 e x
y−x
tomando en cuenta 7, 5 y 4 cifras significativas, obtenemos

Análisis de errores 11
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE

Con 7 cifras significativas


x

y − x=1.387542

1.389496 − 1.387542= 710.1033

Con 5 cifras significativas

y − x=1.3875
x c
a
Con 4 cifras ti
s v
i a
g s
n x
if
i 1.3894 − 1.3875= 730.26
y − x=1.387

1.389 − 1.387= 693.5

Observemos como el resultado cambia significativamente entre los tres


cálculos. Note mos también que al considerar las cifras significativas siempre
truncamos los valores a la cantidad de cifras significativas.

Esta pérdida de precisión debe ser considerada al hacer los cálculos,


puesto que debemos recordar que nos encontramos trabajando en un
computador que tiene una precisión fija. Hay que tener cuidado al hacer
operaciones que tienden a provocar errores cuando trabajamos cerca de la
precisión del computador.

2.5 Series de Taylor


La serie de Taylor es uno de los temas básicos más importantes dentro del
estudio de métodos numéricos puesto que nos permite encontrar una forma
aproximada de una función que es en general más fácil de operar. La gran
mayoría de funciones se pueden asociar con su serie de Taylor en los
alrededores de un punto analizado.

La serie de Taylor es una suma infinita de términos que dependen de las


derivadas de la función en un punto. Consideramos aquí que, si una función
tiene infinitas derivadas en un punto c, entonces la serie de Taylor es igual a la
función en dicho punto. Utilizaremos habitualmente el polinomio de Taylor, que
es la versión truncada de la serie de Taylor a n términos. Para la mayoría de
las funciones el polinomio de Taylor representará una buena aproximación de la
función en un entorno cercano al punto c.

Definición 4: Serie de Taylor

Definimos la serie de Taylor como

X∞ n=0 n!(x −
c)n,
f(n)(c)

con f(n)(c) la n-ésima derivada de f en x = c.

12 Análisis de errores
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

Observemos en la siguiente imagen los siete primeros polinomios de Taylor


alrededor de x = 0 para la función exponencial. Se nota como a medida que n
aumenta el valor de la aproximación mejora en los alrededores del punto x = 0.
Figura 4: Polinomios de Taylor para la función exponencial alrededor de x = 0.

Nota: Siete primeros polinomios de Taylor para la función exponencial alrededor de x =


0. De https://es.wikipedia.org/wiki/Serie_de_Taylor#/media/Archivo:Exp_series.gif,
modificada el 20/02/2021.

Practique la generación de gráficos de funciones escribiendo un programa que


genere los polinomios de Taylor para una función fija. Observe como
evoluciona la aproximación.

Si expandimos la serie de Taylor alrededor del punto c = 0, la serie toma el


nombre de serie de Maclaurin. Enunciamos a continuación las series de
Maclaurin para algunas funciones usuales, note que las series son polinomios,
obtenidas de (Wikipedia contributors, 2021).
2 3
x ∞ n= −x −x 2−x 3−
e =X n=0

xn · · · , xn
2
n!= 1 + x +x ∞
3 ln(1 + x) = X n=1

2! +x n+1
(−1) xn
3! + · · ·
2 3
n= x −x 2+x 3− ·
ln(1 − x) = −X n=1· ·

Análisis de errores 13
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE 1


− x=X

1 xn = 1 + x + x2
+···
n=0
nxn−1 = 1 + 2x + 3x2 + · ·
·
2
(1 − x) =X∞
1
(n − 1)n
n=1 n−2 2
2x = 1 + +3x + 6x + ·
3
(1 − x) =X∞
1 · · (2n + 1)!x2n+1 = x −x3

n=2


sen x =X
n=0
2
−x

cos x =X 5
(−1)n 3! +x
(−1)n
2n
(2n)! x = 1 5! − · · ·

4! − · · ·

n=0
2n−1 3 5
(2n)! x = x +x 3+2x

tan x =X
4
2! +x
B2n(−4)n(1 − 4n) π
15+ · · · para |x| < 2
n=1

Calcule la serie de Maclaurin para alguna de las funciones anteriores, trunque


la serie en n = 5. Elija un punto c y calcule el valor de la función mediante el
computador, compare con la aproximación del punto utilizando la serie. ¿Qué
puede decir acerca del error?

2.6 Orden de aproximación y cota superior asintó tica


El orden de aproximación nos da el comportamiento de la función en las
cercanías de un valor. El orden de aproximación nos sirve para determinar que
tan bien una serie finita aproxima una función, por ejemplo una serie de Taylor
truncada.

Definición 5: Orden de aproximación

Sean f y g funciones definidas sobre un entorno de a. Escribimos

O(g(x)) = f(x), cuando x → a

si existen números positivos δ y M tales que si |x − a| < δ,

entonces |f(x)| < M|g(x)|,

usualmente se toma a = 0.

La cota superior asintótica describe el comportamiento asintótico de una


función, es decir como se comporta la función al tender a infinito. Se suele
conocer a esta cota

14 Análisis de errores
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

como notación O grande (del inglés big P notation). Definimos la cota superior
asintótica como

Definición 6: Cota superior asintótica


Sean f y g funciones definidas sobre un subconjunto no acotado de los
reales positivos, con g estrictamente positiva para valores grandes de x.
Escribimos

O(g(x)) = f(x)

si existen x0 y C tales que para todo x > x0

|f(x)| < C|g(x)|.

La cota superior asintótica cambia de definición ligeramente para el caso de


ciencias de la computación, y nosotros prestaremos más atención a la siguiente
definición.

Definición 7: Cota superior asintótica (en ciencias de la computación)

Sean f y g funciones definidas sobre los enteros positivos en los números


reales no negativos. Escribimos
O(g(x)) = f(x)
si existen n0 y N enteros positivos tales que para todo n > n0
|f(n)| < N|g(n)|.

Analice la diferencia entre la definición general de la cota superior asintótica y


la definición en ciencias de la computación. ¿Qué diferencias y similitudes
encuentra? ¿Para qué nos sirve la restricción sobre los enteros positivos?

En el contexto del curso utilizaremos la notación O grande para describir el


desempeño de los algoritmos contando el número de operaciones que estos
realicen. Por ejemplo, si un algoritmo necesita para un problema de tamaño n,
de T(n) = 12n3 + 7n2 operaciones, diremos que el algoritmo es de orden O(n3).
Notemos que, si n crece, el término de mayor exponente, en este caso n3,
domina la expresión, esto lo podemos concluir de la definición si la analizamos
detenidamente. Es por esto que el orden del algoritmo se nota con el término de
mayor exponente.

Investigue y estudie como el término con el mayor exponente domina la


expresión anterior. Pruebe con múltiples valores de coeficientes, use valores
de n suficientemente grandes. ¿Por qué no se utilizan valores pequeños de n?

Análisis de errores 15
Unidad de Educación a Distancia Universidad de las Fuerzas Armadas ESPE

Recursos complementarios
Exactitud y precisión https://youtu.be/RYJXPY_qmkA

Error absoluto y relativo https://youtu.be/_3gtm8fOXGQ

Errores de redondeo https://youtu.be/b9w9eqDsypg


16 Análisis de errores
Universidad de las Fuerzas Armadas ESPE Unidad de Educación a Distancia

Bibliografía
Cheney, E., y Kincaid, D. (2008). Numerical mathematics and computing.
Thomson Brooks.
Universidad Técnica Federico Santa María. (2019). http://progra.usm.cl/apunte/
materia/sentencias-de-control.html. (En línea; accedido el 15 de marzo de
2021)
Wikipedia contributors. (2021). Taylor series — Wikipedia, the free encyclope
dia. Descargado de https://en.wikipedia.org/w/index.php?title=Taylor
_series&oldid=1009821224 (En línea; accedido el 18 de febrero de 2021)

Bibliografía 17

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy