PROCESOS ESTOCASTICOS CON MATLABAlcides Ramos Calcina
Carlos
Carlos
El contenido del presente libro es responsabilidad de los autores,
prohibida la reproducción
parcial o
Editado por:
Puno - Perú
Telf.: 051-352884
E-mail:
[email protected]
1ª edición, Octubre 2019. Tiraje 100 ejemplares
Hecho el depósito legal en la Biblioteca Nacional del Perú N° 2019
– 11371
ISBN:
Jr. Deustua N° 243 – Puno
Telf. 051-200920
Email:
[email protected]
Noviembre, 2019
Para la elaboración del presente texto titulado “Métodos Numéricos
1”,
se tuvo mucho cuidado en la presentación de los conceptos y/o
definiciones
de cada uno de los temas tratados en los diferentes capítulos. Este
texto está
elaborado para el uso en cursos de Métodos Numéricos aplicados a
la
ingeniería.
En esta primera parte, el texto consta de cuatro capítulos: los
primeros
dos capítulos se presentan la introducción al cálculo numérico y
la
aproximación del error, este último esencial para el desarrollo de
los otros dos
capítulos siguientes que, tratan del cálculo de raíces de una
ecuación y en la
parte final tratamos los temas de interpolación y extrapolación. En
ese
sentido, no requiere de un conocimiento matemático profundo.
Así mismo, el conocimiento aplicado es producto de la
experiencia
durante el tiempo de permanencia en la Universidad Privada San
Carlos -
Puno.
Finalmente agradecemos a las personas que tengan a bien hacer
llegar
sugerencias o recomendaciones, con el fin de mejorar su
contenido.
Puno, setiembre del 2018.
ÍNDICE PRESENTACIÓN
.........................................................................................................
4
INTRODUCCIÓN
....................................................................................................
8
1.1. Definición del problema
.............................................................................
9
1.2. Modelamiento matemático
.........................................................................
9
1.3. Solución numérica
......................................................................................
9
2. NOTACIÓN
ALGORÍTMICA.........................................................................
12
Capítulo 2: APROXIMACIÓN Y ANÁLISIS DEL ERROR
...................................... 35
INTRODUCCIÓN
..................................................................................................
36
3. CIFRAS SIGNIFICATIVAS
............................................................................
50
3.1. Reglas para establecer las cifras significativas de un número
dado. ........ 50
Capítulo 3: MÉTODOS DE SOLUCIÓN DE RAÍCES DE ECUACIONES
.............. 69
Capítulo 4: INTERPOLACIÓN POLINOMIAL
....................................................... 139
Apéndice A: INTRODUCCIÓN A LA PROGRAMACIÓN EN VISUAL BASIC
PARA APLICACIONES (VBA)
...............................................................................
173
8
INTRODUCCIÓN
Una etapa intermedia importante durante la solución de un problema
concierne a la
elaboración de un algoritmo, el cual deberá ser posteriormente
implementado en un
lenguaje de programación para la obtención de los resultados
numéricos en un
computador.
Los Métodos Numéricos son una metodología para resolver problemas
por intermedio
de un computador, siendo ampliamente utilizado por ingenieros y
científicos. Una
solución a través de los métodos numéricos es siempre numérica, en
cuanto los
métodos analíticos usualmente proporcionan un resultado en términos
de funciones
matemáticas. Aunque muchas soluciones son una aproximación del
resultado exacto,
que puede ser obtenida en grado creciente de exactitud. Una
solución numérica es
calculada en cuanto un problema no tiene solución analítica, esto
es común en las
ecuaciones diferenciales. Una integral indefinida
2xe dx
de gran utilidad en estadística, tiene función primitiva que no
puede ser representada
explícitamente, por funciones elementales. El área bajo la curva
descrita por 2xe de a
hasta b puede ser determinada por medio de algoritmos numéricos que
son aplicables
a cualquier otra integral, no siendo, por tanto, necesario hacer
sustituciones especiales
o incluso integrar por partes a fin de encontrar el
resultado.
Para calcular un resultado numérico, son necesarias las operaciones
aritméticas
(adición, sustracción, multiplicación y división) y lógicas
(comparación, conjunción,
disyunción y negación). Considerando que estas son las únicas
operaciones
matemáticas que los computadores son capaces de realizar, entonces
los computadores
y los métodos numéricos forman una combinación perfecta. Es
importante recordar
que el primer computador de gran tamaño totalmente electrónico, fue
el ENIAC
(Electronic Numerical Integrator And Calculator), proyectado para
hacer cálculos
balísticos, es actualmente en el mundo entero, el mayor computador
dedicado a
realizar cálculos numéricos.
9
1. ETAPAS DE SOLUCIÓN DE UN PROBLEMA
Dado un problema cualquiera, nos preguntamos ¿cómo resolverlo en el
computador
utilizando los métodos numéricos? Será explicado, a partir de un
ejemplo simple que
la solución de un problema puede ser obtenida en cuatro etapas:
definición del
problema, modelamiento matemático (diseño), solución numérica
(implementación) y
análisis de resultados (validación).
1.1. Definición del problema
En esta etapa, se define cual es el problema real a ser resuelto.
Sea por ejemplo,
calcular a , a > 0 usando apenas las cuatro operaciones
aritméticas.
1.2. Modelamiento matemático
El problema real es transformado en el problema original a través
de una
formulación matemática. Del ejemplo,
2 2 0x a x a x a
El problema real, calcular a , a > 0, fue transformado al
problema original, que
es determinar la raíz de una ecuación algebraica de grado 2.
Generalmente, el problema original posee más soluciones que el
problema real.
En el ejemplo, + a y - a son las dos raíces de la ecuación
algebraica.
1.3. Solución numérica
En esta etapa, usted elige el método numérico apropiado el problema
original
derivado de la modelación matemática. Después de elegir el método,
este se
describe por medio de un algoritmo, el cual es posteriormente
implementado en
un computador para la obtención de los resultados numéricos.
Esta etapa puede ser subdividida en tres fases: elaboración del
algoritmo,
codificación del programa y la ejecución del programa.
MÉTODOS NÚMERICOS con VBA
a) Elaboración del algoritmo
Un algoritmo es una descripción de un conjunto de comandos que,
cuando es
activado, resulta en una sucesión finita de eventos. En lugar de
implementar un
método directamente en un lenguaje de programación, es preferible
describirlo
por medio de una notación algorítmica. Esto hace que sea posible
abstraer los
detalles del lenguaje de programación de la computadora y
concentrar sólo los
aspectos matemáticos del método.
Además, la descripción del método en notación algorítmica facilita
su
implementación en cualquier lenguaje de programación. En la sección
2, se
presenta la notación algorítmica adoptada para describir los
métodos numéricos
desarrollados en este texto.
b) Codificación del programa
En esta fase, el algoritmo es implementado un lenguaje de
programación
escogido. Como los aspectos matemáticos del método ya fueron
analizados en
la fase de elaboración del algoritmo, la cuestión ahora no es
preocuparse por
los detalles del lenguaje adoptado. El apéndice A, muestra como
pasar de la
notación algorítmica al lenguaje de programación Visual Basic
para
Aplicaciones (VBA) en Excel.
c) Ejecución del programa
Finalmente, el código del programa obtenido de la implementación
del
algoritmo en un lenguaje de programación debe ser editado en un
archivo para
que pueda ser ejecutado por el computador. Si durante el
procesamiento hay un
error lógico, es decir, la ejecución del programa produce
resultados
inesperados, entonces se debe retornar a la fase de elaboración
para corregir el
algoritmo.
Ejemplo 1.1. Para ejemplificar la etapa de solución numérica, en el
ejemplo del
cálculo a , será utilizado el método de Newton-Raphson, el cual se
describe en
el capítulo 3.
Sea x a , de donde se obtuvo: 2 0x a , entonces 2f x x a
por tanto, para encontrar una raíz de la función, se debe
cumplir:
2( ) 0f x x a
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
11
f x
Sustituyendo f(x) y f’(x) en la expresión anterior, se tiene
que
2
x x
Este es un proceso iterativo para calcular a , a partir de un valor
inicial 0x ,
haciendo uso de solo las operaciones aritméticas.
Entonces, calculemos la 9 , usando 0 1x , cuyos resultados se
muestran en la
siguiente tabla:
0
1
2
3
4
5
1.0000
5.0000
3.4000
3.0235
3.0001
3.0000
2.0000
0.4000
0.0235
0.0001
0.0000
La columna ix muestra las sucesivas aproximaciones de 9 a cada
i-ésima
iteración y la columna ix -3 muestra el error, es decir, la
diferencia entre el valor
aproximado ix y el valor verdadero 3.
1.4. Análisis de los resultados
La adecuación de la solución numérica al problema real es
verificada en esta
última etapa. Si la solución no se mostrara satisfactoria, se
debería obtener un
nuevo problema original por medio de una nueva formulación
matemática y
determinar una nueva solución numérica.
MÉTODOS NÚMERICOS con VBA
12
Ejemplo 1.2. Para el ejemplo de cálculo de la raíz cuadrada, si se
asigna el valor
inicial 0 1x (para todo 0 0x ), entonces el proceso convergerá a
-3, a pesar
de que es una raíz de 2 9 0f x x , no es 9 .
i ix e = ix -3
0
1
2
3
4
5
-1.0000
-5.0000
-3.4000
-3.0235
-3.0001
-3.0000
-8.0000
-6.4000
-6.0235
-6.0001
-6.0000
Algunos modelos matemáticos pueden producir soluciones que no tenga
sentido
físico o químico como, por ejemplo, tiempo negativo, concentración
compleja,
etc. El objetivo del análisis de los resultados es justamente
distinguir cuál es la
solución válida entre varios proporcionados por el modelo
matemático.
2. NOTACIÓN ALGORÍTMICA
La descripción de un algoritmo1, por medio de una notación
algorítmica, mejora el
entendimiento, porque sólo los aspectos del razonamiento lógico se
hacen hincapié,
sin ser necesario tener en cuenta los detalles de la implementación
de un lenguaje de
programación. A pesar de la descripción en el apéndice de cómo
implementar los
algoritmos en Visual Basic para Aplicaciones (VBA), debe de
consultarse literatura
para obtener más material de referencia de los lenguajes de
programación como
MatLab, C++, Pascal u otro que desee utilizar.
2.1. Concepto y características de algoritmos
El objetivo de este texto es enseñar a resolver problemas de
métodos numéricos
mediante una computadora. El estudiante necesita prender a resolver
problemas
de un modo riguroso y sistemático.
Una computadora es capaz de realizar “sólo” determinadas acciones
sencillas,
tales como sumar, comparar o transferir datos, pero los problemas
que
normalmente interesa resolver son más complejos.
1 Esta palabra deriva del nombre del matemático árabe Mohammed
ibu-Musa al-Khowarizmi (800 d.C.).
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
13
Para resolver un problema real es necesario, en primer lugar,
encontrar un método
de resolución y posteriormente, determinar la sucesión de acciones
sencillas
(susceptibles de ser ejecutadas por la computadora) en que se
descompone dicho
método.
No todos los métodos de solución de un problema pueden ser puestos
es práctica
en una computadora. Para que un procedimiento pueda ser implantado
en un
ordenador debe ser:
Preciso: Definirse de manera rigurosa, sin dar lugar a
ambigüedades.
Definido: Si se sigue un algoritmo dos veces, se obtendrá el mismo
resultado.
Finito: Debe terminar en algún momento.
Un procedimiento o método para resolver un problema que cumpla los
requisitos
anteriores se dice que es un algoritmo. Se puede dar por tanto la
siguiente
definición:
2.2. Representación de los algoritmos
Para representar un algoritmo se debe utilizar algún método que
permita
independizar dicho algoritmo del lenguaje de programación elegido.
Esto
permitirá que un algoritmo pueda ser codificado indistintamente en
cualquier
lenguaje. Para conseguir este objetivo se necesita que el algoritmo
sea
representado gráficamente o numéricamente, de modo que las
sucesivas acciones
no dependan de la sintaxis de ningún lenguaje de programación, sino
que la
descripción pueda servir fácilmente para su transformación en un
programa, es
decir, su codificación.
Diagrama de flujo
Diagrama de N-S2
2 Desarrollado en 1972 por Isaac Nassi y Ben Shneiderman.
Un algoritmo se puede de definir como una secuencia de
instrucciones que
representa un modelo de solución para determinado tipo de
problemas. O bien
como un conjunto de instrucciones que realizadas en orden conducen
a obtener la
solución de un problema.
14
A continuación, se realizará una descripción breve de cada método,
en el presente
capitulo haremos uso del método de Pseudocódigos, por su facilidad
y similitud al
lenguaje natural.
d) Diagramas de flujo
Los diagramas de flujo son representaciones graficas de secuencias
de pasos
a realizar. Cada operación se representa mediante un símbolo
normalizado el
Instituto Norteamericano de Normalización (ANSI - American
National
Standars Institute). Las líneas de flujo indican el orden de
ejecución. Algunos
de los símbolos principales se muestran en la Figura 1.1
Figura 1.1: Símbolos en diagramas de flujo.
e) Diagramas N-S
El diagrama N-S de Nassi-Schneiderman (conocido también como
Chapin) es
como un diagrama de flujo en el que se omiten las flechas de unión
y las
cajas son contiguas. Las acciones sucesivas se escriben en cajas
sucesivas y
como en los diagramas de flujo se pueden escribir diferentes
acciones en una
caja.
15
f) Pseudocódigo
Los pseudocódigos describen un algoritmo de forma similar a un
lenguaje de
programación, pero sin su rigidez, de forma más parecida al
lenguaje natural.
Presentan la ventaja de ser más compactos que los diagramas de
flujo, más
fáciles de escribir para las instrucciones complejas y más fáciles
de transferir
a un lenguaje de programación. El pseudocódigo no está regido por
ningún
estándar.
2.3. Estructura de un algoritmo
La estructura de algoritmo sirve para organizar a los elementos que
aparecen en
él. En esencia un algoritmo está constituido por los siguientes
tres elementos:
Datos: Lo que el algoritmo recibe, procesa y entrega como
resultado.
Instrucciones: Las acciones o procesos que el algoritmo realiza
sobre los
datos.
Estructuras de control: Las que determinan el orden en que se
ejecutarán las
instrucciones del algoritmo.
En pseudocódigo, todos los algoritmos tienen la misma estructura,
la cual viene
definida por tres secciones:
Leer(a)
Leer(b)
Fin
a) Cabecera
En la cabecera de un algoritmo se debe indicar el nombre
(identificador)
asignado al mismo. La sintaxis es:
Algoritmo < nombre_del_algoritmo >
{ Objetivo: < objetivo_del_algoritmo >}
debe ser utilizado para describir la finalidad del algoritmo. Los
datos
necesarios para la ejecución de un algoritmo son solicitados a
través de
comando.
b) Declaraciones
En esta sección se declaran las constantes, los tipos de datos y
las variables
que se usan en el algoritmo. La sintaxis es:
Constantes:
< declaraciones_de_constantes >
Tipo_de_datos:
< declaraciones_de_tipo_de_datos >
Variables:
< declaraciones_de_variablesconstantes >
c) Cuerpo
En el cuerpo se describen todas las instrucciones del algoritmo. La
sintaxis
es:
Inicio
< instrucción_1 >
< instrucción_2 >
< instrucción_3 >
< instrucción_n >
Fin
Inicio y fin son palabras reservadas que marcan el principio y
final de la
sección cuerpo, que es donde está el bloque de instrucciones
principal del
algoritmo.
17
Ejemplo 1.3. Se quiere diseñar un algoritmo de un programa que,
pida por teclado
el radio (dato real) de una circunferencia, calcule el área de la
circunferencia y
muestre por pantalla el resultado (dato real).
Nota: Área de una circunferencia: 2Área radio
El algoritmo puede escribirse de la siguiente forma:
Algoritmo: Area_de_una_circunferencia
Constantes:
Fin
Ejemplo 1.4. Calcular una altura de una persona en pulgadas (1
pulgada=2.54 cm)
y pies (1 pie = 12 pulgadas), a partir de la altura en centímetros,
que se introduce
por el teclado.
El algoritmo sería:
{Calcula la altura de una persona en pulgadas y pies}
Variables:
Leer (altura)
pulgadas ← altura/2.54
pies ← pulgadas/12
Fin
2.4. Variables y comentarios
Una variable corresponde una posición de menoría del computador
donde está
almacenado un determinado valor. Las variables son representadas
por
identificadores que son cadenas de caracteres alfanuméricos, pueden
los
elementos de los vectores y las matrices ser referenciadas por
subíndices o
índices. Por ejemplo, vi, o v(i) y mij o m(i,j).
Un comentario es un texto insertado en cualquier parte del
algoritmo para
aumentar su claridad. Ese texto debe ser delimitado por llaves {
< texto > }, como,
por ejemplo, { cálculo de la raíz }. Así mismo, podemos observar
otro caso en el
ejemplo 1.4.
Existen tres tipos de expresiones: aritméticas, lógicas y
literales, dependiendo de
los tipos de operadores y de las variables involucradas.
Las expresiones son combinaciones de constantes, variables,
símbolos de
operación, paréntesis y nombres de funciones especiales.
a) Aritméticas
Una expresión aritmética es aquella cuyos operadores son
aritméticos y cuyos
operadores son constantes y/o variables aritméticas. La notación es
semejante
a aquella utilizada para representar una formula como:
2 4 * *b a c , cos 2 x ó masa*velocidad
La Tabla 1.1 muestra los operadores aritméticos que aparecen en
los
algoritmos descritos en este texto.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
19
+
-
*
/
b) Lógicas
Las expresiones lógicas o booleana, cuyo valor es siempre verdadero
(V) o
falso (F). En la Tabla 1.2 se muestra los operadores de relación y
lógicos.
Tabla 1.2: Operadores lógico.
c) Funciones
Las operaciones que se requieran en los programas exigen en
numerosas
ocasiones, además de las operaciones aritméticas básicas, un
número
determinado de operadores especiales que se denominan
funciones.
La Tabla 1.3 recoge las funciones más usuales, siendo “x” el
argumento de la
función.
abs(x)
exp(x)
ln(x)
log10(x)
redondeo(x)
trunc(x)
raiz2(x)
seno(x)
cos(x)
d) Asignación
El símbolo ←, es usado para atribuir o asignar el resultado de una
expresión
a una variable, es decir,
< variable > ← < expresión >
Por ejemplo, velocidad ← desplazamiento/tiempo.
Ejemplo 1.5. A continuación escribiremos las expresiones
matemáticas en forma de
expresiones algorítmicas.
Matemática Algorítmica
32 2
y x
2 2a b a^2 + b^2
Ejemplo 1.6. Utilizar las expresiones y comandos de atribución para
obtener la
solución de la ecuación cuadrática ax2 + bx + c = 0. Las raíces de
la ecuación son:
2 4
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
21
2
1
4
2
x1 = (-b+raíz2((b^2)-4*a*c)/(2*a)
x2 = (-b-raíz2((b^2)-4*a*c)/(2*a)
2.6. Comandos de entrada salida
El comando
Leer <variable_1>, <variable_2>, …,
<variable_n>
Esta instrucción lee “n” valores desde el teclado y los asigna a
las “n” variables
mencionadas. Pueden incluirse una o más variables, por lo tanto el
comando leerá
uno o más valores. Por su parte, el comando
Escribir <variable_1>, <variable_2>, …,
<variable_n>
Imprimir <variable_1>, <variable_2>, …,
<variable_n>
debe ser utilizado para indicar donde ciertos valores de interés
están disponibles
en el programa y pueden ser escritos o imprimidos en algún
dispositivo externo.
Ejemplo 1.7. Elaborar un algoritmo para leer una temperatura en
grados
Fahrenheit y convertirlo a grados Celsius.
Algoritmo: Conversion_a_grados
Variables:
Leer (Fahrenheit)
2.7. Estructuras condicionales
El uso de una estructura condicional hace posible la elección de
comandos que se
ejecutarán cuando cierta condición se cumple o no. Esta condición
es
representada por una expresión lógica. Las estructuras
condicionales pueden ser
simples, compuestas o múltiples.
a) Estructura condicional simple
Si < condición_lógica > entonces
< instrucciones >
Fin_si
En este caso, las instrucciones serán ejecutadas, si y solo si, la
expresión
lógica tiene como resultado el valor verdadero.
Ejemplo 1.8. Implementar un algoritmo para calcular el logaritmo
decimal de
un número positivo.
b) Estructura condicional compuesta
Cuando existen dos alternativas posibles, se debe usar una
estructura de la
forma:
23
< instrucciones_1 >
Sino
< instrucciones_2 >
Fin_si
Si la expresión lógica tuviese como resultado el valor verdadero,
entonces la
secuencia de instrucciones 1 serán ejecutadas y la secuencia de
instrucciones
2 no serán ejecutadas.
Por otro lado, si el resultado de expresión lógica es falso,
entonces será la
lista de instrucciones 2 la única en ejecutarse.
Ejemplo 1.9. Implementar un algoritmo para evaluar la función
modular.
Algoritmo: Función_modular
c) Estructura condicional múltiple
La secuencia de instrucciones ejecutadas depende del valor de una
variable
numérica, y tiene la siguiente forma:
Según_sea < variable > hacer
Esta instrucción permite ejecutar opcionalmente varias acciones
posibles,
dependiendo del valor almacenado en una variable de tipo numérico.
Al
ejecutarse, se evalúa el contenido de la variable y se ejecuta la
secuencia de
instrucciones asociada con dicho valor.
Ejemplo 1.10. Se quiere implementar un algoritmo que escriba los
nombres
de la semana en función del valor de una variable DIA introducido
por
teclado.
Los días de la semana son 7; por consiguiente, el rango de los
valores de DIA
será 1, 2, 3, 4, 5, 6 y 7, y en caso que la variable tome un valor
fuera de este
rango se deberá mostrar un mensaje de error.
Algoritmo: Días_semana
2.8. Estructuras de repetición
Una estructura de repetición hace que una secuencia de comandos sea
ejecutada
repetitivamente hasta que una condición de interrupción dado sea
satisfecha.
Existen, básicamente, dos tipos de estructuras, dependiendo si el
número de
repeticiones es definido o indefinido.
a) Número de repeticiones definido
Cuando se plantea con anticipación cuantas veces la estructura debe
ser
repetida, se puede usar la siguiente estructura:
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
25
< instrucciones >
Fin_para
Al ingresar al bloque, la variable recibe el valor inicial y se
ejecuta la
secuencia de instrucciones que forma el cuerpo del ciclo. Luego
se
incrementa la variable en <paso> unidades y se evalúa si el
valor almacenado
en <variable> superó al <valor final>. Si esto es falso
se repite hasta que
<variable> supere a <final>. Si se omite la cláusula
<paso>, la variable se
incrementará en 1.
Ejemplo 1.11. Implemente un algoritmo que muestre la suma de los
“n”
primero números impares es igual al cuadrado de “n”.
Algoritmo: Primeros_impares
Variables:
suma ← suma + i
Este tipo de estructura de repetición presenta la siguiente
forma:
Mientras < condición > hacer
< instrucciones >
Fin_mientras
Al ejecutarse esta instrucción, la condición es evaluada. Si la
condición
resulta verdadera, se ejecuta una vez la secuencia de instrucciones
que
forman el cuerpo del ciclo. Al finalizar la ejecución del cuerpo
del ciclo se
MÉTODOS NÚMERICOS con VBA
26
vuelve a evaluar la condición y, si es verdadera, la ejecución se
repite. Estos
pasos se repiten mientras la condición sea verdadera.
También se puede hacer uso de la instrucción Repetir-Hasta. Que
ejecuta
una secuencia de instrucciones hasta que la condición sea
verdadera, la cual
tiene la forma siguiente:
Hasta_que < condición >
Al ejecutarse esta instrucción, la secuencia de instrucciones que
forma el
cuerpo del ciclo se ejecuta una vez y luego se evalúa la condición.
Si la
condición es falsa, el cuerpo del ciclo se ejecuta nuevamente y se
vuelve a
evaluar la condición. Esto se repite hasta que la condición sea
verdadera.
Note que, dado que la condición se evalúa al final, las
instrucciones del
cuerpo del ciclo serán ejecutadas al menos una vez.
Ejemplo 1.12. Implemente un algoritmo que, lea por teclado un
número que
represente una cantidad de números que a su vez se leerán también
por
teclado. Calcular la suma de todos esos números.
Algoritmo: Suma_numeros
27
2.9. Más ejemplos de algoritmos
Ejemplo 1.13. Escriba un algoritmo que, dado un vector x con n
componentes,
calcule la media aritmética x y la desviación estándar s2 de sus
elementos,
sabiendo que
Variables:
suma ← 0
suma2 ← 0
suma ← suma + x(i)
Fin
Ejemplo 1.14. Escriba un algoritmo que determine el mayor elemento
en cada fila
de una matriz A de dimensión m×n.
Algoritmo: Matriz_mayor
Variables:
entero A, m, n, mayor
{n° de filas, n° de columnas y elementos de la matriz}
Inicio
mayor(i) ← A(i,j)
Si A(i,j)>mayor(i) entonces
Fin_para
Fin
Ejemplo 1.15. Escriba un algoritmo que, calcule el valor de π, con
precisión dada,
utilizando la serie
3 5 7 9
Cabe señalar que esta no es la manera más eficiente de calcular π,
pero sirve para
ilustrar el uso de la estructura de repetición.
Algoritmo: Calcular_PI
Variables:
29
Ejemplo 1.15. Escriba un algoritmo que, lea un número (por ejemplo
175) y
obtenga el número inverso (por ejemplo 571).
Algoritmo: Invertir_número
Hacer
Fin
Ejemplo 1.16. Escriba un algoritmo que, calcule el factorial de un
número,
utilizando la estructura Para.
Recordemos que el factorial de n se expresa de la siguiente
forma:
! 1 2 3 3 2 1n n n n n
Algoritmo: Factorial_número
factorial ← factorial * i
Fin
3. IMPLEMENTACIÓN DE ALGORITMOS
Una de las cuatro etapas en la solución de un problema es la
solución numérica, la
cual puede ser subdividida en tres fases: elaboración del
algoritmo, codificación del
programa y procesamiento del programa. En las secciones anteriores
fue propuesta
una notación algorítmica y se mostró como elaborar un algoritmo a
partir de una
formulación matemática. La próxima fase es la codificación del
programa en el
lenguaje de programación escogido. En esta sección será mostrará
ejemplos de
implementación de algoritmos en el lenguaje de programación Visual
Basic para
Aplicaciones (VBA), dado que, en el apéndice A se muestra la
introducción a este
lenguaje de programación con una gama de ejercicios resueltos y
propuestos.
Ejemplo 1.17. Implemente en VBA el algoritmo del Ejemplo
1.16.
Código VBA N° 1.1: Factorial de un número
Sub factorial()
Dim i, n As Integer
Dim factorial As Double
n = InputBox("Ingrese el número: ")
factorial = factorial * i
End Sub
Al ejecutar el programa, nos muestra un cuadro de ingreso de la
información (ver
Figura 1.4), luego hacemos click en Aceptar y nos muestra el
resultado en cuadro de
dialogo, ver Figura 1.5.
31
Figura 1.5: Cuadro de resultado.
MÉTODOS NÚMERICOS con VBA
EJERCICIOS CAP. 1
1. Hacer un pseudocódigo que se ingrese dos números por teclado e
imprima la suma,
y resta de dichos números.
2. En el ejercicio 1 aumentar en la impresión la multiplicación y
la división de los
números. ¿Qué cambios se tiene que realizar en la declaración de
variables?
3. Construya un pseudocódigo que, al recibir como datos la longitud
y el peso de un
objeto expresados en pies y libras, imprima los datos de este
objeto, pero
expresados en metros y kilos, respectivamente (Nota: 1 pie =
0.09290 metros y 1
libra = 0.45359 kilogramos).
4. Una persona compro una estancia. La extensión de la estancia
está especificada en
acres. Construya un pseudocódigo que, al recibir como dato la
extensión de la
estancia en acres, calcule e imprima la extensión de la misma en
hectáreas. (Nota:
1 acre = 4047 m2 y 1 hectárea = 10,000 m2).
5. Construya un pseudocódigo que, al recibir como datos los tres
lados de un
triángulo, calcule e imprima su área. Ésta se puede calcular
aplicando la siguiente
formula:
p a b c / 2
6. Implemente un seudocódigo y el correspondiente programa en VBA
que, al recibir
como dato el promedio de un alumno en un curso universitario,
escriba “aprobado”
en caso de que el promedio sea satisfactorio, es decir mayor o
igual a 10.5.
7. Construya un pseudocódigo y el correspondiente programa en VBA
que, al recibir
como dato el precio de un producto importado, incremente 15% y el
mismo precio
si es inferior a S/. 5000, además escriba el nuevo precio del
producto.
8. Construya un pseudocódigo y el correspondiente programa en VBA
que, al recibir
como datos tres valores enteros R, T y Q, determine si los mismos
satisfacen la
siguiente expresión, y que, en caso afirmativo, escriba los valores
correspondientes
de R, T y Q.
R4 – T3 + 4 * Q2 < 820
9. Implemente un seudocódigo y el correspondiente programa en VBA
que, al recibir
como datos dos variables de tipo entero, obtenga el resultado de la
siguiente
función:
33
T **T Si: OP = 2 f (T)
6*T / 2 Si: OP = 3, 4
1 Otros caso
Donde:
OP es una variable de tipo entero que representa el cálculo a
realizar.
T es una variable de tipo entero que se utiliza para el cálculo de
la función.
10. Construya un pseudocódigo y programa en VBA que, al recibir
como datos los
salarios de 5 profesores de una universidad, obtenga el total de la
nómina.
i Nombres Salario (S/.)
1200.00
1360.00
750.00
1500.00
980.00
11. Construya un pseudocódigo y programa en VBA que, al recibir
como datos “n”
números enteros, obtenga solamente la suma de números
positivos.
12. Construya un pseudocódigo y programa en VBA que, imprima y
cuente los
múltiplos de 3 desde la unidad hasta un número que introducimos por
teclado.
13. Construya un pseudocódigo y programa en VBA que, al recibir
como datos un
grupo de números naturales positivos, calcule el cuadrado de estos
números.
Imprima el cuadrado del número y al final la suma de los cuadrados.
Si se ingresa
0 como último dato indica que no hay más números que
ingresar.
MÉTODOS NÚMERICOS con VBA
35
ERROR
36
INTRODUCCIÓN
En la práctica del cálculo numérico es importante tener en cuenta
que las soluciones
calculadas por el computador no son soluciones matemáticas exactas.
La precisión de
una solución numérica puede verse disminuida por diversos factores,
algunos de
naturaleza sutil, y la comprensión de estas dificultades pueden
guiarnos a menudo a
desarrollar o a construir algoritmos numéricos adecuados.
Por consiguiente, los métodos numéricos ofrecen soluciones
aproximadas muy
cercanas a las soluciones exactas. La discrepancia entre una
solución verdadera y una
aproximada representa un error.
En el campo de la aplicación profesional, los errores pueden
resultar costosos, y en
algunas ocasiones catastróficos.
Identificar
Cuantificar
Minimizar
Los Métodos Numéricos es una materia de Cálculo o Matemáticas
Aplicada, que
muestra cómo a través de fórmulas e iteraciones podemos obtener
resultados bastante
aproximados para diversos problemas que se pueden plantear.
En este capítulo se estudia dos de los errores más comunes los
errores de redondeo y
truncamiento. Los errores de redondeo se deben a que la computadora
tan sólo
representa cantidades con un número finito de dígitos. Los errores
de truncamiento
representan la diferencia entre una formulación matemática exacta
de un problema y
su aproximación obtenida por un método numérico.
1. APROXIMACIÓN
En ocasiones se tiene un conjunto de datos experimentales y se
desea hallar una
función analítica que los represente de forma satisfactoria. Para
ello es necesario hacer
una aproximación de la función a los datos. Entre los métodos más
utilizados para
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
37
aproximación tenemos: Mínimos Cuadrados, Transformada Rápida de
Fourier y La
Serie de Taylor. En este capítulo mostraremos con detalle el método
de mínimos
cuadrados y método de Taylor.
1.1. Mínimos Cuadrados
Los mínimos cuadrados es un método basado en minimizar el error
entre los datos
y la función de aproximación. Para un conjunto de datos
1 1 2 2, , , , , ,n nx y x y x y , si y f x es una función de
aproximación, la
suma de los cuadrados de los errores es:
2
1
n
Y debe minimizarse. En el caso de una recta, se tiene: i if x a
bx
2
1
n
b
1 1
n n
i i
i i
2
MÉTODOS NÚMERICOS con VBA
38
Las ecuaciones (1) y (2) se les conoce como Ecuaciones Normales,
despejando,
los parámetros estimados son:
1
…….. 2da Ecuación Normal.
La cantidad b se denomina coeficiente de regresión de Y sobre
X.
Siendo las medias o promedios de las variables estadísticas:
1
n
i
i
x
Ejemplo 2.1 Se tienen los siguientes datos de la parte elástica de
un ensayo de
tensión realizado con una probeta, y se desea conocer el módulo de
elasticidad
del material:
0 0
0.001 20.5
0.002 25.2
0.003 35.4
0.004 41.6
0.005 44.2
0.006 50.3
Sea entiende que el módulo de elasticidad (y = f(x): deformación)
depende de la
parte elástica del material (x: deformación), por consiguiente,
planteamos la
siguiente función de relación de las variables: f(x) = a +
bx.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
39
Para encontrar la función de aproximación f(x), en Excel realizamos
utilizando la
herramienta Análisis de Datos la cual deberá estar previamente
instalada, debido
a que esta no lo está. Para ello, realizamos los siguiente: Archivo
/ Opciones y
en la ventana de opciones de Excel seleccionamos Complementos,
luego
hacemos clic en el botón Ir… finalmente seleccionamos Herramienta
para
análisis y Aceptar (Ver figura 1.1).
Figura 2.1: Ventana de complementos de Excel.
A continuación, realizamos los siguientes pasos:
Primero copiamos la información a una hoja de cálculo, como
se
muestra en la figura 2.2.
En la pestaña Datos seleccionamos la opción Análisis de datos
recién
instalada. Y en la ventana de dialogo elegimos Regresión y
luego
Aceptar.
La figura 2.3 muestra la forma de ingreso de los datos.
MÉTODOS NÚMERICOS con VBA
Figura 2.3: Opciones de regresión.
Nos muestra los siguientes resultados en la figura 2.4.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
41
Figura 2.4: Resultados del análisis de regresión.
En la figura 2.4 se observa un cuadro de las estadísticas de la
regresión, como:
el coeficiente de correlación y de determinación, este último nos
indica el grado
de relación de las variables x e y que en este caso es de 92.3%.
Así mismo, nos
muestra un cuadro de Análisis de varianza que permite validar la
función de
aproximación (modelo lineal), siendo el valor critico de F (Prob =
0.00057)
menor a l nivel de significancia ( = 0.05), por tanto, la función
de aproximación
se ajusta a un modelo lineal.
El siguiente cuadro nos muestra la estimación de los parámetros de
la función de
aproximación (Coeficientes):
MÉTODOS NÚMERICOS con VBA
42
Con esta función se obtiene los Pronósticos Y que permite calcular
los Residuos
(errores). Esto se puede ver más claramente en el grafico 2.1 de la
curva de
regresión ajustada.
1.1. Serie de Taylor
La serie de Taylor de una función f(x) infinitamente derivable
(real o compleja)
n
Aquí, n! es el factorial de n y f (n)(a) indica la n-ésima derivada
de f en el punto a.
Si esta serie converge para todo x perteneciente al intervalo (a-r,
a+r) y la suma
es igual a f(x), entonces la función f(x) se llama analítica. Para
comprobar si la
serie converge a f(x), se suele utilizar una estimación del resto
del teorema de
Taylor. Una función es analítica si y solo si se puede representar
con una serie de
potencias; los coeficientes de esa serie son necesariamente los
determinados en la
fórmula de la serie de Taylor.
43
Si a = 0, a la serie se le llama serie de MacLaurin.
Esta representación tiene tres ventajas importantes:
La derivación e integración de una de estas series se puede
realizar
término a término, que resultan operaciones triviales.
Se puede utilizar para calcular valores aproximados de la
función.
Es posible demostrar que, si es viable la transformación de una
función
a una serie de Taylor, es la óptima aproximación posible.
Algunas funciones no se pueden escribir como serie de Taylor porque
tienen
alguna singularidad.
Definición.- La serie de Taylor de una función f de números reales
o complejos
que es infinitamente diferenciable en un entorno de números reales
o complejos a,
es la serie de potencias:
1! 2! 3!
f a f a f a f x x a x a x a
n
donde n! es el factorial de n y f (n)(a) denota la n-ésima derivada
de f en el punto
a; la derivada cero de f es definida como la propia f y (x − a)0 y
0! son ambos
definidos como uno.
Solución:
n xf x e para toda x,
Por tanto, utilizando la definición de desarrollo de Taylor (ó de
McLaurin) se
obtiene:
Sea xf x e . Es entera y n xf x e ,
00 1 n
0 0 0 0 0 0! 1! 2! 3! 4!
xe x x x x x
2 3 4
x x x x x e
Generalizando
n n x
n n
Series de Taylor notables
A continuación se enumeran algunas series de Taylor de funciones
importantes.
Todos los desarrollos son también válidos para valores complejos de
x.
0 !
45
, x
Ejemplo 2.3 Implemente en Excel la aproximación de xe a través de
la serie de
Taylor desarrollado en el ejemplo 2.2, con 10 iteraciones.
Para implementar la aproximación de xe para un total de 10
iteraciones (adición
de 10 términos), seguimos la siguiente secuencia de pasos:
Para empezar, diseñe la siguiente tabla en una hoja nueva:
Figura 2.5: Diseño de cuadro.
A continuación hallamos el valor verdadero de xe , para x = 0.5 en
la celda
C3.
=EXP(C4)
Ahora implementamos la función FEXP(), que hará el cálculo en
función a
término (t) y el valor de x.
MÉTODOS NÚMERICOS con VBA
FEXP = (x ^ t) / WorksheetFunction.Fact(t)
End Function
Ahora escribimos la función en la celda C7, haciendo referencia a
término n
como argumento variable (celda B7) y el valor de x como valor
constante
(celda C4):
Copiamos hasta la celda C16.
En la celda D7 de la columna resultados escribimos lo siguiente:
=C7, que
copia solo en este caso el mismo resultado de la primera expresión,
a partir de
la ceda D8, escribimos una sumatoria de valores actuales y
anteriores del
siguiente modo:
=C8+D7
Finalmente en la celda E7 calculamos le error como una diferencia
del valor
verdadero y el resultado obtenido:
=C$3-D7
Obtenemos los siguientes resultados que se muestran en la figura
2.6.
Figura 2.6: Resultados de la aproximación xe .
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
47
2. PRECISIÓN Y EXACTITUD
El estudio e implementación en computadora de los métodos numéricos
requiere de un
cuidado especial en el manejo de los números, de forma que los
resultados que
entregue un programa sean confiables. Para hablar de dicha
confiabilidad
distinguiremos entre los términos precisión y exactitud.
Exactitud: aproximación de un número o de una medida al valor
verdadero.
Inexactitud: alejamiento sistemático de la realidad.
Precisión: qué tan cercanos se encuentran los valores unos de
otros.
Imprecisión: esparcimiento de las mediciones.
a) Inexacto e Impreciso b) Exacto e Impreciso
c) Inexacto y Preciso d) Exacto y Preciso
Figura 2.7: Exactitud y Precisión.
Aunque en las aplicaciones es necesario conocer la precisión de los
datos de entrada (a
un algoritmo), que pueden depender directamente de los instrumentos
utilizados, nos
concentraremos aquí en la precisión de la representación de un
número en la memoria
de la computadora, lo cual está relacionado con la siguiente
representación de
números reales.
2.1. Números de punto flotante
Decimos que un número x está representado como número de punto
flotante si se
expresa como:
px d d d d d B
Donde:
p : es el número de dígitos en la matiza o significado
B : es la base del sistema (10 en base decimal)
e : es el exponente entero
Además, cuando d0 0 decimos que está en su forma normalizada.
Ejemplo 2.8. El número 314.159 en representación de punto flotante
es
0.314159103 y como punto flotante normalizado 3.14159102.
Ya que las computadoras digitales trabajan (en su mayoría) con el
sistema
binario, el estándar IEEE 754 especifica tanto la representación
como el manejo
de los números binarios de punto flotante.
2.2. Números binarios de punto flotante
Decimos que un número x está representado como número binario de
punto
flotante normalizado si se expresa como:
1 1 2 s ex f
Donde:
e : es el exponente
La precisión de un número está directamente relacionada con el
número de dígitos
en su representación de punto flotante.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
49
Ejemplo 2.9. Determine un conjunto hipotético de números con punto
flotante
para una máquina que guarda información usando palabras de 7 bits.
Emplee el
primer bit para el signo del número, los siguientes tres para el
signo y la magnitud
del exponente, y los últimos tres para la magnitud de la mantisa
(ver figura 2.8).
0 11 1 01 0
2 1
2 0
2 -1
2 -2
2 -3
Magnitud de
la mantisa
Magnitud del
Figura 2.8: Número positivo de punto flotante más pequeño
posible.
Solución:
El número más pequeño posible se representa en la figura 2.8. El 0
inicial señala
que la cantidad es positiva. El 1 en el segundo lugar indica que el
exponente tiene
signo negativo. Los 1, en el tercero y cuarto lugar dan un valor
máximo al
exponente de
1 21 + 1 20 = 3
Por lo tanto, el exponente será -3. Por último, la mantisa está
especificada por el
100 en los últimos tres lugares, lo cual nos da
1 2-1 + 0 2-2 + 0 2-3 = 0.5
Aunque es posible tomar una mantisa más pequeña (por ejemplo, 000,
001, 011),
se emplea el valor de 100 debido al límite impuesto por la
normalización. Así el
número positivo más pequeño posible en este sistema es +0.5 2-3, el
cual es
igual a 0.0625 en el sistema de base 10. Los siguientes números más
grandes se
desarrollan incrementando la mantisa como sigue:
0111101 = (12-1 + 02-2 + 12-3) 2-3 = (0.078125)10
0111101 = (12-1 + 12-2 + 02-3) 2-3 = (0.093750)10
0111101 = (12-1 + 12-2 + 12-3) 2-3 = (0.109375)10
MÉTODOS NÚMERICOS con VBA
3. CIFRAS SIGNIFICATIVAS
La noción intuitiva de cifras significativas de un número está
directamente relacionada
con la precisión de los instrumentos o procesos que lo
generan.
Definición
El número de cifras significativas de un número x corresponde al
número de cifras
en la mantisa de su representación en notación científica.
Ejemplo 2.4. Ya que 0.00123 = 1.2310−3, decimos que 0.00123 tiene
tres cifras
significativas.
Ejemplo 2.5. El número 3210 = 3.210103 posee cuatro cifras
significativas.
Note que en el ejemplo anterior, hemos mantenido el 0 de las
unidades. Si el
origen del número no garantizara el valor de sus unidades, entonces
deberíamos
escribir directamente 3.21103 lo que indicaría que contamos con
sólo tres cifras
significativas.
3.1. Reglas para establecer las cifras significativas de un número
dado.
Regla 1. En números que no contienen ceros, todos los dígitos son
significativos.
Por ejemplo:
Regla 2. Todos los ceros entre dígitos significativos son
significativos.
Por ejemplo:
2.054 → cuatro cifras significativas → 2.054
506 → tres cifras significativas → 506
Regla 3. Los ceros a la izquierda del primer dígito que no es cero
sirven
solamente para fijar la posición del punto decimal y no son
significativos.
Por ejemplo:
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
51
Regla 4. En un número con dígitos decimales, los ceros finales a la
derecha del
punto decimal son significativos.
0.0540 → tres cifras significativas → 0,0540
30.00 → cuatro cifras significativas → 30,00
Regla 5. Si un número no tiene punto decimal y termina con uno o
más ceros,
dichos ceros pueden ser o no significativos. Para poder especificar
el número de
cifras significativas, se requiere información adicional. Para
evitar confusiones es
conveniente expresar el número en notación científica, no obstante,
también se
suele indicar que dichos ceros son significativos escribiendo el
punto decimal
solamente. Si el signo decimal no se escribiera, dichos ceros no
son significativos.
Por ejemplo:
3.2. Cifras exactas
Sean xv y xc los valores verdadero y calculado de una cierta
cantidad, con xv xc.
Decimos que xc aproxima a xv con n cifras exactas si n es el mayor
entero no
negativo para el cual, se cumple:
10.5 10m n
m = orden del número
k = número de cifras decimales exactas
Ejemplo 2.6. Sean los números xv = 3408.451 y xc = 3408.46, calcule
el número
de cifras exactas y número de cifras decimales exactas para el
valor aproximado.
MÉTODOS NÚMERICOS con VBA
El orden del número es m = 3, por tanto, tenemos:
13408.451 3408.46 0.009 0.09 10v ce x x
De acuerdo a la condición
1 10.09 10 0.5 10m n
Por tanto,
1 1
Por tanto,
El valor aproximado tendrá una cifra decimal exacta.
Ejemplo 2.7. Calcular el número de cifras y decimales exactos con
que 9.99
aproxima a 10.
El orden del número es m = 1, por tanto, tenemos:
110 9.99 0.01 0.1 10v ce x x
Condición 1 10.1 10 0.5 10m n
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
53
Por tanto,
4. ERRORES
Cuando se mide una cantidad, ya directa, ya indirectamente, la
medida que se obtiene
no es necesariamente el valor exacto de tal medida, ya que el
resultado obtenido estará
afectado por errores debidos a multitud de factores. Algo en
apariencia tan sencillo
como cronometrar el período del péndulo en el apartado anterior
sufrirá errores
debidos a la precisión del cronómetro, los reflejos del
cronometrador, las corrientes de
aire, el número de medidas efectuadas ... errores que se propagarán
a cualquier
cantidad derivada de ésta que queramos determinar, como por ejemplo
velocidad o
aceleración.
En estos casos es necesario estimar el error cometido al efectuar
una medida o serie de
medidas. El conjunto de reglas matemáticas dedicado a su estudio se
conoce como
teoría de errores, y resulta imprescindible tanto para sacar todo
el partido posible a un
conjunto de datos experimentales como para evaluar la fiabilidad de
éstos. El estudio
de la teoría de errores es una rama aparte de la matemática por
derecho propio, y por
su extensión no se desarrollará en este capítulo. Queda usted
avisado, lo que está aquí
es tan sólo un conjunto rápido y necesariamente breve de las reglas
fundamentales
más usadas en el ámbito de la teoría de errores.
MÉTODOS NÚMERICOS con VBA
Los errores numéricos surgen del uso de aproximaciones para
representar
operaciones y cantidades matemáticas exactas. Estas incluyen los
errores de
truncamiento y los errores de redondeo. Para ambos tipos de
errores, la relación
entre el resultado exacto, o verdadero, y el aproximado está dado
por:
Error absoluto y relativo
Sea xv un valor numérico verdadero y sea xc el valor calculado que
aproxima el
verdadero, entonces:
v c vx x e
Por consiguiente, el error verdadero (ev) viene dado por:
v v ce x x
El error verdadero absoluto (eva), es:
va v ce x x
El error relativo verdadero (v), está dado por:
v c v
v c v
55
Nota: El error relativo porcentual se obtiene únicamente
multiplicando por 100%
el error relativo.
100%
a
En ciertos métodos numéricos, se usan esquemas iterativos para
calcular
resultados, y se hace la aproximación en base a la aproximación
anterior, para
calcular más y mejores aproximaciones.
100%
a
En esta última, normalmente se repite hasta que su valor absoluto
sea menor que
una tolerancia prefijada s , donde:
20.5 10 %n
Quedando entonces definido el criterio de aceptación:
a s
El resultado será correcto en al menos n cifras
significativas
Ejemplo 2.10. Se mide la longitud y el diámetro de una varilla en
centímetros,
obteniéndose 99 cm y 0.9 cm respectivamente. Los valores exactos
son 100 cm y
1 cm. Determine el error verdadero y el error relativo porcentual
en cada caso.
Solución:
MÉTODOS NÚMERICOS con VBA
b) El error relativo porcentual
Longitud de la varilla es: 1
100% 1% 100
100% 10% 1
v
Por tanto, la medición del diámetro no es muy satisfactoria, ya que
produce un
error relativo porcentual del 10%.
Ejemplo 2.11:
1 f x
0
1
1
t
t
, con |x| < 1
para x = 0.05; agregando términos hasta que |a| < s, con cinco
(5) cifras
significativas.
Solución:
0.05 1.0526316 1 0.05
1 x x x x
x
Determinamos el criterio de error de tolerancia que asegura que un
resultado sea
correcto en al menos 5 cifras significativas:
2 50.5 10 %s
57
Por lo tanto, se agregará términos a la serie hasta que a sea menos
que este
valor.
Para implementar este ejemplo en Excel, seguimos lo siguientes
pasos:
Primero, diseñe la siguiente tabla en una hoja nueva:
Figura 2.9: Diseño de cuadro para estimación del error.
Hallamos el valor verdadero de 1
1 x , para x = 0.05 en la celda E8.
=1/(1-B8)
También determinamos el valor del criterio de tolerancia s, para n
= 5 cifras
significativas en la celda E10.
=0.5*(10^(2-B10))
Ahora implementamos la función FGEO(), que hará el cálculo en
función a
término (t) y el valor de x.
Function FGEO(t, x)
'con |x|<1
FGEO = x ^ t
End Function
En la celda C13 de la columna valor del término, haciendo
referencia a
término t como argumento variable (celda B13) y el valor de x como
valor
constante (celda B8):
Luego copiamos hasta donde sea necesario.
En la celda D13 de la columna resultado escribimos lo siguiente:
=C13, que
copia en este caso el mismo resultado de la primera expresión, a
partir de la
ceda D14, escribimos una sumatoria de valores actuales y anteriores
del
siguiente modo:
=C14+D13
El error relativo porcentual, se calcula a partir de la celda E13,
tomado en
cuenta el valor verdadero de la celda E8 y el valor de cada
resultado.
=(E$8-D13)/E$8*100
Así mismo, el error aproximado porcentual lo obtenemos a partir de
la celda
F14, debido a que no se puede calcular el error aproximado para el
primer
término.
=ABS(D14-D13)/D14*100
Finalmente, en la celda G14 verificamos el criterio de parada de la
tolerancia,
es decir, |a| < s, del siguiente modo:
=SI(F14<E$10,"ÉXITO","FRACASO")
Copiamos hasta que nos muestre un éxito.
Obtenemos los siguientes resultados que se muestran en la figura
2.10.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
59
1 x con Series de Taylor, para x = 0.05.
Gráfico 2.1:
En l figura 2.10, se aprecia que el error aproximado absoluto es
menor al criterio
de tolerancia al sumar el séptimo término, con lo que estaríamos
aproximado el
resultado a cinco cifras significativas. Así mismo, también podemos
ver en el
gráfico 2.2 la convergencia del resultado hacia el valor verdadero,
alcanzado su
estabilidad a la suma del tercer término.
MÉTODOS NÚMERICOS con VBA
4.2. Tipos de errores
En esta sección veremos los tipos esenciales de errores presentes
(en mayor o
menor grado) en la aplicación de los métodos numéricos. Además de
estos
errores, podemos considerar: el error humano, observaciones
inexactas propios
del equipo experimental y errores de modelado.
a) Error por redondeo
A diferencia del error “externo” que provocamos cuando redondeamos
a cierto
número de decimales (por ejemplo: 9.9 a 10), el error por redondeo
que interesa
en cálculo numérico es el que ocurre en la computadora o
calculadora debido a
las limitaciones propias de la representación del número.
Ejemplo 2.12. Calculemos los resultados de la siguiente
secuencia:
4 3
En la siguiente tabla el cálculo tomando todas las cifras y con
redondeo.
Término Todas las cifras Redondeo
a = 4/3 1.33333333333333 1.33333333333333
c = b + b + b 1.00000000000000 0.99999999999999
e = 1 – c 0.00000000000000 0.00000000000001
Nótese que si comete error en el cálculo del valor fina d. Para
eliminar el error
por redondeo, utilizamos números racionales (fraccionarios).
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
61
e = 1 - c 0
b) Error por truncamiento
De forma similar al caso del error por redondeo, hay que distinguir
entre el error
“externo” que provocamos cuando truncamos un número a cierta
cantidad de
decimales (por ejemplo: 9.99 a 9.9) y el error de truncamiento que
interesa
fundamentalmente en el análisis numérico. Este último tiene que ver
con la
famosa serie de Taylor y la propiedad de que toda función analítica
puede ser
aproximada mediante polinomios.
Ejemplo 2.13. Utilizando la serie de Taylor, calculemos los errores
de
truncamiento, cuando aproximamos xe con cinco iteraciones
para:
a) x = 1
b) x = -1
Solución:
En ambos casos calcularemos el error de truncamiento haciendo uso
de la
plantilla que implementamos en el ejercicio 2.3.
a) Para este caso, tenemos el valor verdadero: 1 2.7182818e (con 7
decimales
de aproximación), los resultados se muestran en la figura
2.11.
Ya que el resultado de la sumatoria al quinto término es
2.7083333
(redondeado a 7 decimales) entonces
Error de truncamiento = 2.7182818 - 2.7083333 = 0.0099485
MÉTODOS NÚMERICOS con VBA
62
Figura 2.11: a) Error de truncamiento de xe , para x = 1.
a) En el segundo caso, tenemos el valor verdadero: 1 0.3678794e ,
los
resultados se muestran en la figura 2.12.
Error de truncamiento = 0.3678794 – 0.3750000 = -0.0071206
Figura 2.12: b) Error de truncamiento de xe , para x = -1.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
63
c) Error numérico total
Por lo visto hasta este punto, los métodos numéricos requieren un
cuidadoso
reconocimiento y estudio de los errores involucrados.
El error numérico total es la suma de los errores por redondeo y
los errores por
truncamiento.
Los errores por redondeo y por truncamiento guardan una relación
muy
interesante que señala Chapra y Canale y denominan principio de
incertidumbre
numérica, ya que conforme aumenta el incremento h (en la expansión
de Taylor)
también aumenta el error por truncamiento, y para reducirlo es
necesario
aumentar el número de términos en la sumatoria, pero al hacerlo
aumenta el
número de operaciones de punto flotante, lo que aumenta el error
por redondeo.
Se trata entonces de encontrar un punto de equilibrio a partir del
cual, se tienen
rendimientos decrecientes.
5. MÉTODOS ITERATIVOS
A diferencia de los métodos directos donde la solución a una
ecuación o sistema de
ecuaciones se logra siempre “al primer intento” siguiendo paso a
paso un
procedimiento determinado, los métodos iterativos obtienen la
solución como
resultado de una serie de aproximaciones generadas sucesivamente a
partir de una
“aproximación inicial a la solución”.
Definimos Método iterativo a un procedimiento que acepta:
a) f(x), la función a iterar, tal que Ran(f) Dom(f) y además cumple
cierto
criterio de convergencia
c) s es la tolerancia del error
y encuentra, mediante un número finito de iteraciones, una solución
aproximada x*
(con a s ), para la ecuación x = f(x). Llamamos punto fijo al valor
x que cumple x
= f(x).
Normalmente, la implementación de un método iterativo incluye como
parámetro
adicional, el número máximo de iteraciones permitidas, para el caso
en que se utilice
una función que no cumpla con el criterio de convergencia.
En el presente texto se realizan los cálculos usando métodos
iterativos implementados
en una hoja de cálculo de Excel o en VBA de Excel, y para el
control del número de
iteraciones se utiliza el criterio de tolerancia como ya se indicó
anteriormente.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
65
EJERCICIOS CAP. 2.1
1. Indica el número de cifras significativas de las medidas
indicadas: 12.00 m, 0.765
g, y 0.0730 s.
2. Escribe las sucesivas cifras que aparecen al redondear el número
3.4536772 hasta
las unidades:
Primer resultado del redondeo : ________________
Segundo resultado del redondeo : ________________
Tercero resultado del redondeo : ________________
Cuarto resultado del redondeo : ________________
Quinto resultado del redondeo : ________________
Sexto resultado del redondeo : ________________
Séptimo resultado del redondeo : ________________
3. Convertir los siguientes números a notación científica (tres
decimales y cinco
decimales):
34780000000000000000 : ______________ , _______________
2456000000.987 : ______________ , _______________
345.6 : ______________ , _______________
0.0000000000000003478 : ______________ ,________________
0.0000023450000000 : ______________ , _______________
0.0002003 : ______________ , _______________
4. Escribe el número completo (con todos los dígitos) a partir del
número en notación
científica. No debes redondear.
2.045x1012 : _______________________________________
2.045x10-12 : _______________________________________
2.045x100 : _______________________________________
3.478x10-10 : _______________________________________
2.345x106 : _______________________________________
2.003x10-1 : _______________________________________
5. Si el valor considerado como real es de 3.6 kg y una de las
medidas realizadas era
de 3.5; halle el error relativo porcentual y el error
absoluto.
6. Un alumno realiza una reacción química de desprendimiento de
gases. Quiere
determinar el volumen de gas desprendido para lo que realiza la
experiencia cuatro
veces. Los resultados obtenidos son: 100.0 cm3; 95.0 cm3; 105.0
cm3; 95.0 cm3.
Calcule:
66
a) El volumen del gas producido en las condiciones del laboratorio,
que se
puede tomar como valor real.
b) El error absoluto de la medida de 105.0 y 95.0 cm3.
c) El error relativo (en tanto por ciento) de la medida de 105.0 y
95.0 cm3.
7. Sea el valor exacto de 89.4635 m de longitud de un puente y
89.46339 m como
valor calculado, hallar el número de cifras exactas y el número de
decimales
exactos.
8. Se trata de determinar el tiempo que tarda un coche en pasar de
0 a 100 km/h a
máxima potencia, en un circuito cerrado de velocidad. Este es uno
de los datos que
se utilizan para promocionar los vehículos. Previamente se asume
que la
experiencia tendrá errores experimentales difíciles de eliminar:
tiempo de reacción
del conductor, respuestas inespecíficas del motor, tiempo
atmosférico (humedad,
viento), etc. Para intentar reducirlas se ha repetido la
experiencia varias veces
(cinco), dando como resultado los siguientes tiempos: 11.2 s; 10.9
s; 11.1 s; 11.0 s;
10.8 s.
a) ¿Qué cifra debes poner como tiempo que tarda el vehículo en
pasar de cero a
100 km/h?
b) ¿Cuál es el error absoluto de cada medida?
c) ¿Cuál es el error relativo (en tanto por ciento) de cada
medida?
d) A la vista de los resultados, ¿cuál crees que debería ser la
incertidumbre
mínima de los resultados?
y
Compare con el valor verdadero, 2,485168x10-4, y discuta los
resultados. Use 10
términos para evaluar cada serie.
10. Determine el número de términos necesarios para aproximar las
siguientes
funciones, usando la serie de Taylor.
a)
1
1
, para |x| < 1, para x = 0.5 con 5 cifras significativas
b)
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
67
11. Estime el error cometido al calcular sen 6 con un polinomio de
Taylor de 5°
grado.
12. Calcule el grado del polinomio para obtener una aproximación de
1 e con un
error menor a 10-4.
MÉTODOS NÚMERICOS con VBA
69
RAÍCES DE ECUACIONES
70
INTRODUCCIÓN
En este capítulo estudiaremos uno de los problemas básicos de la
aproximación
numérica: el problema de la búsqueda de las soluciones de una
ecuación o de un
sistema de ecuaciones.
Los métodos numéricos que se dan en este capítulo sirven para
obtener
aproximaciones a las soluciones cuando no sea posible obtener
soluciones exactas con
métodos algebraicos.
0f x
se desea encontrar el valor o valores de x que hacen que se cumpla
la igualdad, donde
en general, f es una función no lineal de x, es decir, que no puede
expresarse como
0 1f x c c x , donde c0 y c1 son constantes. A los valores de x que
hacen que se
cumpla la igualdad se les denomina raíces de la ecuación f(x) =
0.
Geométricamente, una raíz de una función representa un punto donde
la gráfica de f(x)
cruza al eje x. En la figura 3.1, vemos que la raíz es x = 1.
0.5 1 1.5 2
71
Figura 3.1: Representación geométrica de la raíz de una
ecuación.
Es importante diferenciar los términos de “Ecuaciones algebraicas”
y “Ecuaciones
trascendentales”.
Ecuación algebraica, por definición una función dada por y = f(x)
es algebraica
si se expresa de la siguiente forma:
1 2 1
1 2 1 0 0n n n
donde, f es un polinomio de i-ésimo orden en x.
Los polinomios son un tipo de funciones algebraicas que
generalmente se
presentan como:
n
n nf x a a x a x a x a x
donde, n es el orden del polinomio y a son las constantes.
Algunos ejemplos de ecuaciones algebraicas:
2 3 6
y
2
Ecuaciones trascendentales, son funciones que nos algebraicas.
Comprenden las
funciones trigonométricas, las funciones exponenciales, las
funciones
logarítmicas y otras menos populares. Tenemos algunos
ejemplos:
2ln 1f x x
MÉTODOS NÚMERICOS con VBA
2. MÉTODOS CERRADOS
Cuando deseamos encontrar la solución a una ecuación, digamos f(x)
= 0 partimos de
un intervalo [a, b] dentro del cual sabemos que se encuentra la
solución, y paso a paso
reducimos dicho intervalo hasta obtener [an, bn] tal que a s , como
la tolerancia,
decimos que hemos utilizado un método de intervalo o método
cerrado.
Iniciaremos analizando los métodos gráficos que nos permiten
representar tanto las
funciones como sus raíces.
2.1. Métodos gráficos
Este método básicamente se usa para localizar un intervalo donde la
función tiene
alguna raíz. Para esto describiremos dos procedimientos, el primero
consiste en
descomponer la función principal en dos sub funciones y el segundo
se trata de
graficar directamente la función principal.
Descomposición de la función
Consideremos una función y = f(x) la cual es continua en todo un
intervalo [a, b],
dentro de la cual se encuentra por lo menos una raíz o cero para
f(x) = 0. Para
localizar los ceros de la función dada en gráfica, debe realizarse
lo siguiente:
1. La función considerada f(x) = 0 se descompone en otras dos, de
modo que
pueda expresarse de la forma:
1 2f x f x
La elección de estas dos funciones dependerá de la conveniencia
del
estudiante, ya sea por su rapidez de cálculo o por su similitud con
las formas
geométricas más populares: recta, círculo, parábola, etc.
2. Empleando una escala sencilla, graficar cada una de las
funciones halladas,
como se muestra en la figura 3.2.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
73
3. Teniendo en cuenta cierta exactitud que tenga el gráfico y las
escalas usadas,
será posible ubicar un cierto intervalo [a, b] dentro de la cual se
intersectan
las gráficas de las unciones halladas.
f1(x)
f2(x)
Figura 3.2: Intersección de las funciones f1(x) y f2(x).
Es evidente que el valor de x para el cual ambas curvas se
intersectan, será una
raíz o cero de f(x) = 0 puesto que es para este valor que las
funciones halladas se
hacen iguales.
Gráfica directa de la función
Sea y = f(x) una cierta función dada la cual es continua en todo el
intervalo para la
cual se ha definido. Dar solución a las ecuaciones de la forma f(x)
= 0 es
equivalente a calcular un cierto x tal que y = 0; por ello
buscaremos un intervalo
[a, b] lo suficiente pequeño.
A continuación, tenemos formas generales en la que puede ocurrir
una raíz al
graficar f(x) (ver figura 3.3).
Las formas a) y b) de la figura 3.3 muestran que f(a) y f(b) tiene
el mismo signo,
entonces no habrá raíces dentro del intervalo o habrá un número par
de ellos.
En cambio, las formas c) y d) muestran que f(a) y f(b) tiene signos
diferentes en
los puntos externos, entonces habrá un número impar de
raíces.
MÉTODOS NÚMERICOS con VBA
a) b)
c) d)
Figura 3.3: Formas generales en que puede ocurrir una raíz en [a,
b].
f(x)
a) b)
Figura 3.4: Formas especiales en que puede ocurrir una raíz en [a,
b].
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
75
Pueden ocurrir raíces múltiples cuando la función es tangencial al
eje x. Los
signos son opuestos, pero hay un número par de raíces, como se
muestra en la
forma a) de la figura 3.4.
Se pueden presentar funciones discontinuas donde los puntos
extremos de signo
opuestos contienen un número par de raíces, forma b) de la figura
3.4. En este
caso se requiere estrategias especiales para determinar las
raíces.
Ejemplo 3.1. Localizar las raíces de la función 2 2 4f x x x , en
el intervalo
sugerido de [-4, 4].
Solución:
Para encontrar por lo menos una raíz o cero la función se debe
hacer: f(x) = 0. Por
tanto, la función dada se puede escribir como:
2 4 2x x
Donde, 2
1f x x y 2 4 2f x x . Llevando estas funciones a un gráfico,
para ello implementamos en una hoja nueva lo siguiente:
Figura 3.5: Plantilla para la gráfica por descomposición.
MÉTODOS NÚMERICOS con VBA
76
Los valores para la variable X se hacen con incrementos de 1, para
esto en la
celda A5 con -4, luego en la celda A6 escribimos: =A5+1 y copiamos
hasta la
celda A13.
Para la implementación de las funciones 1 y 2, escribimos en las
celdas B5 y C5
respectivamente lo siguiente:
=A5^2
=4-2*A5
La gráfica de las funciones halladas se obtendrá de manera sencilla
empleando los
valores de la plantilla de la figura 3.5.
Gráfico 3.1: Determinación de las raíces de f(x),
descomposición.
Del gráfico 3.1 podemos indicar, que existe una raíz positiva en el
intervalo [1, 2],
mientras que existe también una raíz negativa en el intervalo [-4,
-3].
Igualmente, por el método de gráfico directo (ver gráfico 3.2), se
observa que la
curva de la función cruza al eje x, primero en intervalo [-4, -3] y
luego en el
intervalo [1, 2], indicándonos esto que existe dos raíces una
positiva y la otra
negativa. Para ello implementamos la plantilla de la figura
3.6.
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
77
Figura 3.6: Plantilla para la gráfica por método directo.
La función se implementa escribiendo en la celda B5 lo
siguiente:
=A5^2+2*A5-4
Gráfico 3.2: Determinación de las raíces de f(x), gráfico
directo.
MÉTODOS NÚMERICOS con VBA
78
Ejemplo 3.2. Localizar un intervalo donde la función arctan 1f x x
x
tenga una raíz.
Solución:
Nuevamente, para calcular la raíz o raíces de f(x) hacemos arctan 1
0x x , de
donde tenemos
arctan 1x x
Así, el problema equivale a encontrar el punto de intersección de
las gráficas de
las funciones 1 arctanf x x y 2 1f x x .
Nos plantearemos un intervalo inicial tentativo de [-2, 2], donde
los valores para
la variable X se hacen con incrementos de 0.5, para esto iniciamos
en la celda A5
con -2, luego en la celda A6 escribimos: =A5+0.5 y copiamos hasta
la celda A13
(ver figura 3.7).
Figura 3.7: Plantilla para la gráfica de f(x)=arctanx+x-1.
Para la implementación de las funciones 1 y 2, escribimos en las
celdas B5 y C5
respectivamente lo siguiente:
79
Conocemos bien las gráficas de estas funciones, mostradas en el
gráfico 3.3.
Gráfico 3.3: Determinación de las raíces de f(x)=arctanx+x-1.
De donde vemos claramente que un intervalo donde se encuentra la
única raíz es
el intervalo [0,1].
2
localice las posibles raíces.
Solución:
En este caso, para calcular la raíz o raíces de f(x) se realizará
directamente.
De acuerdo a lo planteado utilizamos el intervalo de [-10, 10],
donde los valores
para la variable X se hacen con incrementos de 2, para esto
iniciamos en la celda
B5 con -10, luego en la celda B6 escribimos: =B5+0.5 y copiamos
hasta la celda
B45 generando 41 valores (ver figura 3.8).
Luego para obtener los valores de la función f(x) escribimos en la
celda C5:
=(B5-1)/(B5+2)
Figura 3.8: Plantilla para la gráfica de f(x)=(x-1)/(x+2).
Se puede observar en la tabla de datos de la figura 3.8, que en el
dato 17 para x =
-2 el valor correspondiente a f(x) es #¡DIV/0!, esto nos indica que
Excel ha
realizado una división entre cero. En este caso el valor seria
indeterminado, por
tanto, no debería mostrar resultado alguno; para solucionar este
pequeño
inconveniente realizaremos el siguiente arreglo de la celda C5,
utilizando la
función condicional SI().
=SI(ESERROR((B5-1)/(B5+2)),"",(B5-1)/(B5+2))
y copiamos el formato hasta la celda C15.
A continuación, realizamos la gráfica de la función como se explicó
en ejemplos
anteriores.
81
En el gráfico 3.4, se pude ver que la función es discontinua en el
punto -2. Así
mismo, si es posible determinar la raíz, en este caso en el
intervalo de [-10, 10]
existe una sola raíz que es x = 1.
Gráfico 3.4: Determinación de las raíces de f(x)=(x-1)/(x+2).
MÉTODOS NÚMERICOS con VBA
EJERCICIOS CAP. 3.1
1. Utilizando el método de descomposición, localizar la raíz o
raíces de las siguientes
funciones:
a) 3 24 1 f x x x en [-4, 4]
b) 2
d) 1
f x x
en [0.01, 10]
2. Utilizando el método directo, localizar la raíz o raíces de las
siguientes funciones:
a) xf x xe en [-2, 10]
b) 2 1 f x x x en [-5, 5]
c) 2
x x f x
x en [-6, 6]
d) 3 3 2 f x x x en [-3, 2]
e) 2cosf x x en [-3, 3]
3. Asocia cada gráfica con su correspondiente ecuación:
I
II
III
IV
[ ] 23 xf x [ ] 20.25f x x [ ] 3 2 xf x [ ] 22f x x
Alcides Ramos Calcina – Víctor Alfredo Paniagua Gallegos
83
4. Represente gráficamente la función y f x , sabiendo que la
gráfica de
y f x es la siguiente:
5. Aproxime las raíces de las siguientes ecuaciones a través del
método gráfico.
a) sin 3 cos f x x x en [0, ]
b) 2 xf x e x en [-4, 4]
MÉTODOS NÚMERICOS con VBA
2.2. Método de Bisección
El método de bisección se basa en el teorema del Valor
Intermedio.
f(x)
xa
b
f(b)
f(a)
Figura 3.9: Evaluación de f(a) y f(b) en f(x).
Se trata de encontrar los ceros de f(x) = 0, donde f(x) es real y
continua en el
intervalo [a, b] con f(a) y f(b) con signos opuestos. Es decir,
f(a).f(b) < 0, entonces
hay al menos una raíz en intervalo [a, b] (ver figura 3.9).
De acuerdo al teorema del Valor Intermedio, existe un p [a, b] tal
que f(p) = 0.
Sea f(x) continua en un intervalo [a, b] y supongamos que f(a) >
f(b).
Entonces para cada z tal que f(a) > z > f(b), existe un x0
[a, b] tal que f(x0) =
z. La misma conclusión se obtiene para el caso que f(a) <
f(b).
Básicamente el Teorema del Valor Intermedio nos dice que toda
función
continua en un intervalo cerrado, una vez que alcanzó ciertos
valores en los
extremos del intervalo, entonces debe alcanzar todos los valores
intermedios.
En particular, si f(a) y f(b) tienen signos opuestos, entonces un
valor
intermedio es precisamente z = 0, y por lo tanto, el Teorema del
Valor
Intermedio nos asegura que debe existir x0 [a, b] tal que f(x0) =
0, es decir,
debe haber por lo menos una raíz de f(x) en el intervalo [a, b]
.
Teorema del Valor Intermedio
85
El método consiste en dividir en la mitad el intervalo y localizar
la mitad que
contiene a p.
El proceso se repite hasta lograr la precisión deseada. Veamos
gráficamente dos
procesos iterativos en la figura 3.10.
Método: Sea f(x) continua.
i) Encontrar valores iniciales a y b que encierren la raíz, tales
que f(a) y f(b)
tienen signos opuestos, es decir:
f(a).f(b) < 0,
ii) La primera aproximación a la raíz xr, se toma igual al punto
medio entre a y
b, se determina mediante:
iii) Evaluar f(xr), para determinar en qué sub intervalo esta la
raíz.
a) Si f(a).f(xr) < 0, entonces la raíz se encuentra en el
intervalo [a, xr]
inferior; por tanto, b = xr y vuelve al paso ii).
b) Si f(a).f(xr) > 0, entonces la raíz se encuentra en el
intervalo [xr, b]
superior; por tanto, a = xr y vuelve al paso ii).
c) Si f(a).f(xr) = 0, la raíz es igual a xr; termina el
cálculo.
El proceso se vuelve a repetir con el nuevo intervalo, hasta que: a
s , es
decir,
.100%
s
Figura 3.10: Proceso iterativo del método de Bisección.
Ejemplo 3.4. Sea 2 2xf x x , aproxime la raíz de la ecuación hasta
que
1%a .
Solución:
Antes de aplicar el método de bisección, es primordial ubicar el
intervalo donde
se encuentra la raíz, si hubiese. Para ello graficamos la función
en un intervalo
tentativo de [0, 3].
Para encontrar la raíz se debe hacer: f(x) = 0. Por tanto, la
función dada se puede
escribir como: 2 2xx
87
Donde, 2
1f x x y 2 2xf x . Llevando estas funciones a un gráfico,
para
ello implementamos en una hoja nueva lo siguiente:
Figura 3.10: Cuadro de valores de f(x1) y f(x2).
En el gráfico 3.5 observamos que las curvas de las funciones se
intersectan
aproximadamente en el punto 2. Por tanto, podemos indicar que
existe una raíz
positiva en el intervalo [0, 3]. Por lo tanto, este intervalo es
nuestro punto de
partida.
Gráfico 3.5: Determinación de las raíces de 2 2xf x x .
MÉTODOS NÚMERICOS con VBA
88
Ahora para poder aplicar el método de bisección, debemos verificar
que f(0) y f(3)
tengan signos opuestos:
2 00 0 2 1f y 2 33 3 2 1f entonces 0 . 3 1 0f f
Por tanto, f x si es continua en el intervalo [0, 3], iniciamos con
los cálculos:
i) Calculamos el punto medio xr
1
ii) Evaluamos 2 1.51.5 1.5 2 -0.57843f
Como 0 . 1.5 0.57843 > 0f f , entonces la raíz se encuentra en
el
intervalo [1.5, 3]; es decir, a = x1 = 1.5
Nota: En este punto todavía no se calcula el error aproximado
(a).
iii) Seguidamente calculamos el punto medio x2.
2
2 1
2.25 a
x x
Continuamos con el proceso puesto que 33.33% > 1%. En la Tabla
3.1 se
presenta un resumen este método.
Se observa que se necesita realizar 8 iter