You are on page 1of 87

Indice

general
1. Breve manual de Mathematica
1.1. Introduccion al Mathematica . . . . . . .
1.1.1. Interfase de Cuaderno . . . . . . .
1.2. Parentesis, corchetes y llaves . . . . . . .
1.3. Errores . . . . . . . . . . . . . . . . . . . .
1.3.1. Aritmetica . . . . . . . . . . . . . .

1.4. Funciones matematicas


de interes . . . .
1.5. Conceptos de Programacion . . . . . . . .
1.6. Funciones en una variable . . . . . . . . .
1.7. Expresiones logicas . . . . . . . . . . . . .
1.7.1. Instruccion de retorno . . . . . . .
1.7.2. Instrucciones condicionales . . . .
1.7.3. Breves conceptos de programacion
1.8. Funciones de Bucle . . . . . . . . . . . . .
1.8.1. BUCLES . . . . . . . . . . . . . . .

2. Preliminares matematicos
2.1. Introduccion . . . . . . .
2.1.1. Algoritmos. . . . .

2.2. Repaso del calculo


. . . .
2.2.1. Problemas . . . .

.
.
.
.

.
.
.
.

3. Races de ecuaciones
3.1. Introduccion . . . . . . . . .
3.1.1. Problema . . . . . . .
3.2. El algoritmo de la biseccion
3.3. Iteracion del punto fijo . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

y aproximacion
polinomica

4. Interpolacion
4.1. Introduccion . . . . . . . . . . . . . . . . .
4.2. Interpolacion y el polinomio de Lagrange
4.3. Algoritmo de la Newton . . . . . . . . . .
4.4. Algoritmo de la Newton . . . . . . . . . .
4.5. Algoritmo de la Secante . . . . . . . . . .
1

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

3
3
4
5
6
7
8
9
16
17
18
19
20
20
21

.
.
.
.

26
29
32
35
44

.
.
.
.

45
45
46
47
49

.
.
.
.
.

58
58
61
66
66
67


INDICE
GENERAL

4.6. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1. Interpolacion de Lagrange . . . . . . . . . . . . . . . . . . . . .
4.6.2. Interpolacion con polinomios de Lagrange . . . . . . . . . . . .
4.6.3. Algoritmo de diferencias divididas . . . . . . . . . . . . . . . .
4.6.4. Algoritmo de diferencias divididas . . . . . . . . . . . . . . . .
4.6.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Diferenciacion e integracion numerica . . . . . . . . . . . . . . . . . .
4.7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7.2. Diferenciacion numerica . . . . . . . . . . . . . . . . . . . . . .
4.7.3. Diferenciacion va interpolacion polinomica . . . . . . . . . . .
4.8. Integracion numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.8.1. ALGUNAS FORMULAS


CERRADAS DE NEWTON-COTES
4.8.2. Regla del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.3. Regla del Simpson . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.5. Algoritmo de Romberg . . . . . . . . . . . . . . . . . . . . . . .
4.8.6. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9. Interpolacion de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9.1. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10.Ecuaciones diferenciales ordinarias . . . . . . . . . . . . . . . . . . . .

J. R. Ticona Parisaca

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

68
68
68
69
69
70
71
71
71
72
73
73
74
76
77
79
83
83
85
86

UNA

Captulo 1
Breve manual de Mathematica

Este trabajo da una introduccion a Mathematica, concentrandose


en usar Mathematica version 7, ; 8 o 9 como sistema interactivo para resolver problemas. Cuando lo haya
ledo, debe tener suficiente conocimiento de Mathematica para abordar muchas clases

de problemas practicos.

al Mathematica
1.1. Introduccion

Mathematica es un programa que permite hacer calculos


matematicos
complicados
con gran rapidez. Para entendernos, es como una calculadora gigante a la que no solo

podemos pedirle que haga calculos


numericos, sino que tambien hace derivadas, calculo

de primitivas, representacion grafica


de curvas y superficies, etcetera.

Abordaremos en esta practica


una iniciacion a Mathematica partiendo desde cero, in
tentando poner de manifiesto su utilidad a la hora de trabajar con expresiones matematicas complicadas, bien sean e stas numericas o simbolicas, permitiendo hacer operaciones
en poco coste de tiempo y con bastante facilidad.

Pretendemos con esta practica


introducir al alumno en el manejo de este potente pro
grama que puede servirle de utilidad en futuros calculos
que deba realizar. Esencialmente

vamos a aprender a utilizar el programa, por lo que esta practica


trata de explicar como
el programa
pedirle a Mathematica que haga aquello que nosotros deseamos. Ademas,
puede utilizarse para corregir los problemas propuestos al alumno en la clase de problemas.
A pesar de la utilidad del programa, debemos hacer hincapie en el hecho de que es ne
cesario por parte del alumno un conocimiento matematico
teorico de todas las funciones

y sentencias que vamos a usar. Por ejemplo, aunque una calculadora multiplica numeros con suma facilidad, solo nos percatamos de su potencia en cuanto conocemos dicha
lento. Con Mathematica
operacion y somos capaces de realizarla de un modo mucho mas
ocurre lo mismo. Solo conociendo teoricamente las operaciones que Mathematica realiza
3

Metodos Numericos
nos percataremos de su utilidad.

1.1.1. Interfase de Cuaderno


Cuando se arranca Mathematica, aparece una pantalla blanca vaca. En ella podemos escribir aquellas operaciones que queremos que realice. Una vez tecleada la operacion, hemos de pulsar las teclas < shift > + < enter > para obtener el resultado. Por
ejemplo, supongamos que queremos hacer la operacion 2 + 2. Teclearemos entonces
2+2

en la pantalla. A continuacion pulsamos < mayusculas


> + < enter > o la tecla <
intro > en el teclado numerico y a continuacion aparecera en pantalla

Todas las operaciones realizadas por el programa cuando se pulsan las teclas mayusculas+

enter tienen asignadas un numero


de entrada marcado por In[ ] y el mismo numero
de

salida cuando se realiza la operacion marcado por Out[ ]. Podra aparecer unicamente
un

numero
de entrada, como veremos posteriormente. Al ir explicando las diferentes operaciones que Mathematica realiza, iremos escribiendolas en la forma en que el programa
lo escribe en la pantalla de ordenador.
de la suma se pueden realizar las siguientes operaciones algebraicas como si
Ademas
se tratara de una calculadora:
x+y
xy
x/y
xy
xy
y
x

suma de numeros

resta de numeros

division de numeros

producto de numeros
potencia xy

Cuando Mathematica realiza alguna de las siguientes operaciones, por ejemplo 1/3 +
2/7, operara estos numeros ofreciendo siempre su valor exacto, es decir, se tiene

J. R. Ticona Parisaca

UNA

Metodos Numericos

util
tener el valor de este numero

Sin embargo, a veces nos es mas


expresado con cifras
decimales. Para ello se tienen las sentencias
x//N

N[x]

N[x, n]
Las primeras escriben el numero x con seis cifras significativas, mientras que la segunda
escribe dicho numero con un numero n de cifras significativas que nosotros prefijamos.
Por ejemplo, si escribimos

obtendremos el resultado con 6 cifras significativas. Si por el contrario escribimos

lo obtendremos con un numero


10 cifras significativas.
En caso de las operaciones numericas tambien tendremos una valor numerico aproxi numero

mado con seis cifras significativas si en la operacion escribimos algun


en forma
decimal. As, al teclear

Mathematica distingue as entre operaciones algebraicas exactas y operaciones numericas aproximadas.

1.2. Parentesis,
corchetes y llaves
Mathematica distingue entre parentesis, corchetes y llaves. Cada uno de estos elementos realiza una labor bien diferenciada en la estructura interna del programa. A grosso
modo podemos indicar las siguientes generalidades:
Los parentesis se usan en las operaciones algebraicas para indicar la preferencia a
la hora de hacer las operaciones. As el parentesis de

J. R. Ticona Parisaca

UNA

Metodos Numericos

se usa para indicar que primero hacemos la suma 1 + 3 y luego dividimos entre 7.

Hemos de senalar
que Mathematica sigue el orden conocido de preferencia sobre
las operaciones.
As por ejemplo, si escribimos

vemos como el resultado cambia notablemente al realizarse en primer lugar la division y posteriormente la suma.
Los corchetes [ . ] se usan para escribir el argumento de una funcion bien sea ma
tematica,
bien sea una operacion especifica del programa. Por ejemplo la funcion
senx se escribe Sin[x], y para escribir un numero x real con seis cifras significativas
escribimos N[x].
Las llaves { } se utilizan para asignar valores numericos a las variables, por ejemplo a la hora de calcular lmites de funciones. Tambien se usan para construir con
juntos o listas de objetos matematicos,
como por ejemplo matrices o vectores.
En general es conveniente tener claro en que momento se han de emplear los parentesis, los corchetes y las llaves, ya que si confundimos su uso y escribimos por ejemplo Sin{x}

o Sin(x) en lugar de Sin[x], el programa nos lo hara saber mandandonos


un mensaje de
error de color azul.

1.3. Errores

Puede ocurrir que al teclear una operacion en Mathematica y pulsar las teclas mayusculas+
enter, el programa nos devuelva una salida conteniendo frases de color azul. Esto ocurre
tipo de error o problema que el programa detecta. Estos errores pueden
cuando hay algun

ser basicamente
de dos tipos:
Errores en la sintaxis de una sentencia. Por ejemplo al escribir [1 + 2],3 en vez de
(1 + 2) 3 o N(.) en vez de N[.].

J. R. Ticona Parisaca

UNA

Metodos Numericos

Errores producidos porque la expresion matematica


o la operacion realizada tiene
problema, aunque este bien escrita. Por ejemplo, si intentasemos

algun
calcular el
determinante de una matriz no cuadrada.
Otras veces, el programa puede devolver un resultado erroneo aunque no nos escriba
error a pesar de que e ste existe. Por
frases azules. Es decir el programa no detecta ningun
esto es necesario saber que estamos esperando de la operacion que hemos pedido que el
programa nos haga para as criticar el resultado y valorarlo en su justa medida. No debes

nunca de olvidar que el programa calcula rapidamente,


pero es tonto.

1.3.1. Aritmetica
Usted puede hacer aritmetica con Mathematica tal y como lo hara con una calculadora.

Aqu tenemos la suma de dos numeros.

Con indicamos el producto de dos numeros.

Con el espacio en blanco tambien se indica el producto de dos numeros.

Usted puede digitar operaciones aritmeticas haciendo uso de los parentesis.

J. R. Ticona Parisaca

UNA

Metodos Numericos

facil
de leer.
Los espacios no son necesarios, aunque a menudo hacen su entrada mas
Las operaciones aritmeticas en Mathematica se agrupan de acuerdo con las conven

ciones estandares
de la matematica.
Como es usual, 2+3/7, por ejemplo, significa 2+(3/7),
y no (2 + 3)/7. Usted puede controlar siempre la forma de agrupar explcitamente usando
parentesis.
Este resultado se da en notacion cientfica.

Usted puede incorporar numeros


en notacion cientfica de esta forma.

1.4. Funciones matematicas


de interes

Mathematica posee una serie de funciones matematicas


predefinidas que se escriben
del siguiente modo:

Sqrt[x] = x
Exp[x] = ex
Log[x] = logx
Log[b, x]=logb x
Sin[x] = senx
Cos[x] = cosx
ArcSin[x] = arcsin x ArcCos[x] = arccos x
Tan[x] = tan x
ArcTan[x] = arctan x
Es importante destacar que hemos de escribir las funciones tal y como se detalla en la
anterior tabla, respetando la sintaxis totalmente. Mathematica distingue entre letras

mayusculas
y minusculas,
y todas las funciones empiezan con letra mayuscula.
Entonces podemos calcular

J. R. Ticona Parisaca

UNA

Metodos Numericos

interesantes son:
Las constantes matematicas
mas
Pi = 3, 14159
E = e 2, 71828
Infinity =
I = i=

Degree = conversion de grados a radianes


Por ejemplo, para calcular el seno de 20 grados sexagesimales escribiramos

1.5. Conceptos de Programacion


Muchos metodos numericos se basan en la iteracion o repeticion de unos determinados

calculos,
con el objeto de aproximarse a la solucion de un problema que no se pede resolver
de forma exacta.

Tambien es necesario, imponer condiciones a dichos calculos,


como criterios de parada,
distincion de posibles casos en funcion de los cuales se realizan las diferentes operaciones.

J. R. Ticona Parisaca

UNA

10

Metodos Numericos

Por ello, se debe conocer algunas formas de utilizar estas iteraciones o condiciones, que
son muy comunes en los distintos lenguajes de programacion.
Listas
Una lista es una cadena de expresiones de la forma:
{expresi
on 1, expresi
on 2,...,expresi
on n}
Son de gran utilidad en los programas como medio de almacenamiento de datos.
Variables
Son los elementos fundamentales de la programacion.
Por medio de ellos, se asignan y cambian los valores que intervienen en los programas
y se almacenan datos.
Los lenguajes de programacion, tienen definidos ciertos tipos generales de variables,
en las que han de encuadrarse cada una de las variables que integran un programa.

En general Mathematica reconoce como variable toda expresion que no sea un numero, una palabra reservada del lenguaje o un comando.
Mathematica incorpora unos comandos especiales para simplificar el proceso de asignacion en algunos casos especficos.
Cuando se desee que una variable cambie su contenido en una unidad, se podra utilizar
el operador incremento ++
el operador decremento
Existen dos opciones al utilizar estos operadores:
Utilizarlos como pre-incrementales: la variable cambia su contenido antes de ser
utilizada.
Utilizarlos como post-incrementales: la variable cambia su contenido despues de ser
utilizada.

x
x++
x
++x

J. R. Ticona Parisaca

UNA

11

Metodos Numericos

Ejemplo 1. Sumar 2 con la variable x, pre-incrementar y post-incrementar la variable en


distintas posiciones.

Operadores basicos
!
||

no
y
o

Figura 1.1: Funciones logicas

==
!=
<=
<
>=
>

Igual
no igual
menor o igual
menor
mayor o igual
mayor

Figura 1.2: Signos de igualdad o desigualdad

J. R. Ticona Parisaca

UNA

12

Metodos Numericos
++ var
var
var ++
var
Var + = d
Var = d
Var = d
Var / = d

Var aumenta en 1 y devuelve el nuevo valor


Var disminuye en 1 y devuelve el nuevo valor
Devuelve var, y luego aumenta en 1
Devuelve var, y luego disminuye en 1
Var aumenta en d y devuelve el nuevo valor
Var disminuye en d y devuelve el nuevo valor
Multiplica var por d y devuelve el nuevo valor
Divide por d y devuelve el nuevo valor

Figura 1.3: Smbolos para modificar valores

Operadores bucles

Un bucle" es un proceso repetitivo que se realiza un cierto numero


de veces. Mathematica dispone de una gran cantidad de posibilidades que abarcan distintas situaciones
que puedan plantearse.
DO
WHILE
FOR
1. Do
Sintaxis 1:
Do[expresion, n]
n veces la expresion.
Evalua
puede ser un solo comando, o una cadena de comandos, que se unen
Expresion:
una expresion que contiene el operador ;, se
con el operador ;. Cuando se evalua
cada uno de los comandos que forman la cadena, pero solo se muestran en
evalua

pantalla el resultado del ultimo,


as en la sintaxis anterior, la expresion no se limita
a un solo comando sino que puede tener la complejidad y la cantidad de ellos que sea
requerida.
Sintaxis 2:
Do[expresion, {i, imin , imax , di} ]
repetidamente la expresion para cada uno de los valores de i comenzando
Evalua

por imin hasta imax incrementandose


sucesivamente en el valor de di.
Nota. En este comando pueden no especificarse las opciones di o imin , en cuyo caso
se toma por defecto el valor 1.
Si no se especifica el valor inicial, este toma el valor 1.
Ejemplo 2. Usar la variable n para acumular una suma, utilizar el bucle Do, para
repetir 5 veces.

J. R. Ticona Parisaca

UNA

13

Metodos Numericos

Ejemplo 3. Calcular y mostrar el cuadrado, de los 4 primeros numeros


naturales
iniciadas en 1, generar el bucle con Do.

2. While
Es un comando para repetir procesos controlados por una cierta condicion.
Sintaxis:
While [ condicion, expresion ]
expresion
mientras la condicion
es cierta.
Evalua
Ejemplo 4. Ejecutar un bucle While, mientras un acumulador denominado suma
sea menor o igual al valor 100, el acumulador se debe construir con el cubo de una
serie de valores, que inician en 1 y se incrementan con pasos 1. Mostrar los valores
del acumulador en cada iteracion.

3. For
Permite programar tareas, en las que se necesita la repeticion de un cierto proceso,
con la evaluacion paralela de ciertos procesos de control hasta que se verifique una

J. R. Ticona Parisaca

UNA

14

Metodos Numericos
condicion determinada.
La sintaxis de la orden es la siguiente:
For [ expresion inicial, condicion, incremento, expresion]

Ejemplo 5. Realizar un bucle con For, con la expresion inicial de i igual a 1, condicion
de parada cuando i sea menor o igual a 5, y realizar incremento del paso igual 2, para
resolver la expresion i3 .

Funciones condicionales: Sentencia IF


Esta sentencia comprueba si se verifica una condicion, despues, si la condicion es verdadera Mathematica ejecutara una expresion1, y si es falsa ejecutara otra expresion2.
Su sintaxis es la siguiente:
If [ condicion, expresion, expresion]
Nota. La expresiones 1 y 2 pueden estar formadas por varias o rdenes separadas por
punto y coma.
Cuando se habla de condicion, se esta hablando de una expresion booleana, es decir
que puede evaluarse como cierta o como falsa.
Ejemplo 6.Ingresar una lista de tres elementos, sea m con valores 1, 2, 3 y verificar que
el primer elemento sea mayor o igual que la suma de los dos elementos restantes.

Ejemplo 7. Ingresar una lista de tres elementos, sea m con valores 6, 2, 3 y verificar
que el primer elemento sea mayor o igual que la suma de los dos elementos restantes.

J. R. Ticona Parisaca

UNA

15

Metodos Numericos

Orden: Break [ ]
La finalidad de esta orden es, interrumpir un bucle en el momento que se ejecuta y no
terminar todos los pasos que faltan hasta la condicion final del bucle.
Ejemplo 8. Dentro de un bucle For, evaluar si el logaritmo hallado de un valor i es mayor
que 2, en tal caso parar la iteracion con la orden Break, en caso contrario seguir calculando los logaritmos.

Comando: WHICH
Controla el programa a traves de varias condiciones.
Su sintaxis es la siguiente:
Which [ condicion1 , expresion1 , condicion2 , expresion2 , , condicionn , expresionn ]
consecutivamente las condiciones 1, 2, . . . hasta que encuentra una cierta y deEvalua
vuelve el valor de la expresion asociada.

Colocando True como ultima


condicion, se consigue evaluar la ultima
expresion si ninguna de las condiciones anteriores ha resultado cierta.

J. R. Ticona Parisaca

UNA

16

Metodos Numericos
Ejemplo 9. Controlar las siguientes condiciones utilizando el comando Which.

,
si x 1

x
2,
si x 1
f(x) =
2

,
si x 2

)
x ( 5
Sen 6 + (x 2) , si x 2

1.6. Funciones en una variable


Veamos como se define una funcion con Mathematica mediante dos ejemplos.
f[x_] := x3
f[2]
8
f[x_] := Cos[x]
f[Pi]
-1

Ejercicios
1. Define la funcion g(x) = tan(x/4)
2. Determine g()

J. R. Ticona Parisaca

UNA

17

Metodos Numericos
Observaciones

1. Hay que tener en cuenta el uso de "_" despues de la variable independiente x y de


":=". Que pasa si no se utilizan?
g[x] := x - 3
g[6]
g[6]
2. Para que la definicion sea correcta, el smbolo x debe ser una variable, es decir, no
debe tener asignado valor alguno antes de definir la funcion. Observa la salidas del
siguiente ejemplo.
x = 4;
f[x_] := x2
f[x]
f[x]
(*f indica la derivada de la funci
on f*)
16
8

Funciones en varias variables

Se definen y evaluan de manera analoga


al caso de una variable.
f[x_, y_] := x2 + y3
f[2, 3]
31

1.7. Expresiones logicas


Mathematica permite trabajar con expresiones logicas, las cuales se construyen a
partir de los conectivos y operadores logicos que este programa manipula.

Los conectivos logicos


son
==

igualdad

! =

desigualdad

<

menor que

>

mayor que

J. R. Ticona Parisaca

UNA

18

Metodos Numericos
<=

menor o igual que

>=

mayor o igual que

Los operadores logicos


son
&& o (And[ , ])
|| o (Or[ , ])
Xor[ , ]
! o (Not[ , ])

conjuncion y
disyuncion o

disyuncion exclusiva.
negacion.

As, si p y q son dos expresiones logicas que pueden tomar el valor True (verdadero) o
False (falso), se tiene que:
El operador p && q (o And[p,q]) es True si los dos argumentos (p y q) son True; es
False si cualquiera de los argumentos es False.
El operador p||q (u Or[p,q]) es True si cualquiera de los argumentos es True; es
False si los dos argumentos son False.
El operador Xor[p,q] es True si uno de los dos argumentos es True; es False si los
dos argumentos son True o los dos son False.
El operador !p (o Not[p]) es False si p es True; es True si p es False.
Ejemplo 1.1. Para ensayar con expresiones logicas, demos a la variable x el valor 3.
Clear[x]
x = 3;
x == 5
False

de retorno
1.7.1. Instruccion
Una instruccion que no puede faltar en ningun
algoritmo es contestar. Indica que lo
que viene a continuacion es el resultado de la evaluacion de la funcion, o sea, lo que la
funcion devuelve. Ese resultado puede ser un numero,

un par de numeros,

un conjunto de
numeros,

etc; depende de lo que se pretende que conteste el algoritmo, por ejemplo:


Para calcular el maximo

de un conjunto de numeros,

contestara un numero

Un algoritmo para calcular el cociente y resto de la division entre dos numeros

naturales contestara un par ordenado


Un algoritmo para obtener todos los primos menores o iguales que un cierto numero

natural, este devolvera un conjunto de numeros.

Si bien es obligatorio que aparezca al menos una vez, es frecuente que la instruccion contestar aparezca varias veces es un algoritmo, como ocurre en los siguientes ejemplos:

J. R. Ticona Parisaca

UNA

19

Metodos Numericos
de retorno en Mathematica
Definir la Instruccion
La instruccion contestar expresion en Mathematica escribiendo
Return[expresi
on]

Por ejemplo, Return[10*c] producira que se conteste el valor que resulte de multiplicar por 5 lo que tenga asignado la variable c, veamos
c = 2;
Return[5 c]
Return[10]
Si la expresion que hay que contestar es una nupla ordenada, no olvidarse de usar
llaves, en lugar de parentesis.
Por ejemplo, Return[{10*c, r}]
c = 2;
d = 4;
Return[{5 c, d2}]
Return[{10, 16}]

1.7.2. Instrucciones condicionales


Recordemos que, en nuestra notacion algortmica, las mismas responden al siguiente
esquema:
si (condici
on)
sino lista 2

lista 1

En Mathematica, se logran escribiendo lo siguiente:


If[condici
on, lista 1, lista 2]
(y si no hay lista 2, escribir
If[condici
on, lista 1]
Ejemplo 1.2. .
r = 0;
If[r == 0, a = 2, a = 5]
2

J. R. Ticona Parisaca

UNA

20

Metodos Numericos

r = 4;
If[r == 0, a = 2, a = 5]
5
Si la condicion es una proposicion compuesta en donde aparecen conjunciones y disyunciones de proposiciones simples, se debe usar && para y y || para o. Por ejemplo, para
implementar en Mathematica la instruccion condicional
si ((r>= 7 y r <= 23) o r > 50
sino sea a = 5

sea a=2

debe escribirse en Mathematica


r = 1; a = 2; b = 5;
If[(r >= 7 && r <= 23) || r > 50, a, b]
5

1.7.3. Breves conceptos de programacion

1.8. Funciones de Bucle


En general Mathematica reconoce como variable toda expresion que no sea un nume
ro, una palabra reservada del lenguaje o un comando.
Mathematica incorpora unos comandos especiales para simplificar el proceso de asignacion en algunos casos especficos.
Cuando se desee que una variable cambie su contenido en una unidad, se podra utilizar
el operador incremento "++"
el operador decremento "--"
Existen dos opciones al utilizar estos operadores:
Utilizarlos como preincrementales: la variable cambia su contenido antes de ser
utilizada.
Utilizarlos como postincrementales: la variable cambia su contenido despues de ser
utilizada.
X -X ++
-- X
++ X

J. R. Ticona Parisaca

UNA

21

Metodos Numericos

Ejemplo 1.3. Sumar 2 con la variable x, preincrementar y postincrementar la variable


en distintas posiciones.

1.8.1. BUCLES
Un bucle es un proceso repetitivo que se realiza un cierto numero

de veces. Mathematica dispone de una gran cantidad de posibilidades que abarcan distintas situaciones
que puedan plantearse.
DO
WHILE
FOR
1. Comando DO
Sintaxis 1:
Do[ expresion , n]
Evalua
n veces la expresion.

Expresion:
puede ser un solo comando, o una cadena de comandos, que se unen
con el operador ";". Cuando se evalua
una expresion que contiene el operador ";",
se evalua
cada uno de los comandos que forman la cadena, pero solo se muestran en
pantalla el resultado del ultimo,

as en la sintaxis anterior, la expresion no se limita


a un solo comando sino que puede tener la complejidad y la cantidad de ellos que sea
requerida.
Sintaxis 2:
Do [ expresion , {i, imin , imax , di}]
para cada uno de los valores de i comenzando
Evalua
repetidamente la expresion
por imin hasta imax incrementandose

sucesivamente en el valor de di.


Nota.
En este comando pueden no especificarse las opciones di o imin , en cuyo caso se
toma por defecto el valor 1.
Si no se especifica el valor inicial, este toma el valor 1.
Ejemplo 1.4. Usar la variable n para acumular una suma, utilizar el bucle Do,
para repetir 5 veces.
n = 2;
Do[n = n + 1, {3}]
Print[n]
5

J. R. Ticona Parisaca

UNA

22

Metodos Numericos

Ejemplo 1.5. Calcular y mostrar el cuadrado, de los 4 primeros numeros

naturales
iniciadas en 1, generar el bucle con Do.
Do[Print[n2], {n, 4}];
1
4
9
16

Comando WHILE
Es un comando para repetir procesos controlados por una cierta condicion.
While[condicion, expresion]
mientras la condicion
es cierta.
Evalua
expresion
Ejemplo 1.6. Ejecutar un bucle While, mientras un acumulador denominado suma
sea menor o igual al valor 100, el acumulador se debe construir con el cubo de una
serie de valores, que inician en 1 y se incrementan con pasos 1. Mostrar los valores
del acumulador en cada iteracion.
n = 1; suma = 0;
While[suma < 100, suma = suma + n3; n++;
Print["Valor de n = ", n, " suma es igual a ", suma]]
Valor
Valor
Valor
Valor

de
de
de
de

n
n
n
n

=
=
=
=

2
3
4
5

suma
suma
suma
suma

es
es
es
es

igual
igual
igual
igual

a
a
a
a

1
9
36
100

Comando FOR
Eses comando da las o rdenes que vamos a ver es el comando For, usada para realizar bucles. Un bucle es un proceso repetitivo que se realiza un cierto numero

de
veces.
Permite programar tareas, en las que se necesita la repeticion de un cierto proceso,
con la evaluacion paralela de ciertos procesos de control hasta que se verifique una
condicion determinada.
La sintaxis de la orden es la siguiente:
For[ expresion inicial, condicion, incremento, expresion ]
expresion inicial nos situa
en las condiciones de comienzo del bucle.

J. R. Ticona Parisaca

UNA

23

Metodos Numericos
condicion dira a Mathematica el momento de detener el proceso.
incremento expresara la forma de aumentar la condicion inicial.

expresion dira a Mathematica lo que tiene que realizar en cada paso; la expresion puede estar compuesta de varias sentencias separadas mediante punto y
coma.
Antes de introducirnos en el metodo teorico de resolucion, vamos a presentar algunas
sentencias sencillas de programacion que necesitaremos mas
adelante.

Ejemplo 1.7. De bucle puede ser el siguiente: supongamos que queremos obtener los
multiplos

de siete comprendidos entre 7 y 70; para ello, multiplicamos 7 por cada uno
de los numeros

naturales comprendidos entre 1 y 10, es decir, repetimos 10 veces la


misma operacion: multiplicar por 7. La sintaxis de la orden es la siguiente,
Para terminar de comprender bien el funcionamiento de esta orden puedes teclear y
evaluar los siguientes ejemplos: En primer lugar, intentemos escribir los multiplos

de
7 comprendidos entre 7 y 70:
For[i = 1, i <= 10, i = i + 1, Print[7* i]]
7
14
21
28
35
42
49
56
63
70
El segundo ejemplo consiste en hacer a Mathematica sumar de cinco en cinco, comenzando en 5 y terminando en 25.
For[i = 5, i <= 25, i = i + 5, Print[ i]]
5
10
15
20
25
El tercer ejemplo genera el seno de 1, el seno de 11 y el seno de 21.

J. R. Ticona Parisaca

UNA

24

Metodos Numericos
For[i = 1, i <= 30, i = i + 10, Print[ Sin[i]]]
Sin[1]
Sin[11]
Sin[21]

Ejemplo 1.8. Realizar un bucle con el comando For, con la expresion inicial de i
igual a 1, condicion de parada cuando i sea menor o igual a 5, y realizar incremento
del paso igual 2, para resolver la expresion i3 .
For[i = 1, i <= 5, i = i + 2, Print[i, "
1
3
5

", i3]]

1
27
125

Comando IF
Esta sentencia comprueba si se verifica una condicion, despues, si la condicion es verdadera Mathematica ejecutara una expresion1, y si es falsa ejecutara otra expresion2.
Su sintaxis es la siguiente,
If[condici
on, expresi
on1, expresi
on2]

La expresiones 1 y 2 pueden estar formadas por varias o rdenes separadas por punto y coma.
Cuando se habla de condicion, se esta hablando de una expresion booleana, es decir
que puede evaluarse como cierta o coma falsa.
Ejemplo 1.9. Ingresar una lista de tres elementos, sea m con valores {3, 1, 0} y verificar
que el primer elemento sea mayor o igual que la suma de los dos elementos restantes.
m = {3, 1, 0};
If[Part[m, 1] >= Part[m, 2] + Part[m, 3],
Print["Se cumple la condici
on, el valor es: ", Part[m, 1]],
Print["No se cumple la condici
on, el valor es = ", 2016]]
Se cumple la condici
on, el valor es: 3
Comando BREAK
La finalidad de esta orden es, interrumpir un bucle en el momento que se ejecuta y no
terminar todos los pasos que faltan hasta la condicion final del bucle.

J. R. Ticona Parisaca

UNA

25

Metodos Numericos

Ejemplo 1.10. Dentro de un bucle For, evaluar si el logaritmo hallado de un valor i es


mayor que 2, en tal caso parar la iteracion con la orden Break, en caso contrario seguir
calculando los logaritmos.
For[i = 1, i <= 30, i = i + 1,
Print["si i es igual a ", i, " el logaritmo natural ",
Log[i] // N]];
For[i = 1, i <= 30, i = i + 1,
If[N[Log[i]] <= 2, Print[N[Log[i]]],
Print["el logaritmo natural de ", i, " es mayor que ", 2]; Break[]]]

J. R. Ticona Parisaca

UNA

Captulo 2

Preliminares matematicos

El descubrimiento del Calculo


Isaac Newton (1642 1727) nacio el 25 de Diciembre de 1642 segun
el calendario Juliano, todava usado por entonces en Inglaterra, o el 4 de Enero de 1643 con respecto a
nuestro calendario Gregoriano. Fue profesor de matematicas

en Cambridge y luego jefe de


la casa de la moneda en Londres. Sus principales ideas fueron desarrolladas en 16641666
cuando estaba recluido en su casa natal de la aldea de Woolsthorpe, ya que el Trinity College de Cambridge, donde Newton era estudiante, estuvo cerrado por la epidemia de la
peste. All desarrollo sus ideas de la gravitacion universal, de la teora de los colores y
sobre la serie del binomio y el calculo

de fluxiones.
De naturaleza entonces tmida era reacio a publicar sus resultados, para as evitar
las posibles crticas y controversias de sus contemporaneos.

En Octubre de 1666 escribio un


tratado sobre fluxiones y en 1669 De analysi, un tratado sobre series infinitas que circulo en
forma de manuscrito entre los miembros de la Royal Society. Hay otro tratado sobre fluxiones y series infinitas de 1671 y otro sobre la cuadratura de curvas de 1693. Sin embargo
estos fueron publicados hasta bien tarde y algunos solo lo fueron despues de su muerte. De
analysis fue publicado en 1711 y el tratado sobre cuadratura de curvas, De Quadratura
Curvarum de 1693 aparecio como un apendice de su Opticksen 1704. Su obra mas
famosa,
donde expone su teora de la gravitacion universal, los Principia, fue publicada en 1687,
pero sus argumentos son muy geometricos y solo dan una idea de sus metodos del calculo

infinitesimal.
De entre el trabajo matematico

de Newton, profundo y poderoso, se pueden distinguir


algunos temas centrales. Estos son los desarrollos en serie de potencias, en especial el desarrollo del binomio, algoritmos para hallar races de ecuaciones y de inversion de series,
relacion inversa entre diferenciacion e integracion y el concepto de fluentes y fluxiones como variables que cambian en el tiempo. Newton estuvo muy interesado tambien en o ptica,
dinamica,

alquimia, cronologa de la historia y en la interpretacion de las sagradas escrituras.


26

CAPITULO
2. PRELIMINARES MATEMATICOS

27

Gotfried Wilhem Leibniz (1646 1716) era hijo del vice-presidente de la facultad de
filosofa de la universidad de Leipzig. De joven, estudio filosofa, derecho y lenguas clasi
cas. Su principal interes estuvo centrado en desarrollar una especie de lenguaje simbolico
para representar los conceptos fundamentales del pensamiento humano y las maneras de
combinar estos smbolos para llegar a conceptos mas
elaborados. Esta idea filosofica, que
tiene relacion con la combinatoria, fue ya algo en parte elaborada por franciscano mallorqun Ramon Llull (1235 1316) en su Arte Luliano.
Poco despues de acabar sus estudios, Leibniz empezo en 1672 una mision diplomatica

en
Paris donde permanecera unos cuatro anos
hasta 1676. All conocio a numerosos filosofos
y miembros de la alta sociedad, en particular al holandes C. Huygens (1629 1695), entonces miembro de la recien creada Academie Royale des Sciences. Como curiosidad Huygens
le planteo a Leibniz que hallara la suma de los inversos de los numeros

triangulares. Mediante sumas y diferencias Leibniz fue capaz de hallar la suma de esta serie y entonces
crecio su interes en estudiar matematicas,

cuya formacion hasta entonces haba sido muy


escasa. Huygens le recomendo que leyera la renovada edicion en latn de van Schooten de
la Geometrie de Descartes y los trabajos de Pascal. La entrada matematica

de Leibniz fue
entonces impresionante, ya que le llevo al descubrimiento del calculo

en 1675 y su elaboracion y publicacion en dos cortos artculos del Acta Eruditorum despues en 1684 y 1686, el
primero sobre calculo

diferencial y el segundo sobre calculo

integral.
El trabajo de Leibniz se conoce principalmente por los numerosos artculos que publico en Acta y por sus cartas personales y manuscritos que se conservan en Hannover.
Entre estos documentos estan
los manuscritos fechados el 25, 26 y 29 de Octubre y el 1 y
11 de Noviembre de 1675 donde Leibniz estudia la cuadratura de curvas y desarrolla su
calculo

diferencial e integral.
Uno de los ingredientes fundamentales
del calculo

de Leibniz son las reglas para la

manipulacion de los smbolos y dx de la integral y la diferencial. Esto refleja sus


ideas filosoficas de buscar un lenguaje simbolico y operacional para representar los conceptos e ideas del pensamiento de tal manera que los razonamientos y argumentos se puedan
escribir por smbolos y formulas. En matematicas

su calculo

es en parte esto, un algoritmo


para escribir los metodos geometricos de cuadraturas y tangentes por medio de smbolos
y formulas. Las otras dos ideas fundamentales del calculo

de Leibniz son la relacion entre la sumas de sucesiones con las diferencias de sus terminos consecutivos y el llamado
triangulo

caracterstico.
Leibniz paso la mayor parte del resto de su vida en Alemania, como consejero del duque
de Hannover. Aparte de la invencion y del desarrollo de su calculo

y en la solucion de problemas geometricos y de ecuaciones diferenciales, Leibniz tiene otros trabajos en solvabilidad de ecuaciones y determinantes y escribio y contribuyo enormemente en practicamente

todos los campos del conocimiento humano, religion, poltica, historia, fsica, mecanica,

tecnologa, logica, geologa, lingustica e historia natural.

J. R. Ticona Parisaca

UNA

CAPITULO
2. PRELIMINARES MATEMATICOS

28

Aunque oscuros y difciles de leer, los dos artculos de Acta de Leibniz de 1684 y 1686
fueron leidos por los hermanos Jakob y Johann Bernoulli. Jakob Bernoulli era profesor de
matematicas

en Basilea y su hermano Johann, unos trece anos


mas
joven, le sucedio despues en 1705. Ambos entendieron notablemente el simbolismo y los conceptos de Leibniz
y publicaron varios artculos en Acta a partir de 1690. Despues iniciaron una intensa y
productiva correspondencia con Leibniz, resolviendo en unos pocos anos
numerosos problemas en los que el nuevo calculo

demostro toda su fuerza, tales como el la isocrona, la


catenaria, la tractriz, la isocrona paracentrica o la braquistocrona.

En que fecha se creo la primera computadora?


ATANASOFF Y BERRY Una antigua patente de un dispositivo que mucha gente creyo que
era la primera computadora digital electronica, se invalido en 1973 por orden de un tribunal federal, y oficialmente se le dio el credito a John V. Atanasoff como el inventor de la
computador a digital electronica. El Dr. Atanasoff, catedratico

de la Universidad Estatal
de Iowa, desarrollo la primera computadora digital electronica entre los anos
de 1937 a
1942. Llamo a su invento la computadora Atanasoff-Berry, o solo ABC (Atanasoff Berry
Com puter). Un estudiante graduado, Clifford Berry,fue una util
ayuda en la construccion
de la computadora ABC.
Algunos autores consideran que no hay una sola persona a la que se le pueda atribuir
el haber inventado la computadora, sino que fue el esfuerzo de muchas personas. Sin embargo en el antiguo edificio de Fsica de la Universidad de Iowa aparece una p laca con la
siguiente leyenda: La primera computadora digital electronica de operacion automatica

del mundo, fue construida en este edificio en 1939 por John Vincent Atanasoff, matematico

y fsico de la Facultad de la Universidad, quien concibio la idea, y por Clifford Edward


Berry, estudiante graduado de fsica.
Mauchly y Eckert, despues de varias conversaciones con el Dr. Atanasoff, leer apuntes
que describan los principios de la computadora ABC y verla en persona, el Dr. John W.
Mauchly colaboro con J.Presper Eckert, Jr. para desarrollar una maquina

que calculara
tablas de trayectoria para el ejercito estadounidense. El producto final, una computadora
electronica completamente operacional a gran escala, se termino en 1946 y se llamo ENIAC
(Electronic Numerical Integrator And Computer), o Integrador numeric o y calculador
electronico. La ENIAC construida para aplicaciones de la Segunda Guerra mundial, se
termino en 30 meses por un equipo de cientficos que trabajan bajo reloj. La ENIAC, mil
veces mas
veloz que sus predecesoras electromecanicas,

irrumpio como un importante descubrimiento en la tecnologa de la computacion. Pesaba 30 toneladas y ocupaba un espacio
de 450 m2 , llenaba un cuarto de 6 m 12 m y con tena 18, 000 bulbos, tena que programarse manualmente conectandola

a 3 tableros que contenan mas


de 6000 interruptores.
Ingresar un nuevo programa era un proceso muy tedioso que requera das o incluso sema-

J. R. Ticona Parisaca

UNA

29

Metodos Numericos

nas. A diferencia de las computadoras actuales que operan con un sistema binario 0, 1 la
ENIAC operaba con uno decimal 0, 1, 2 . . . 9 La ENIAC requera una gran cantidad de electricidad. La leyenda cuenta que la ENIAC, construida en la Universidad de Pensilvania,
bajaba las luces de Filadelfia siempre que se activaba. La imponente escala y las numerosas aplicaciones generales de la ENIAC senalaron

el comienzo de la primera generacion


de computadoras.
En 1945, John von Neumann, que haba trabajado con Eckert y Mauchly en la Universidad de Pennsylvania, publico un artculo acerca del almacenamiento de programas.
El concepto de programa almacenado permitio la lectura de un programa dentro de la
memoria d e la computadora, y despues la ejecucion de las instrucciones del mismo sin
tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la
la llamada EDVAC (Eletronic Discrete-Variable Automatic Computer, es decir computadora aut omatica

electronica de variable discreta), desarrollada por Von Neumann, Eckert


y Mauchly. Los programas almacenados dieron a las computadoras una flexibilidad y
confiabilidad tremendas, haciendolas mas
rapidas

y menos sujetas a errores que los programas mecanicos.

Una computadora con capacidad de programa almacenado podra ser


utilizada para v arias aplicaciones cargando y ejecutando el programa apropiado. Hasta este punto, los programas y datos podra ser ingresados en la computadora solo con
la notacion binaria, que es el unico

codigo que las computadoras .entienden. El siguiente


desarrollo importante en el diseno
de las computadoras fueron los programas interpretes,
que permitan a las personas comunicarse con las computadoras utilizando medios distintos a los numeros binarios. En 1952 Grace Murray Hoper una oficial de la Marina de E.U.,
desarrollo el primer compilador, un programa que puede traducir enunciados parecidos
al ingles en un codigo binario comprensible para la maquina llamado COBOL (COmmon
Business-Oriented Languaje).

2.1. Introduccion
Al momento de aplicar las Matematicas

a situaciones del mundo real nos encontramos


a menudo con problemas que no pueden ser resueltos analticamente o de manera exacta
y cuya solucion debe ser abordada con ayuda de algun
procedimiento numerico. A continuacion consideramos algunos problemas tpicos, ya formulados matematicamente,

para
los cuales estudiaremos tecnicas numericas de solucion.
Problema 2.1. Determinar el area

de la region comprendida entre las graficas

de y =
x
2senx, y = e con x [0, ].

J. R. Ticona Parisaca

UNA

30

Metodos Numericos
y
2.0

1.5

1.0

0.5

0.5

1.0

1.5

2.0

2.5

3.0

Figura 2.1: Region entre las funciones f(x) = 2 senx y g(x) = ex

Problema 2.2. Encontrar las races de la ecuacion polinomica


x5 + 11x4 21x3 10x2 21x 5 = 0
y
30 000

20 000

10 000

-10

-5

-10 000

Figura 2.2:

Problema 2.3. Resolver los siguientes sistemas de ecuaciones:


a) El sistema lineal AX = b donde

2 1
0
0
0
1
2 1
0
0

A = 0 1
2 1
0

0
0 1
2 1
0
0
0 1
2
b) El sistema nolineal

b=

3
2
2
2
1

x2 + xy3 = 9,
3x2 y y3 = 4

Problema 2.4. Dada la siguiente tabla de datos correspondiente a una cierta funcion
y = f(x) ,

J. R. Ticona Parisaca

UNA

31

Metodos Numericos
xk
f(xk )

2
5

1
1

0
1

1
1

2
7

3
25

encontrar el polinomio de menor grado que pase a traves de los puntos dados. Cual

sera una estimacion para los valores f(x) correspondientes a x = 1,5 y x = 1,5 ?
Problema 2.5. Hallar el valor de cada una de las siguientes integrales:
1
/2
sen x
1 sen2 x
a.
dx
c.
dx
x
4
0
0
1
3
1
x2
b.
e dx
d.
dx
0
2 ln x
Problema 2.6. Resolver el problema de valor inicial

d + d + 16 sen = 0,
dt2
dt

(0) = , (0) = 0,
4
En relacion con los problemas anteriores, tenemos que:

de
En el problema.2.1, es necesario determinar los puntos de interseccion de las graficas
x
x
y = 2senx y y = e , para lo cual debemos resolver la ecuacion 2senx = e y no disponemos de un metodo algebraico para hacerlo.
En el problema.2.2, se trata de hallar los ceros de un polinomio de grado 5 y, como sabemos, solo se conocen metodos algebraicos para encontrar races de ecuaciones polinomicas
de grado menor o igual que 4.
En el problema.2.3, tenemos dos sistemas de ecuaciones: El de la parte a) es lineal y conocemos metodos de solucion (por ejemplo, el metodo de eliminacion Gaussiana), sin embargo,
para sistemas de tamano
mayor, no solo es conveniente sino necesario implementar tales
metodos a traves del computador (metodo numerico). En la parte b) tenemos un sistema
no-lineal y no conocemos metodos algebraicos generales para resolverlo.
El problema.2.4 se puede resolver analticamente (por interpolacion), sin embargo para
determinar los coeficientes de dichos polinomios existen tecnicas que permiten encontrarlos rapidamente

y que pueden implementarse en el computador.


El problema.2.5, corresponde a integrales definidas cuyo integrando tiene antiderivada
que no es elemental.
Finalmente, en el problema.2.6, la ecuacion diferencial ordinaria
d2 d
+
+ 16 sen = 0
dt2
dt

ecuacion de movimiento de un pendulo

J. R. Ticona Parisaca

UNA

32

Metodos Numericos

es no-lineal (por la presencia de sen ) y no disponemos de un metodo analtico para resolverla.


Los problemas anteriores sirven como motivacion para el estudio de cinco grandes temas en un primer curso de metodos numericos: solucion numerica de una ecuacion nolineal en una variable, solucion numerica de sistemas de ecuaciones lineales y no-lineales,
interpolacion polinomial, integracion numerica y solucion numerica de problemas de valor inicial para ecuaciones diferenciales ordinarias.
Que es un metodo numerico?
Un metodo numerico es un procedimiento mediante el cual se obtiene, casi siempre
de manera aproximada, la solucion de ciertos problemas realizando calculos

puramente
aritmeticos y logicos (operaciones aritmeticas elementales, calculo

de funciones, consulta
de una tabla de valores, calculo

proposicional, etc.). Un tal procedimiento consiste de una


lista finita de instrucciones precisas que especifican una secuencia de operaciones algebraicas y logicas (algoritmo), que producen o bien una aproximacion de la solucion del
numerica) o bien un mensaje. La eficiencia en el calculo
problema (solucion

de dicha
aproximacion depende, en parte, de la facilidad de implementacion del algoritmo y de las
caractersticas especiales y limitaciones de los instrumentos de calculo

(las computadores). En general, al emplear estos instrumentos de calculo

se introducen errores llamados


de redondeo.

2.1.1. Algoritmos.
El objetivo del analisis

numerico es resolver problemas numericos complejos utilizando


solo operaciones simples de la aritmetica, con el fin de desarrollar y evaluar metodos para
calcular resultados numericos a partir de datos proporcionados. Los metodos de calculo

se
denominan algoritmos.
Nuestros esfuerzos se centraran
en la busqueda

de algoritmos. Para algunos problemas


aun
no se han encontrado un algoritmo satisfactorio, mientras que para otros hay varios,
por lo que deberemos elegir de entre ellos. Son varias las razones para elegir un algoritmo
en vez de otro; dos criterios evidentes son la rapidez y la precision. La rapidez es una ventaja evidente, aunque en el caso de problemas pequenos
dicha ventaja se ve casi eliminada
por la capacidad de la computadora. En problemas de grande escala, la rapidez es un
factor principal y un algoritmo lento lento tiene que rechazarse. As, siendo otros factores
iguales, es seguro que el metodo mas
rapido

sera el elegido.
Dado que una computadora esta compuesta de dispositivos que realizan operaciones
logicas y aritmeticas; los procedimientos matematicos

deben simplificarse a tal grado que

sean accesibles para procesarlas en una computadora. Este


es uno de los objetivos principales para el estudio de los metodos numericos.

J. R. Ticona Parisaca

UNA

33

Metodos Numericos

Los metodos que vamos a estudiar nos permitiran


simplificar los procedimientos matematicos

de manera que podamos auxiliarnos con una computadora o una calculadora,


para obtener resultados; como ejemplos de los procedimientos que al final del curso podre
mos desarrollar, se encuentran: calculo
de la derivada, integrales, ecuaciones dife
renciales, operaciones con matrices, interpolaciones, ajuste de curvas, regresion
lineal y polinomial, races de ecuaciones de segundo grado y ceros de polinomios.
Las aplicaciones de los metodos numericos son practicamente

ilimitadas y se requieren conocimientos de la materia en disciplinas tan variadas como: economa, contabilidad, mercadotecnia, fsica e ingeniera civil, electrica, mecanica,

qumica, etc. Asimismo,


propicia la formacion de criterios de decision para la eleccion del metodo adecuado, dependiendo del equipo computacional con en el que nos estemos auxiliando, pudiendo ser
e ste desde una gran computadora hasta una calculadora de bolsillo (programable o no),
pasando por equipos orientados hacia uno o mas
usuarios, ya que el comportamiento de
los procesos diferira mucho dependiendo del equipo.
2.1. (Definicion
de Algoritmo) El procedimiento matematico
Definicion

general que
vamos a aplicar a los problemas que se nos presentan se llama algoritmo, voz de origen

de un problema.
arabe

que significa procedimiento matematico


para la solucion

Algoritmo:
Procedimiento matematico

que nos indica la serie de pasos y decisiones que vamos a


tomar para la solucion de un problema.
Caractersticas de un algoritmo:
1. Preciso: Definirse de manera rigurosa, sin dar lugar a ambiguedades.

2. Definido: Si se sigue un algoritmo mas dos veces, se debe obtener el mismo resultado.
3. Finito: siempre debe terminar en un numero

determinado de pasos.
4. Debe ser legibles: El texto que lo describe debe ser claro, tal que permita entenderlo
y leerlo facilmente.

5. Entrada: puede tener una o varias entradas.


6. Salida: debe tener una o mas
salidas.
7. Efectividad: todas las operaciones deben ser lo suficientemente basicas

para que
puedan hacerse exactamente en un determinado tiempo, no mayor que el que tome
una persona empleando lapiz

y papel.

J. R. Ticona Parisaca

UNA

34

Metodos Numericos
Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
Ejemplo: el algoritmo de receta de cocina se tendra:

1. Entrada: ingrediente y utensilios.


2. Proceso: elaboracion de la receta en la cocina.
3. Salida: terminacion del plato (por ejemplo, Pollo al horno)

A lo largo de este curso examinaremos procedimientos de aproximacion que consisten


en sucesiones de calculos.

Estos procedimientos se llaman algoritmos. Para ser precisos,


un algoritmo es un procedimiento que describe, sin ninguna ambiguedad,

una sucesion
finita de pasos a realizar en un orden especifico. El objetivo del algoritmo sera generalmente implementar un procedimiento numerico para resolver un problema o aproximar
una solucion del problema.

Ejemplo 2.7. Desarrolle un algoritmo que permita leer dos valores distintos, determinar
cual de los dos valores es el mayor y escribirlo.
Ejemplo 2.8. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las
variables A, B y C respectivamente. El algoritmo debe imprimir cual es el mayor y cual es
el menor. Recuerde constatar que los tres valores introducidos por el teclado sean valores
distintos. Presente un mensaje de alerta en caso de que se detecte la introduccion de valores
iguales.

Como vehculo para describir algoritmos se usara un pseudocodigo.


Este pseudocodigo especifica los datos de entrada a proporcionar y la forma de los resultados deseados. No
todos los procedimientos numericos daran
resultados satisfactorios para datos de entrada
escogidos arbitrariamente. Como consecuencia, una tecnica de parar independiente de la
tecnica numerica se incorpora en cada algoritmo para evitar la probabilidad de que ocurran crculos viciosos.
Los pasos en los algoritmos se han arreglado de tal manera que la dificultad de traducir
el pseudocodigo en C + +, Excell, Mathematica, Matlab, Fortran, Pascal, Visual Basic
o cualquier otro lenguaje de programacion apropiado para aplicaciones cientficas, sea
mnima. Las tecnicas de ciclaje estan
controladas ya sea por un contador, por ejemplo,
Para i = 1, 2, 3, . . . , n
tomar xi = ai + i.h

(2.1)

o por una condicion, como son


Mientras i < N

seguir pasos 3 - 6.

En los algoritmos se usan dos smbolos de puntuacion: el punto (.) que indica la terminacion de un paso, y el punto y coma (; ) que separa o rdenes dentro de un paso. Para indicar

J. R. Ticona Parisaca

UNA

35

Metodos Numericos
que grupos de o rdenes deben tratarse como una sola entidad se usa indentacion.
Para permitir la ejecucion condicional, usamos las construcciones usuales
Si ... entonces

Si ... entonces

sino

o
.

En los algoritmos se intercalan libremente comentarios escritos con italicas

y contenidos dentro del parentesis para distinguirlos de las o rdenes del algoritmo.
Ejemplo 2.9. Un algoritmo para calcular la suma
N

xi = x1 + x2 + + xN

i=1

donde N y los numeros

x1 , x2 , . . . , xN estan
dados, es el siguiente:
Entrada
Salida

N, x1 , x2 , . . . , xN
SUM =

xi .

i=1

Paso 1

Tomar SUM = 0.

Paso 2

Para i = 1, 2, 3, . . . , N
Tomar SUM = SUM + xi .

Paso 3

SALIDA(SUM).
PARAR.

2.2. Repaso del calculo


Los conceptos de lmite y de continuidad son fundamentales en el estudio del calculo,

como tambien en el curso de analisis

numerico que estudiaremos en este trabajo.


2.2. Sea f una funcion definida en un conjunto I de numeros
Definicion

reales. Se dice que

real
f tiene como lmite a L en x0 , denotado por lm f(x) = L, si, dado cualquier numero
xx0

> 0, existe un numero

real > 0, tal que |f(x) L| < , siempre que x I y 0 < |x x0 | < .
(Ver figura.2.3)

J. R. Ticona Parisaca

UNA

36

Metodos Numericos

Figura 2.3:

2.3. Sea f una funcion definida en un conjunto X de numeros


Definicion

reales y x0 I;
se dice que f es continua en x0 si lm f(x) = f(x0 ).
xx0

Observacion.
Se dice que la funcion f es continua en el conjunto X IR si f es continua en cada
punto de X.
C(X) denota el conjunto de todas las funciones continuas en X
Cuando X es un intervalo de la recta de los numeros

reales, se omitira el parentesis


para esta notacion. Por ejemplo, el conjunto de todas las funciones continuas en el
intervalo cerrado [a, b] se denotara por C[a, b].
de numeros

De una manera similar, se puede definir el lmite de una sucesion


reales o
complejos.
2.4. Sea {xn }
Definicion
on infinita de numeros

reales o complejos. Se dice


n=1 una sucesi
que la sucesion converge al numero

x (llamado el lmite) si, para toda > 0, existe un


entero positivo N() > 0 tal que, si n > N() implica que |xn x| <
La notacion lm xn = x , o xn x cuando n , significa que la sucesion {xn }
n=1
n
converge a x.
El siguiente teorema relaciona los conceptos de convergencia y de continuidad.
Teorema 2.1. Si f es una funcion definida en un conjunto I de numeros

reales y x0 I,
entonces los enunciados siguientes son equivalentes:
a) f es continua en x0 ;

J. R. Ticona Parisaca

UNA

37

Metodos Numericos
b) si {xn }
on en I convergente a x0 , entonces
n=1 es cualquier sucesi
lm f(xn ) = f(x0 )

2.5. Si f es una funcion definida en un intervalo abierto que contiene a x0 , se


Definicion
dice que f es derivable en x0 si:
f(x) f(x0 )
lm
xx0
x x0
existe. Cuando este lmite existe se denota por f (x0 ) y se conoce como la derivada de f en
x0 . Se dice que una funcion es derivable o diferenciable en I si la funcion tiene derivada
en cada punto del conjunto I.
Teorema 2.2. Si la funcion f es diferenciable en x0 , entonces f es continua en x0 .
Observaciones.
El conjunto de todas las funciones que tienen n derivadas continuas en I IR se
denota por Cn (I), y el conjunto de funciones que tiene derivadas de todos los o rdenes
en cada punto de I se denota por C (I).
Las funciones polinomicas, racionales, trigonometricas, exponenciales y logartmicas
son de clase C (I), donde I consiste de todos los numeros

en los cuales las funciones


estan
bien definidas.
Los teoremas siguientes son de fundamental importancia en la derivacion de metodos para
la estimacion del error.
Teorema 2.3. (Teorema de Rolle) Supongamos que f C[a, b] y f es diferenciable en
a, b Si f(a) = f(b) = 0, entonces existe un numero

c, a < c < b, tal que f (c) = 0 (Ver


Figura.2.4)

Figura 2.4:

Corolario 2.10. Supongamos que f C[a, b] y f es diferenciable en a, b Si f(a) = f(b),


entonces existe un numero

c, a < c < b, tal que f (c) = 0

J. R. Ticona Parisaca

UNA

38

Metodos Numericos

Figura 2.5:

Teorema 2.4. (Teorema del Valor Medio) Si f C[a, b] y f es diferenciable en a, b


entonces existe un numero

c, tal que a < c < b, tal que


f (c) =

f(b) f(a)
ba

Figura 2.6:

Teorema 2.5. (Teorema del Valor Extremo) Si f C[a, b], entonces existen c1 , c2 [a, b]
tales que f(c1 ) f(x) f(c2 ) para todo x [a, b]. Si ademas,
f es diferenciable en a, b
entonces los numeros

c1 y c2 ocurren ya sea en los extremos de [a, b], o donde f sea cero.


Se necesitaran
otros dos resultados en nuestro estudio de los metodos numericos. El
primero es una generalizacion del teorema del Valor Medio usual para integrales.
Teorema 2.6. (Teorema del Valor Medio Ponderado para Integrales). Si f C[a, b],
g es integrable en [a, b], y g(x) no cambia de signo en [a, b], entonces existe un numero

c, a < c < b, tal que:

f(x)g(x)dx = f(c)
a

g(x)dx
a

Observaciones.
Cuando g(x) = 1, este teorema da lo que se conoce como el valor promedio de la
funcion en el intervalo [a, b]. (Ver figura.2.7 )

J. R. Ticona Parisaca

UNA

39

Metodos Numericos

Figura 2.7:

El otro teorema que necesitaremos y por lo general no se da en un curso de calculo

basico

se deriva aplicando el teorema de Rolle sucesivamente a f, f , . . . y finalmente a


(n1)
f
.
Teorema 2.7. (Teorema de Rolle Generalizado) Sea f C[a, b], n veces diferenciable
en a, b. Si f se anula en los n + 1 puntos distintos x0 , . . . , xn en [a, b], entonces existe un
numero

c en el intervalo [a, b] tal que f(n) = 0.


El siguiente teorema es el teorema del valor Intermedio. Aunque su contenido es intuitivamente claro.
Teorema 2.8. (Teorema del Valor Intermedio) Si f C[a, b] y K es un numero

cualquiera entre f(a) y f(b), entonces existe c en a, b tal que f(c) = K. (Ver figura.2.8)

Figura 2.8:

Ejemplo 2.11. Para demostrar que x5 2x3 + 3x2 1 = 0 tiene una solucion en el intervalo
[0, 1], consideremos la funcion f(x) = x5 2x3 + 3x2 1. Esta funcion es continua en todo
el conjunto de los numeros

reales pues es un polinomio en particular es continua en [0, 1],


y como f(0) = 1 mientras que f(1) = 1. Como f(0) < 0 < f(1), el teorema del valor
intermedio garantiza que existe un numero

c en 0 < x < 1 tal que


f(c) = c5 2c3 + 3c2 1 = 0
tal como se muestra en el Figura.2.9

J. R. Ticona Parisaca

UNA

40

Metodos Numericos
y
1.5
1.0

f HxL

0.5
0.5

-0.5

1.0

-0.5
-1.0
-1.5

Figura 2.9:

Como se ve en el ejemplo.2.11, el teorema del valor Intermedio es importante para ayudar a determinar cuando existen soluciones a ciertos problemas. Sin embargo, no da manera de encontrar estas soluciones. Este teorema sera discutido mas
a fondo en el siguiente
captulo.
El teorema final en este repaso de calculo

describe el desarrollo de los polinomios de


Taylor. La importancia de Taylor radica en el curso de metodos numericos de enorme importancia, no puede ser sobreenfatizada, y el siguiente se usara repetidamente.
Teorema 2.9. (Teorema de Taylor) Supongamos que f Cn [a, b] y f(n+1) existe en [a, b.
Sea x0 [a, b]. Para toda x [a, b], existe (x) entre x0 y x tal que:
f(x) = Pn (x) + Rn (x)
donde
f(x0 ) f (x0 )
f (x0 )
f(n) (x0 )
+
(x x0 ) +
(x x0 )2 + +
(x x0 )n
0!
1!
2!
n!
n

f(k) (x0 )
=
(x0 )k
k!

Pn (x) =

k=0

y
Rn (x) =

f(n+1) ((x))
(x x0 )n+1
(n + 1)!

Ejemplo 2.12. Determine los polinomios de Taylor de las funciones alrededor de x0 = 0


a) f(x) = ex

b) f(x) = sen x

c) f(x) = cos x

Observaciones.
Pn (x) se le llama polinomio de Taylor de grado n para f alrededor de x0 y a Rn (x)
se le llama el residuo (o error de truncamiento) asociado a Pn (x).

J. R. Ticona Parisaca

UNA

41

Metodos Numericos

La serie infinita que se obtiene tomando el lmite de Pn (x) cuando n se denomina serie de Taylor para f alrededor de x0 . En el caso de que x0 = 0, el polinomio
de Taylor se conoce frecuentemente como polinomio de Maclaurin y la serie de
denomina serie de Maclaurin.
El termino error de truncamiento generalmente se refiere al error involucrado al
usar sumas finitas o truncadas para aproximar la suma de una serie infinita.
Ejemplo 2.13. Ilustremos el teorema de Taylor con la funcion
f(x) = ln x
sobre el intervalo [1, 2] y x0 = 1. La formula requiere varias de las derivadas de f, las
cuales son
f (x) = x1 =

1
,
x

f (x) = x2 =

1
,
x2

f (x) = 2x3 =

2
,
x3

f(4) (x) = 6x4 =

6
x4

y as sucesivamente.
Para k 1, entonces
f(k) (x) = (1)k1 (k 1)!xk =

(1)k1 (k 1)!
xk

f(k) (1) = (1)k1 (k 1)!


Por supuesto que f(0) (1) = ln 1 = 0. Al poner todo esto en la formula de Taylor tenemos
n

1
1
ln x =
(1)k1 (x 1)k + (1)n
(x)(n+1) (x 1)n+1 ,
k!
(n
+
1)!
k=1

1x2

en donde 1 < (x) < x 2. La sumatoria


a la derecha del signo igualdad produce una

funcion polinomial en x. Esta


puede considerarse como una funcion simple que aproxima
a la mas
compleja funcion ln x. El ultimo

termino a la derecha puede considerarse como

un termino error. Este nos dice que tanto difiere el polinomio de ln x. Notese que en este
termino no es un polinomio en virtud que = (x) depende de x de un modo polinomial.
Podemos reescribir la ecuacion como:
1
1
1
ln x = (x 1) (x 1)2 + (x 1)3 + (1)n1 (x 1)n + Rn (x),
2
3
n
donde

1
1
(x)(n+1) (x 1)n+1
(x 1)n+1 .
n+1
n+1
Hay que observar en esta estimacion que 1 < (x) y que (x)(n+1) < 1.
Ahora suponga que vamos a utilizar la serie para calcular ln 2. Tendremos en este caso:
|Rn (x)| =

1
1 1 1
1
(1)k1 + Rn (2)
ln2 = 1 + + + (1)n1 + Rn (2) =
2 3 4
n
k
k=1
n

J. R. Ticona Parisaca

UNA

42

Metodos Numericos

1
. Calcular ln2 con una precision de uno a 108 requiere que se elija de
n+1
modo que Rn (2) 108 o bien que n + 1 108 . Un calculo

de tal precision requerira un


polinomio con cien millones de terminos. En cambio, un calculo

semejante para ln 1,5 se


puede realizar con la misma precision con tan solo veintidos terminos!.
con |Rn (2)| <

Observacion.
Con frecuencia en los argumentos matematicos

se utiliza el caso especial n = 1 del teore


ma de Taylor. Se conoce como el Teorema del Valor medio. Este
indica que si f es una

funcion de C[a, b] y si f existe sobre a, b, entonces para x y x0 en [a, b]


f(x) = f(x0 ) + f ()(x x0 )
en donde , se encuentra entre x0 y x.
Particularizando para x0 = a y x = b, y reordenando, se llega a la importante ecuacion:
f(b) f(a) = f ()(b a) donde a < < b
Un caso particular del teorema del valor medio es el Teorema de Rolle. En e l se
establece que si f es una funcion continua sobre [a, b], f existe sobre a, b y f(a) = f(b) = 0,
entonces f () para algun
a, b
Ejemplo 2.14. Sea f(x) = cos x. Como f(x) C (IR), entonces el teorema.2.9 puede aplicarse para cualquier n > 0. Calculemos para n = 2 y x0 = 0, el teorema.2.9 nos da
1
1
cos x = 1 x2 + x3 sen (x),
2
6
donde (x) es un numero

entre 0 y x.
Con x = 0,001, el polinomio de Taylor y su residuo es
1
1
cos0,001 = 1 (0,001)2 + (0,001)3 sen (x)
2
6
= 0,9999995 + (0,166)109 sen (x),
donde 0 < (x) < 0,001.
Sabemos que |sen (x)| 1, se puede usar 0,9999995 como una aproximacion al cos 0,001
con una seguridad de, cuando menos, nueve cifras decimales de precision. Usando calculadora, se puede encontrar que
cos0,001 = 0,99999950000004167449674241652246564626693725585938
as que se tiene en realidad una exactitud de 20 cifras decimales.

J. R. Ticona Parisaca

UNA

43

Metodos Numericos

Si, en este ejemplo, se hubiera usado un polinomio de Taylor de tercer grado con x0 = 0,
entonces
1
1
cos x = 1 x2 + x4 cos (x),
2
24

en donde 0 < (x) < 0,001, ya que f (0) = 0. El polinomio de aproximacion es el mismo,
y la aproximacion sigue siendo 0,9999995, pero ahora se esperaran 13 cifras decimales de
precision ya que


1 4

x Cos(x) 1 (0,001)4 (1) 4,2 1014
24
24
Esto corresponde mas
fielmente a la exactitud que en realidad se obtiene.

En el captulo de integrales, necesitaremos una forma distinta del teorema de Taylor.


Teorema 2.10. Si f Cn+1 [a, b] entonces para cualesquiera puntos x y c en [a, b]
n

1 (k)
f (c)(x c)k
Pn (x) =
k!
k=0

f(x) = Pn (x) + Rn (x),


donde

1
Rn (x) =
n!

x
f(n+1) (t)(x t)n dt
c

En efecto. Recordemos la formula de integracion por partes

udv = uv vdu
aplquenlas a la integral Rn tomando
u=
el resultado es
Rn

(x t)n
,
n!

dv = f(n+1) (t)dt

[
]
x

1 (n)
n t=x
(n)
n1
=
f (t)(x t) t=c + n f (t)(x t) dt
n
c
1
= f(n) (t)(x t)n + Rn1
n!

Si iteramos este proceso de integracion por partes, eventualmente llegaremos a


n

1 (k)
f (c)(x c)k + R0
Rn =
k!
k=1

como
R0 =

f (t)dt = f(x) f(c),

tenemos que

1 (k)
f(x) = f(c) +
f (c)(x c)k + Rn
k!
k=1

J. R. Ticona Parisaca

UNA

44

Metodos Numericos
lo que termina la demostracion.

Para una funcion f : IR2 IR, la expresion mas


sencilla de la formula de Taylor se
escribe as:
(
)i
n

h
+k
f(a + h, b + k) =
f(a, b) + Rn (h, k)
i!
x
y
i=0
(2.2)
(
)
1

Rn (h, k) =
h
f(a + h, b + k)
+k
(n + 1)!
x
y
en donde es un numero

entre 0 y 1. El significado de estos terminos tan misteriosos es el


siguiente:
(
)0

h
+k
f(a, b) = f(a, b)
x
y
(
)1
(
)

f
f
h
+k
f(a, b) = h
+k
(a, b)
x
y
x
y
(
)2
(
)
2

2 f 2 2 f
2 f
h
+k
f(a, b) = h
+ 2hk
k
(a, b)
x
y
x2
xy y2
Ejemplo 2.15. Cuales

son los primeros terminos en la formula de Taylor para la funcion


f(x, y) = Cos(xy)?

2.2.1. Problemas
1. Demuestre que la ecuacion x3 = ex senx debe tener por lo menos una solucion en el
intervalo [1, 4].
2. Demuestre que la ecuacion x = 3x debe tener por lo menos una solucion en el intervalo [0, 1].
3. Sea f(x) = (x 1)tan x + x senx. Demostrar que f (x) = 0 para algun
x [0, 1].
4. Sea f(x) = x senx (x 2)lnx. Demostrar que f (x) = 0 para algun
x [1, 2]
5. Sea f(x) = (x 2) sen x ln(x + 2). Demostrar que f (x) = 0 para algun
x [1, 3]
6. Use el teorema del valor Intermedio y el teorema de Rolle para demostrar que la
grafica

de f(x) = x3 + 2x + k cruza el eje x exactamente una vez, independiente del


valor de la constante k.
7. Encuentre el polinomio de Taylor de cuarto grado para f alrededor de x0 = 0 si
f(x) = ex cosx. Use este polinomio para aproximar f(/16), y encuentre una cota para
el error en esta aproximacion.
8. Encuentre el polinomio de Taylor de cuarto grado para f alrededor de x0 = 1 si
2
f(x) = ex . Use este polinomio para aproximar f(1,1), y encuentre una cota para el
error en esta aproximacion.

J. R. Ticona Parisaca

UNA

Captulo 3
Races de ecuaciones
Objetivos generales
Al terminar el captulo el alumno sera capaz de:
1. Calcular el valor de las races de una ecuacion, por medio de la aplicacion de metodos
cerrados y abiertos.
2. Determinar la posibilidad de convergencia al usar metodos abiertos.
3. Desarrollar los algoritmos para el calculo

de races mediante la programacion en el


Mathematica.
4. Utilizar la herramienta DSolve del Mathematica para el calculo

de races de ecuaciones.

3.1. Introduccion
En las matematicas

aplicadas a la ingeniera, con frecuencia tienen que hallarse soluciones a ecuaciones de la forma.
f(x) = 0
(3.1)
es decir, numeros

x0 tal que satisfagan


f(x0 ) = 0
Aqu f es una funcion dada, como por ejemplo mostremos:
f(x) = x3 3x + 2
f(x) = x3 + x + 1
Senx = 0,5x
Tanx = x
Coshx = Secx
45

46

Metodos Numericos
Coshx.Cosx = 1

Todas estas ecuaciones se pueden escribir en la forma.3.1. Los dos primeros corresponden a ecuaciones algebraicas debido a que son polinomios y, en este caso, a las soluciones
tambien se les conoce como races de las ecuaciones. Las otras son ecuaciones trascendentes, porque comprenden funciones trascendentes. No solo es formular un problema sino que
existen problemas que pueden plantearse como sigue:

3.1.1. Problema
El crecimiento de poblaciones grandes puede modelarse en perodos cortos de tiempo,
suponiendo que la poblacion crece continuamente en el tiempo con una rapidez proporcional al numero

de individuos presentes en este tiempo.


Si denotamos por.
N(t) :
:

el numero

de individuos en el tiempo t
la razon de natalidad de la poblacion

La poblacion satisface la ecuacion diferencial


dN(t)
= N(t)
dt

(3.2)

N(t) = N0 et

(3.3)

cuya solucion es:


Donde N0 , denota la poblacion inicial.
Este modelo es valido

solamente cuando la poblacion esta aislada sin inmigracion de


afuera a la poblacion, o como la mortalidad de la poblacion. Supongamos que la inmigracion es permitida a una razon constante . La ecuacion diferencial.3.2 se transforma
en
dN
= N(t) +
(3.4)
dt
cuya solucion es ahora
)
( t
N(t) = N0 e t +
e 1
(3.5)

Supongamos que:
N0 = 1000000
= 435000
N(1) = 1564000

Poblacion inicial
Inmigrantes
Poblacion al final del primer ano

Para determinar la razon de la natalidad se necesita resolver en la ecuacion


N(t) = N0 e t +

)
( t
e 1

J. R. Ticona Parisaca

UNA

47

Metodos Numericos

Con los metodos algebraicos que uno conoce no sera facil

de determinar la solucion, los


metodos numericos que desarrollaremos en este tema, se usan para hallar aproximaciones
para este tipo de ecuaciones.
En este captulo discutiremos uno de los problemas mas
basicos

del analisis

numerico,
el problema llamado busqueda

de races, que consiste en encontrar los valores de la variable x que satisfaga la ecuacion f(x) = 0 para una funcion dada. A una solucion de este tipo
se le llama en cero de f o una raz de f(x) = 0.

3.2. El algoritmo de la biseccion


Esta es una las primeras tecnicas, que esta basado en el teorema del valor intermedio,
se llama algoritmo de la biseccion o metodo de busqueda

binaria.
Supongamos que tenemos una funcion continua f, definida en el intervalo [a, b], con
f(a) y f(b) de signos opuestos, entonces por el teorema del valor intermedio, existe p en
a < x < b, tal que f(p) = 0
Aunque el procedimiento sirve para el caso en que f(a) y f(b) tienen signos opuestos y
hay mas
de una raz en el intervalo [a, b], por simplicidad supondremos que la raz en este
intervalo es unica.

Este metodo requiere de dividir repetidamente a la mitad a los subintervalos de [a, b]


y, en cada paso, localizar la mitad que contiene a p.
Para empezar, tomamos a1 = a y b1 = b y p1 el punto medio de [a, b], es decir:
p1 =

a1 + b1
2

Si f(p1) = 0, entonces p = p1 ;
Sino, entonces f(p1 ) tiene el mismo signo que f(a1 ) o f(b1 )
Si f(p1 ) y f(a1 ) tiene el mismo signo entonces p p1 , b1 y tomamos a2 = p1 y b2 = b1 ,
Si f(p1 ) y f(b1 ) tiene el mismo signo entonces p a1 , p1 y tomamos a2 = a1 y b2 = p1
Ahora reaplicamos el proceso al intervalo [a, b]. Esto produce el siguiente algoritmo:

J. R. Ticona Parisaca

UNA

48

Metodos Numericos

Figura 3.1:

Algoritmo (de la Bisecci


on)
Para encontrar una soluci
on del f(x) = 0, dada la funci
on continua en
[a, b], donde f(a).f(b) < 0
ENTRADA: Extremos a y b; tolerancia = Error; m
aximo n
umero de intervalos
SALIDA: Soluci
on aproximada p o mensaje de fracaso.
Paso 1: Tomar
i = 1
Paso 2: Mientras i
No
seguir Pasos 3 - 6
Paso 3: Tomar
(calcular Pi)
Paso 4: Si f(p) = 0
o
Entonces SALIDA
Paso 5: Tomar i = i + 1
Paso 6: Si f(a).f(b)< 0 entonces a = p
Paso 7: Salida (M
etodo fracaso despu
es de N0 iteraciones)
Teorema 3.1. Sea f C[a, b] y supongamos que f(a).f(b) < 0. El procedimiento del algoritmo de biseccion genera una sucesion {Pn } que se aproxima a p con la propiedad.
|Pn p| 6

(b a)
2n

En efecto.
(a1 + b1 )
2
(b a)
=
20

a1 = a, b1 = b, P1 =
b1 a1 =

ba

(b a)
21
en general, para cada n 1 tenemos:
b2 a2 =

bn an =

1
2n1

ademas
p2 a2 , b2

(b a) ,

p an , bn

pues
pn =

1
(an + bn ) ,
2

para

toda n > 1,

luego
|pn p| =

1
(bn an ) = 2n (b a)
2

J. R. Ticona Parisaca

UNA

49

Metodos Numericos

Ejemplo 3.1. Determine aproximadamente cuantas

iteraciones son necesarias para resol3


2
5
ver f(x) = x + 4x 10 con una precision de = 10 para a1 = 1 y b1 = 2
Esto requiere encontrar un entero N positivo que satisfaga la ecuacion y utiliSolucion.
zando este teorema tenemos:

del punto fijo


3.3. Iteracion
En la ecuacion
f(x) = 0
Puede transformarse algebraicamente a la forma
x = g(x)
A una solucion de esta ecuacion se le llama un punto fijo de la funcion g.
Si para cualquier g dada se puede encontrar un punto fijo, entonces cada problema de
busqueda

de races podra tambien ser resuelto. Sabemos que nuestro objetivo es determinar
las races de f(x) = 0, esto se determina la funcion
g(x) = x f(x)
La primera pregunta entonces es cuando una funcion tendra un punto fijo y como se
pueden determinar los puntos fijos.
Ejemplo 3.2. .
a) La funcion g(x) = x, 0 x 1, tiene un punto fijo en cada x [0, 1]
b) La funcion g(x) = x Senx tiene exactamente dos puntos fijos en [0, 1] , en x = 0 y
x=1
En efecto:
g(0) = 0 Sen((0)) = 0
g(1) = 1 Sen = 1. (Ver Figura.3.2)

y
H1,1L

1.0

0.5

gHxL = x - SenHxL

H0,0L
0.5
-0.5

1.0

1.5

1 1
H ,- L
2 2

Figura 3.2:

J. R. Ticona Parisaca

UNA

50

Metodos Numericos
El siguiente teorema da las condiciones para la existencia y unicidad del punto fijo.

Teorema 3.2. Si g C[a, b], y g(x) [a, b] para toda x [a, b], entonces g tiene un punto
fijo en [a, b]. Si ademas,
g (x) existe en a, b y
|g (x)| k 1, para toda x a, b
entones g tiene un unico

punto fijo en [a, b]. (Ver Figura.3.3)

Figura 3.3:

Demostracion.
Si g(a) = a o g(b) = b, la existencia del punto fijo es x = a o x = b.
Supongamos que x = a y x = b entonces se cumple g(a) > a y g(b) < b.
Definamos la funcion h(x) = g(x) x observar que h es continua en [a, b] pues es
suma de funciones continuas y
h(a) = g(a) a > 0

y h(b) = g(b) b < 0

Luego por el teorema del valor intermedio, implica que existe p a, b tal que
h(p) = 0
Por lo tanto
h(p) = g(p) p = 0
h(p) = p
As, p es un punto fijo de la funcion g.
Supongamos ahora que:
|g (x)| k < 1

J. R. Ticona Parisaca

UNA

51

Metodos Numericos

y sean p y q dos puntos fijos de g, con p = q en [a, b]. Por el teorema del valor medio,
existe un numero

entre p y q y por lo tanto en [a, b] tal que:


|p q| = |g(p) g(q)| = |g ()(p q)|
k|p q| < |p q|
Esta contradiccion viene de suponer que p = q. Por lo tanto p = q y el punto fijo en
[a, b] es unico.


Para aproximar el punto fijo de una funcion g, escogemos una aproximacion inicial p0
on
y generamos la sucesion {pn }
n=0 tomando pn = g(pn1 ) para cada n 1. Si la sucesi
converge a P y g es una funcion continua, entonces tenemos
p = Lim pn
n

= Lim g(pn1 )
n

= g(Lim pn1 )
n

= g(p)
y se obtiene una solucion x = g(x)
Esta tecnica se llama tecnica iterativa de punto fijo. Este procedimiento esta detallado
en el siguiente algoritmo y descrito en la figura.

Figura 3.4:

ALGORITMO (Punto Fijo)


Para encontrar una soluci
on de p = g(p) dada una aproximaci
on
inicial Po.
ENTRADA. Aproximaci
on inicial p0; tolerancia Error;
n
umero m
aximo de iteraciones N0.

J. R. Ticona Parisaca

UNA

52

Metodos Numericos
SALIDA. Soluci
on aproximada
p o
mensaje de fracaso.
Paso 1: Tomar i = 1
Paso 2: Mientras i <= N0, seguir pasos 3 - 6
Paso 3: Tomar p = g(po). (Calcular pi)
Paso 4: Si |p - p0|< Error entonces
SALIDA (p) ("Procedimiento completado satisfactoriamente")
Paso 5: Tomar i = i + 1
Paso 6: Tomar p0 = p (Redefinir p0)
Paso 7:
Salida (M
etodo fracaso despu
es de N0 iteraciones, N0= ;

N0)

Ejemplo 3.3. La ecuacion x3 + 4x2 10 = 0 tiene una sola raz en [1, 2]. Existen muchas
maneras de expresar esta ecuacion en la forma x = g(x), efectuando manipulaciones algebraicas simples tenemos:
a)

x=x
x 0 = x x3 4x2 + 10

x = g1 (x) = x x3 4x2 + 10
As g1 (x) = x x3 4x2 + 10
As podemos obtener la siguientes formas:
(

b)
c)
d)
e)

)1/2
10
x = g2 (x) =
4x
x
)1/
1(
x = g3 (x) = 10 x3 2
2
(
)1/2
10
x = g4 (x) =
4+x
x3 + 4x2 10
x = g5 (x) = x
3x2 + 8x

Como observamos que en esta ecuacion vemos varias formas de derivar las funciones g(x),
aunque no es importante ello, pero debe verificarse que el punto fijo de cada una es en
realidad una solucion de la ecuacion original.
Con p0 = 1,5, la tabla muestra los resultados del metodo de iteracion de punto fijo para
las cinco alternativas para g.

J. R. Ticona Parisaca

UNA

53

Metodos Numericos

y
2.5

f1 HxL= I- x3 - 4 x2 + x + 10M

2.0
1.5
1.0
0.5
0.0
0.0

0.5

1.0

1.5

2.0

2.5

J. R. Ticona Parisaca

UNA

54

Metodos Numericos

y
2.5
2.0

f2 HxL=

10
x

-4x

1.5
1.0
0.5
0.0
0.0

0.5

1.0

1.5

2.0

2.5

J. R. Ticona Parisaca

UNA

55

Metodos Numericos

J. R. Ticona Parisaca

UNA

56

Metodos Numericos

y
2.5
2.0

f3 HxL=

1
2

10 - x3

1.5
1.0
0.5
0.0
0.0

0.5

1.0

1.5

2.0

2.5

J. R. Ticona Parisaca

UNA

57

Metodos Numericos

y
2.5
2.0

f4 HxL=

10
4+x

1.5
1.0
0.5
0.0
0.0

0.5

1.0

1.5

2.0

2.5

2.0

2.5

y
2.5
2.0

f5 HxL=x-

x3 + 4 x2 - 10
3 x2 + 8 x

1.5
1.0
0.5
0.0
0.0

0.5

1.0

1.5

J. R. Ticona Parisaca

UNA

Captulo 4
y aproximacion

Interpolacion

polinomica

4.1. Introduccion
Muchos experimentos en el area

de la Ingeniera dan como resultado de funciones tabulares de la variable independiente, frente a la variable dependiente. Durante la aplicacion
en ciertos problemas fsicos se relacionan los valores de la variable dependientes e independientes en puntos no base, es decir, en aquellos puntos en donde no se han experimentado;
en otros casos con fines computacionales se requiere construir una funcion explcita de
toda la tabla obtenida por metodos experimentales senalados

anteriormente, por lo cual


se hace importante el conocimiento de tecnicas de interpolacion polinomica sea con pasos
equidistantes, no equidistantes o tecnicas de interpolacion iterada.
Ejemplo 4.1. Cada 10 anos
se toma un censo de la poblacion de EE. UU. A continuacion
se muestra una tabla con los datos en miles de personas de la poblacion de 1930 hasta 1980.
Ano

Poblacion
(en miles)

1930

1940

1950

1960

1970

1980

123 203

131 669

150 697

179 323

203 212

226 505

Al revisar estos datos, surge las siguientes preguntas mas


naturales, si podran usarse
estos datos para estimar razonablemente a la poblacion, en los anos
por ejemplo 1965, 2000
o 2010.
Algunas predicciones de este tipo pueden obtenerse usando una funcion que ajuste los da y este el tema de este captulo.
tos dados. Este es un tema llamado interpolacion
Una de las mas
utiles

y bien conocidas clases de funciones reales de variable real es la


clase de los polinomios algebraicos, o sea, el conjunto de funciones de la forma:
Pn (x) = a0 + a1 x + a2 x2 + . . . + an xn ,

an = 0,

n ZZ

Una razon primordial de su importancia es que aproximan uniformemente funciones


continuas.
58

59

Metodos Numericos

de Weierstrass). Si f esta definida y es conTeorema 4.1. (Teorema de Aproximacion


tinua en el intervalo [a, b] , dado > 0, existe un polinomio P, definido en [a, b] con la
propiedad de que:
|f(x) Pn (x)| < ,
x [a, b]

Figura 4.1:

Observaciones:
1. Cuando consideramos los polinomios Pn como aproximantes de las funciones, es sencillo determinar su derivada y la integral indefinida de cualquier polinomio.
2. El teorema de Weierstrass es importante desde el punto de vista teorico pero no puede
usarse efectivamente para propositos computacionales.
3. Tal vez el lector conoce que uno de los mejores polinomios que aproxima a una funciona es el polinomio de Taylor, solo tiene la dificultad que solo aproxima a dicha
funcion en un punto y alrededor de un intervalo muy pequeno,
como mostramos en el
siguiente ejemplo.

f(x) = Pn (x) + Rn (x)


donde:
Pn (x) =

alrededor de

f(k) (x0 )(x x0 )


k=0

k!

x0

f(k+1) ((x))(x x0 )n+1


,
n + 1!
el cual tiene un residuo o termino de error
Rn (x) =

f(k+1) ((x))(x x0 )n+1


Pn (x) f(x) = Rn (x) =
n + 1!
para algun
(x) entre x0 y x.

J. R. Ticona Parisaca

UNA

60

Metodos Numericos
Ejemplo 4.2. .

a) Calcular el Polinomio de Taylor de tercer grado alrededor de x0 = 0 para la funcion

f(x) = 1 + x
b) Usar el polinomio de a) para aproximar 1,1 y encontrar una cota para el error cometido.
0,1
1
c) Usar el polinomio de a) para aproximar 0 (1 + x) /2 dx
Realizando la diferenciacion necesaria tenemos:
Solucion.

f(x) = 1 + x,
f(0) = 1
1
1
f (x) = (1 + x)1/2 ,
f (0) =
2
2
1
1
f (x) = (1 + x)3/2 ,
f (0) =
4
4
3
3
f (x) = (1 + x)5/2 ,
f (0) =
8
8
15
15
fIV (x) = (1 + x)7/2 ,
f () = (1 + (x))7/2
16
16
donde (x) esta entre cero y x. Del teorema de Taylor,
P3 (x) =

f(k) (0)(x 0)k

k!

n=0

f (0)x2 f (0)x3
= f(0) + f (0)x +
+
2!
3!
x x2 x3
=1+
+
2
8
16
es el polinomio de Taylor de tercer grado pedido en a).

Para responder a la parte b), obtenemos:

1,1 = 1 + 0,1 = f(0,1) P3 (0,1)


1
1
1
1 + (0,1) (0,1)2 + (0,1)3
2
8
16

1,1 1,0488125000000001474

Pero el valor real es: 1,1 = 1,0488088481701516308


b) El error esta dado por R3 (0,1) y una cota se deriva como sigue:



15(1+)7/2

4
16
(0,1)
|R3 (0,1)| =


4!
15
(1 + )7/2
(0,1)4 max
[0, 0,1
(16)(24)
0,005
=
(1) 3,90625 106
128

J. R. Ticona Parisaca

UNA

61

Metodos Numericos

como el valor real es 1,1 = 1,0488088481701516308, el error real es alrededor de 3,7 106 .

| 1,1 P3 (0,1)| = |1,0488125 1,048808848 | 6 3,7 106 6 3,41 106


Los calculos

para c) se proceden como sigue


0,1
0,1

1 + xdx
P3 (x)dx
0
0
)
0,1 (
x x2 x3
1+
=
dx
+
2
8
16
0
[
]0,1
x2 x3
x4
= x+

+
= 0,1024598958
4
24 64 0
Ejemplo 4.3. La siguiente tabla muestra los valores del polinomio de Taylor de tercer

grado para la funcion f(x) = 1 + x considerado en el ejemplo anterior y el error asociado


al usar este polinomio para valores de x.
x
P3 (x)
f(x)
|P3 (x) f(x)|

0
1
1
0

0,1
1,048813
1,048809
0,000004

0,5
1,2266
1,2247
0,0019

1
1,438
1,414
0,0019

2
2
1,73
0,27

10
56
3,32
52,68

Como podemos visualizar el polinomio de Taylor solo aproxima para valores proximos de
un punto.
y
35
30
25
20
15
10
5

P3 HxL=

x3
16

x2
-

x
+

+1

f HxL=

x+1

10

y el polinomio de Lagrange
4.2. Interpolacion
Habamos visto que los polinomios aproximantes que coincidan con una funcion dada
y con algunas de sus derivadas en un unico

punto, eran los polinomios de Taylor, pero estos


tiene desventajas como el considerar solo intervalos pequenos,

consecutivamente el polinomio de Taylor es de poca utilidad, y se deben buscar metodos alternativos de aproximacion
de encontrar mejores polinomios aproximantes.

J. R. Ticona Parisaca

UNA

62

Metodos Numericos

Consideremos inicialmente el problema de determinar un polinomio de grado 1 que


pase por los puntos distintos (x0 , y0 ) y (x1 , y1 ).
donde y0 = f(x0 ), y1 = f(x1 ).

La curva mas
trivial que pasa es una recta, cuya ecuacion esta dado por: determinando
la pendiente de este modo
y1 y0
mL =
x1 x0
entonces
(
)
y1 y0
L : y y0 =
(x x0 )
x1 x0
despejando y y realizando operaciones algebraicas, tenemos:
)
(
y1 y0
(x x0 )
y y0 =
x1 x0
y0 (x1 x0 ) + (y1 y0 )(x x0 )
y=
x1 x0
y0 (x1 x0 ) + y1 (x x0 ) y0 (x x0 )
y=
x1 x0
y0 (x1 x0 x + x0 ) + y1 (x x0 )
y=
x1 x0
y0 (x1 x) y1 (x x0 )
y=
+
x1 x0
x1 x0
(
)
(
)
x x1
x x0
P1 (x) =
y0 +
y1
x0 x1
x1 x0
y cumple las siguientes propiedades P1 (x0 ) = y0 = f(x0 ) y P1 (x1 ) = y1 = f(x1 )
As que el polinomio P1 tiene las propiedades requeridas.
Ahora consideremos el problema de determinar un polinomio de grado 2 que pase por
los puntos distintos (x0 , y0 ), (x1 , y1 ) y (x2 , y2 ).
donde y0 = f(x0 ), y1 = f(x1 ) y y2 = f(x2 ) como muestra el grafico

J. R. Ticona Parisaca

UNA

63

Metodos Numericos

El polinomio que pasa por tres puntos diferentes es el de grado a lo mas


2, este es una
2
parabola,

y su ecuacion es P2 (x) = Ax + Bx + C, el problema es determinar los coeficientes,


estos son A, B y C, y tratemos de resolver
Q0 P2 (x) Ax20 + Bx0 + C = y0
Q1 P2 (x) Ax21 + Bx1 + C = y1
Q2 P2 (x) Ax22 + Bx2 + C = y2
al resolver este sistema lineal, obtenemos:
x2 (y1 y0 ) + x1 (y2 y0 ) + x0 (y2 y1 )
(x0 x1 )(x0 x2 )(x1 x2 )
2
x (y1 y0 ) + x21 (y2 y0 ) + x20 (y2 y1 )
B= 2
(x0 x1 )(x0 x2 )(x1 x2 )
(
)
2
x1 (x2 y0 x0 y2 ) + x1 x20 y2 x22 y0 + x0 x2 (x2 x0 ) y1
C=
(x0 x1 )(x0 x2 )(x1 x2 )

A=

esta solucion se obtuvo utilizando el Mathematica, pero nos imaginamos que resolver este
sistema en forma manual no es sencilla, pero el problema surge si tenemos mas
de tres
puntos.
Veremos que podemos obtener este polinomio interpolante, para generalizar el concepto
de interpolacion lineal, ahora consideremos la construccion de un polinomio de grado a lo
mas
n que pase por (n + 1)puntos distintos.
(x0 , (f(x0 )), (x1 , (f(x1 )), . . . , (xn , (f(xn ))
Cuando construimos el polinomio lineal que pasa por los puntos (x0 , y0 ) y (x1 , y1 ) se
construyo los cocientes.
{
{
1, x = x0
1, x = x1
x x0
x x1
y
L11 (x) =
=
=
L10 (x) =
x0 x1
x1 x0
0, x = x1
0, x = x0
Para el caso general necesitamos construir, para cada k = 0, 1, 2, . . . , n, un cociente Lnk (x)
con la propiedad de que:

J. R. Ticona Parisaca

UNA

64

Metodos Numericos
{
Lnk (xi ) =

1,

x = xk

k=i

0,

x = xk

k = i

Para cada i = k se requiere que el numerador de Lnk contenga el termino


(x x0 )(x x1 ) . . . (x xk1 )(x xk+1 ) . . . (x xn )
Para satisfacer que Lnk (xk ) = 1, el denominador de Lnk debe ser igual a
(xk x0 )(xk x1 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn )
Entonces
Lnk (x) =

(x xi )
(x x0 )(x x1 ) . . . (x xk1 )(x xk+1 ) . . . (x xn )
=
(xk x0 )(xk x1 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn ) i=0, i=k (xk xi )

Ahora que se conoce la forma de Lnk es facil

describir el polinomio interpolante. Este


polinomio se llama Polinomio interpolante de Lagrange" y se define en el siguiente
teorema.
Teorema 4.2. Si x0 , x1 , x2 , . . . , xn , son (n + 1) puntos diferentes y f es un funcion cuyos
valores estan
dados en estos puntos, entonces existe un intro polinomio Pn de grado a lo
mas
n con la propiedad de que
f(xk ) = Pn (xk ), para cada

k = 0, 1, 2, . . . , n

el polinomio esta dado por:


Pn (x) = f(x0 )Ln0 (x) + f(x1 )Ln1 (x) + + f(xn )Lnn (x)
n

Pn (x) =
f(xk )Lnk (x)
k=0

donde:
Lnk (x) =

(x xi )
(x x0 )(x x1 ) . . . (x xk1 )(x xk+1 ) . . . (x xn )
=
(xk x0 )(xk x1 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn ) i=0, i=k (xk xi )

para cada k = 0, 1, 2, . . . , n
Ejemplo 4.4. Usando los numeros

x0 = 2, x1 = 2,5, x2 = 4 encontrar el polinomio interpolante de segundo grado para f(x) = x1 , y aproximar f(3)
Necesitamos primero construir tres polinomios cocientes:
Solucion.
(x 2,5)(x 4)
= x2 6,5x + 10
(2 2,5)(2 4)
(x 2)(x 4)
1
L21 (x) =
= (4x2 + 24x 32)
(2,5 2)(2,5 4)
3
1
(x 2)(x 2,5)
= (x2 4,5x + 5)
L22 (x) =
(4 2)(4 2,5)
3
L20 (x) =

J. R. Ticona Parisaca

UNA

65

Metodos Numericos
y como
f(x0 ) = f(2) = 0,5
f(x1 ) = f(2,5) = 0,4
f(x2 ) = f(4) = 0,25
P2 (x) =

(xk )L2k (x)

( )
( )
1
1
2
= 0,5(x 6,5x + 10) + 0,4
(4x + 24x 32) + 0,25
(x2 4,5x + 5)
3
3
k=0

P2 (x) = 0,05x2 0,425x + 1,15


Una aproximacion a f(3) =

1
0, 3333 . . . = 0.3 es
3
f(3) P2 (3)
= 0,05(3)3 0,425(3) + 1,5
f(3) 0,325

Nota. Si hubieramos usado el polinomio de Taylor, no podramos haber utilizado si este


se hubiese desarrollado alrededor de x0 = 1

J. R. Ticona Parisaca

UNA

66

Metodos Numericos

4.3. Algoritmo de la Newton


Para aproximar una raz real de la ecuacion f(x) = 0, proporcionar la funcion f(x) y su
primera derivada f (x)
Datos: Valor inicial x0 proximo a la raz, criterio de convergencia EPS, criterio de exactitud EPS1 y numero

de iteraciones N0 .
Resultados: La raz aproximada x o un mensaje de falla.
Paso 1. Hacer I = 1
Paso 2. Mientras I < N0 , repetir los pasos 3 a 7.
f(x0 )
(calculando xi )
f (x0 )
Paso 4. Si |x x0 | < EPS, entonces IMPRIMIR x y terminar. De otro modo continuar
Paso 3. Hacer x = x0

Paso 5. Si |f(x)| < EPS1, entonces IMPRIMIR x y terminar. De otro modo continuar
Paso 6. Hacer I = I + 1
Paso 7. Hacer x0 = x

y TERPaso 8. IMPRIMIR mensaje de falla EL METODO


NO CONVERGE A UNA RAIZ
MINAR
Ejemplo 4.5. aproxime una raz de la ecuacion
f(x) = x3 + 2x2 + 10x 20
mediante el metodo de Newton, x0 = 1, con = 103 aplicado |xi+1 xi |

4.4. Algoritmo de la Newton


Datos: Valor inicial x0 proximo a la raz, criterio de convergencia EPS, criterio de exactitud EPS1 y numero

de iteraciones N0 .
Resultados: La raz aproximada x o un mensaje de fracaso.
Paso 1. Tomar i = 1.
Paso 2. Mientras que i N0 seguir los Pasos 3 6
f(x0 )
(Calcular pi )
f (x0 )
Paso 4. Si |x x0 | < EPS entonces
SALIDA (x); (Procedimiento completado satisfactoriamente)
PARAR
Paso 3. Tomar x = x0

J. R. Ticona Parisaca

UNA

67

Metodos Numericos
Paso 5. Tomar i = i + 1
Paso 6. Tomar p0 = p
Paso 7. SALIDA (el metodo fracaso despues de N0 iteraciones )
PARAR

4.5. Algoritmo de la Secante


Para encontrar una solucion de f(x) = 0, proporcionar la funcion f(x)
Datos: Valores iniciales x0 y x1 proximos a la raz, criterio de convergencia EPS, y numero

de iteraciones N0 .
Resultados: Solucion aproximada x o mensaje de fracaso.
Paso 1. Tomar i = 2;
y0 = f(x0 )
y1 = f(x1 )
Paso 2. Mientras que i N0 seguir los Pasos 3 6
x1 x0
(Calcular pi )
q1 q0
Paso 4. Si |x x0 | < EPS entonces
SALIDA (x); (Procedimiento completado satisfactoriamente)
PARAR
Paso 3. Tomar x = x1 y1

Paso 5. Tomar i = i + 1
Paso 6. Tomar
x0 = x1
y0 = y1
x1 = x
y1 = f(x)
Paso 7. SALIDA (el metodo fracaso despues de N0 iteraciones )
PARAR

J. R. Ticona Parisaca

UNA

68

Metodos Numericos

4.6. Problemas
de Lagrange
4.6.1. Interpolacion
Ejemplo 4.6. Para la tabla que se presenta a continuacion
a) Obtenga la aproximacion polinomial de Lagrange con todos los puntos
b) Interpole el valor de la funcion f(x) para x = 1,8
i
f(xi )
xi

0
3
0

1
0
1

2
5
3

3
7
6

con polinomios de Lagrange


4.6.2. Interpolacion
Para interpolar con polinomios de lagrange de grado n, proporcionar los datos Datos:
El grado del polinomio n, los n + 1 pares ordenados
{(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}
y el valor el que se desea la interpolacion Xint
Resultados: La aproximacion FXint, el valor de la funcion en Xint
Paso 1. Hacer FXint = 0
Paso 2. Hacer I = 0
Paso 3. Mientras I n, repetir los pasos 4 a 10
Paso 4. Hacer L = 1
Paso 5. Hacer J = 0
Paso 6. Mientras J n, repetir los pasos 7 a 8
Paso 7. Si I = J

(Xint xj )
xi xj
Paso 8. Hacer J = J + 1
Hacer L = L

Paso 9. Hacer FXint = FXint + L F(xi )


Paso 10. Hacer I = I + 1
Paso 11. Imprimir FXint y terminar
Ejemplo 4.7. Se da la siguiente tabla que muestra la poblacion de los Estados Unidos
desde 1930 hasta 1980

J. R. Ticona Parisaca

UNA

69

Metodos Numericos
Ano

Poblacion (en miles)

1930
123 203

1940
131 669

1950
150 697

1960
179 323

1970
203 212

1980
226 505

Encuentre el polinomio de Lagrange de grado 5 que ajusta estos datos y use este polinomio
para estimar la poblacion en los anos
1920, 1965 y 2000

4.6.3. Algoritmo de diferencias divididas


Para obtener los coeficientes de Diferencia divididas del polinomio interpolante p(x)
en los (n + 1) puntos distintos x0 , x1 , . . . , xn para la funcion f: Entrada: Los numeros

x0 , x1 , . . . , xn ; los valores f(x0 ), f(x1 ), . . . , f(xn ) como la primera columna Q0,0 , Q1,0 , . . . , Qn,0
Salida: Los numeros

Q0,0 , Q1,0 , . . . , Qn,0 donde


p(x) =

Qi,i

i1

i=0

(x xj )

j=0

Paso 1. Para
i = 1, 2, . . . , n
j = 1, 2, . . . , i
tomar

Qi,j1 Qi1,j1
xi xij

Qi,j =

Paso 2. Salida (Publicar Q0,0 , Q1,1 , . . . , Qn,n );

(Qi,i = f[x0 , x1 , . . . , xi ])

4.6.4. Algoritmo de diferencias divididas


Programa segun
el algoritmo del texto Antonio Nieves.
Para interpolar con polinomios de de grado m, proporcionar los datos Datos: El grado
del polinomio n, los m + 1 pares ordenados
{(x0 , y0 ), (x1 , y1 ), . . . , (xm , ym )}
Resultados: La tabla de diferencias divididas
Paso 1. Hacer n = m 1
Paso 2. i = 0
Paso 3. Mientras i n 1, repetir los pasos 4 y 5.
Paso 4. Hacer T (i, 0) =

yi+1 yi
xi+1 xi

Paso 5. Hacer i = i + 1

J. R. Ticona Parisaca

UNA

70

Metodos Numericos
Paso 6. Hacer j = 1
Paso 7. Mientras j n 1, repetir los pasos 8 a 12.
Paso 8. Hacer i = j
Paso 9. Mientras i n 1, repetir los pasos 10 y 11
Paso 10. Hacer
T (i, j) =

(T (i, j 1) T (i 1, j 1))
(xi+1 xij )

Paso 11. Hacer i = i + 1


Paso 12. Hacer j = j + 1
Paso 13. IMPRIMIR Y TERMINAR

4.6.5. Problemas
Nota. Enviar al correo electronico jticona48@gmail.com
1. Desarrollar el programa de diferencias divididas segun
el algoritmo del texto Antonio Nieves en el Mathematica
2. Con los siguientes valores
Puntos
l/r
p/a

0
140
12 800

1
180
7 500

2
220
5 000

3
240
3 800

donde p/a es la carga lb/pulg2 que causa la ruptura de una columna de hierro dulce
con extremos redondeados y l/r es la razon de la longitud de la columna al mnimo
radio de giro de su seccion transversal.
Encuentre el polinomio de tercer grado que pasa por estos puntos en sus distintas
formas
a) p3 (x) = a0 + a1 x + a2 x2 + a3 x3

(aproximacion polinomial simple)

b) Forma de Lagrange
c) Aproximacion utilizando diferencias divididas de Newton

J. R. Ticona Parisaca

UNA

71

Metodos Numericos

e integracion
numerica

4.7. Diferenciacion

4.7.1. Introduccion
Si se proporcionan los valores de una funcion f en ciertos puntos, digamos x0 , x1 , . . . , xn ,
se puede usar esta informacion para obtenre una estimacion de como es su derivada f (c)
b
o una integral a f(x)dx? La respuesta es un SI rotundo.
Empecemos este analisis

comnetando que si se parte exclusivamente de los valores


f(x0 ), f(x1 ), . . . , f(xn ) es imposible decir mucho acerca de f, a menos que tambien sepamos
que f forma parte de una familia relativamente pequena
de funciones. As, si se permite
que f sea parte de una familia relativamente pequena
de funciones continuas de variable
real. La figura. muestra que varias funciones que tienen los mismos valores en varios puntos.
Por otra parte, si sabemos que f es un polinomio de a lo mas
grado n, entonces los
valores en n + 1 puntos determinan completamente a f, segun
vimos en la teora de interpolacion presentada en la seccion anterior. En este caso recuperemos f exactamente, y
b
podemos entonces calcular con absoluta certeza f (c) o a f(x)dx. Sin embargo, en la mayor
parte de las situaciones que se apegan a la realidad, la informacion que se tiene disponible no determina completamente completamente a f, y cualquier estimacion numerica
de su derivada o de su integracion debera tomarse con escetticismo, a menos que venga
acompanada

de alguna cota para los errores comprendidos.

numerica

4.7.2. Diferenciacion
Ilustremos estos asuntos analizando una formula para la diferenciacion numerica que
surge de manera directa de la definicion de lmite de f (x):
f (x)

f(x + h) f(x)
h

(4.1)

Para una funcion lineal, f(x) = ax + b, la aproximacion que expresa la formula (4.1)
resulta exacta; esto es, proporciona el valor correcto de f (x) para cualquier valor de h
distinto de cero. Tambien en otros casos la formula puede ser exacta, pero esto ocurre de
manera fortuita. Porcedemos por lo tanto, a hacer una estimacion del error asociado a esta
formula de diferenciacion numerica. El punto de partida es el teorema de Taylor en la
forma:
h2
(4.2)
f(x + h) = f(x) + hf (x) + f ()
2
En este caso es un numero

en el intervalo abierto entre x y x + h. Para que la ecuacion

(4.2) sea valida,

f y f deberan ser continuas en el intervalo cerrado entre x y x + h, y f


debera existir en el intervalo correspondiente. Un reacomodo de la ecuacion (4.2) nos lleva
a:
f(x + h) f(x) h
f ()
(4.3)
f (x) =
h
2
J. R. Ticona Parisaca

UNA

72

Metodos Numericos

La ecuacion (4.3) es mas


util

que la ecuacion (4.1), debido a que una clase amplia de


funciones, como las mencionadas anteriores, se cuenta de con la formula numerica basica,

con un termino que cuantifica el error y que se conoce como termino de error.

va interpolacion
polinomica

4.7.3. Diferenciacion

J. R. Ticona Parisaca

UNA

73

Metodos Numericos

numerica

4.8. Integracion
En este seccion estudiaremos algunos metodos numericos para estimar el valor de una
integral definida

I=

f(x)dx
a

Integral en la cual el intervalo de integracion [a, b] es finito, y f es una funcion de una


variable real y valor real continua en [a, b].
Segun
el teorema fundamental del Calculo,

para una funcion f con las caracteristicas


indicadas antes, existe una antiderivada F de f en [a, b], es decir, F (x) = f(x) para todo
x [a, b], y
b
I = f(x)dx = F(b) F(a)
a

El problema para usar los metodos analticos de integracion es que, es posible que F no se
pueda expresar en terminos de funciones elementales, o aunque F se conozca explcitamente, e sta no se pueda evaluar facilmente.

Ejemplos de tales integrales son:


1
1
1
3
(a)
1 x dx
(b)
dx
5
0
0 1+x
/4
2
lnx
dx
(d)
xlnxdx
(e)
0
1 x+1

ex
(c)
dx
1 x
3
1
dx
(f)
2 lnx

ex dx

(d)
1

/2
Senx3 dx

(g)
0

Lo anterior motiva el uso de los metodos de integracion numerica que estudiaremos en lo


que sigue; los primeros que consideraremos se basan en la aproximacion de la funcion f
mediante polinomios interpolantes.

4.8.1. ALGUNAS FORMULAS


CERRADAS DE NEWTON-COTES
Supongamos que queremos estimar el valor de
b
I = f(x)dx
a

donde la funcion f es continua en el intervalo finito [a, b].


Una manera de hacer e sto se indica a continuacion:
Empezamos dividiendo el intervalo [a, b] en N subintervalos de igual longitud,
[x0 , x1 ], [x1 , x2 ], . . . , [xk , xk+1 ], ..., [xN1 , xN ],
donde los N + 1 puntos x0 , x1 , . . . , xN de la particion se obtienen a partir de la formula
xk = a + k h, k = 0, 1, . . . , N

J. R. Ticona Parisaca

UNA

74

Metodos Numericos
siendo h =

ba
de paso.
. Nos referiremos a h como el tamano
N

Notese que x0 = a, xN = b, y que h = xk+1 xk , cualquiera sea k = 0, 1, . . . , N 1. Aho


ra bien, si pN (x) = N
on de Lagrange para la
j=0 f(xj )Lj (x) es el polinomio de interpolaci
funcion f en los nodos x0 , x1 , . . . , xN , entonces
b
I=
a

f(x)dx

b
pN (x)dx =

b
N

f(xj )Lj (x) =

a j=0

b
f(xj )

Lj (x)
a

j=0

De esta forma se obtiene una formula del tipo


b
I=

f(x)dx

donde

Aj f(xj )

j=0

b
Aj =

Lj (x),

j = 0, 1, . . . , N

Una formula del tipo anterior, para aproximar el valor de

formula
de cuadratura (cerrada) de Newton-Cotes.

b
a

f(x)dx, es llamada una

En muchos casos, en lugar de aproximar la funcion f en el intervalo completo [a, b] por


un solo polinomio interpolante, usando todos los nodos x0 , x1 , . . . , xN , mas
bien la aproximamos por tramos mediante polinomios interpolantes usando dos, tres o mas
nodos consecutivos.
Estudiaremos solamente tres de estos ultimos

tipos de aproximaciones: La regla de los


1
3
Trapecios, la regla de Simpson y la regla de Simpson .
3
8

4.8.2. Regla del trapecio


Corresponde e sta al caso en que la funcion f se aproxima en cada subintervalo [xk , xk+1 ], k =
0, 1, . . . , n 1, mediante el polinomio de interpolacion lineal de Lagrange, pk (x) , usando
los nodos xk y xk+1 .

J. R. Ticona Parisaca

UNA

75

Metodos Numericos
Algoritmo de la Regla del trapecio

ba
y xj = a + j h para cada j = 0, 1, 2, . . . , n la
n
regla del trapecio para n subintervalos es
[
]
b
n1

h
(b a)h2
f(x)dx =
f(a) + f(b) + 2
f(xj )
f () para algun
a, b
2
12
a
j=1

Teorema 4.3. Sea f C2 [a, b], con h =

Si despreciamos el error, entonces la integral definida se aproxima por la regla del trapecio,
es decir:
[
]
b
n1

h
f(a) + f(b) + 2
f(xj )
(4.4)
f(x)dx
2
a
j=1
Para aproximar la integral definida de una funcion continua f(x) en el intervalo [a, b]
por la regla del Trapecio Compuesta, proporcionar la funcion y el numero

de subdivisiones de intervalo [a, b]


Datos. La funcion continua f(x), el numero

de trapecios, es decir n (n 1 n ZZ+ ), el


lmite inferior de integracion a y el lmite superior de integracion b
Resultados. La integral aproximada Suma
Algoritmo
Paso 1. Hacer x = a
Paso 2. Hacer sum = 0
ba
n
Paso 4. Si n = 1, ir al Paso 10. De otro modo continuar
Paso 3. Hacer h =

Paso 5. Hacer i = 1
Paso 6. Mientras i n 1, repetir los Paso 7 a Paso 9
Paso 7 Hacer x = x + h
Paso 8 Hacer sum = sum + f(x)
Paso 9 Hacer i = i + 1
Paso 10. Hacer sum =

h
[f(a) + 2 sum + f(b)]
2

Paso 11. Publicar la integral aproximada es sum

J. R. Ticona Parisaca

UNA

76

Metodos Numericos

4.8.3. Regla del Simpson


Teorema 4.4. Sea f C4 [a, b], existe a, b tal que la regla de Simpson sobre
n = 2m subintervalos de [a, b] con su termino error se puede expresar como
[
]
b
m1
m

h
(b a)h4 (4)
f(x)dx =
f(a) + f(b) + 2
f(x2j ) + 4
f(x2j1 )
f ()
3
180
a
j=1
j=1
ba
, y xj = x0 + j h para cada j = 0, 1, 2, . . . , 2m.
2m
Si despreciamos el error, entonces la integral definida se aproxima por la regla de Simpson,
es decir:
[
]
b
m1
m

h
f(a) + f(b) + 2
f(x2j ) + 4
f(x2j1 )
(4.5)
f(x)dx
3
a
j=1
j=1

donde a = x0 < x1 < < x2m = b y h =

Algoritmo (Texto. Analisis


Numerico, Richard L. Burden) Para aproximar la integral definida de una funcion continua f(x) en el intervalo [a, b] por la regla de Simpson
Compuesta, proporcionar la funcion continua y el numero

de subdivisiones del intervalo


[a, b]
Datos. La funcion continua f(x), el numero

de subdivisiones, es decir
+
n = 2m (m 1 m ZZ ), el lmite inferior de integracion a y el lmite superior de
integracion b
Resultados. La integral aproximada Suma
Paso 1. Hacer h =

ba
2m

Paso 2. Tomar
x10 = f(a) + f(b)
x11 = 0; (Suma de f(x2i1 ))
x12 = 0; (Suma de f(x2i )).
Paso 3. Para i = 1, 2, 3, . . . , 2m 1 seguir los Paso 4 y Paso 5
Paso 4 Tomar x = a + i h
Paso 5 Si i es par, entonces tomar
.
sino tomar
Paso 6. Tomar sum =

x12 = x12 + f(x)


x11 = x11 + f(x)

h
[x10 + 2 x12 + 4 x11 ]
3

Paso 7. Publicar la integral aproximada es sum


Algoritmo (Texto. Metodos Numerico, Antonio Nieves) Para aproximar el area

bajo la curva de una funcion continua f(x) en el intervalo [a, b], proporcionar la funcion f(x) y

J. R. Ticona Parisaca

UNA

77

Metodos Numericos

Datos. El numero

(par)de subintervalos n, el lmite inferior de integracion a y el lmite


superior de integracion b
Resultados. El area

aproximada es Suma
Paso 1. Hacer S1 = 0
Paso 2. Hacer S2 = 0
Paso 3. Hacer x = a
Paso 4. Hacer h =

ba
n

Paso 5. Si n = 2, ir al Paso 13. De otro modo continuar.


Paso 6. Hacer i = 1
Paso 7. Mientras i

n
1, repetir los Paso 8 a Paso 12
2

Paso 8. Hacer x = x + h
Paso 9. Hacer S1 = S1 + f(x)
Paso 10. Hacer x = x + h
Paso 11. Hacer S2 = S2 + f(x)
Paso 12. Hacer i = i + 1
Paso 13. Hacer x = x + h
Paso 14. Hacer S1 = S1 + f(x)
Paso 15. Hacer sum =

h
[f(a) + 4 S1 + 2 S2 + f(b)]
3

Paso 16. Publicar la integral aproximada es sum

4.8.4. Ejercicios
1. Use la regla del trapecio compuesta con el valor indicado n para aproximar las siguientes integrales definidas. Compare las aproximaciones con el resultado exacto.
2
3
dx
; n = 4,
(b)
x3 dx; n = 4
(a)
x
0
1
3
1
(c)
x 1 + x2 dx; n = 6
(d)
Sin(x)dx; n = 6
0
0
2
1
(e)
xSenxdx; n = 8
(f)
x2 ex dx; n = 8
0

J. R. Ticona Parisaca

UNA

78

Metodos Numericos
2. Repetir el ejercicio 1, usando la regla compuesta de Simpson
3
2
dx
x3 dx; n = 4
(a)
; n = 4,
(b)
1 x
0
3
1
(c)
x 1 + x2 dx; n = 6
(d)
Sin(x)dx; n = 6
0
0
2
1
(e)
xSenxdx; n = 8
(f)
x2 ex dx; n = 8
0

J. R. Ticona Parisaca

UNA

79

Metodos Numericos

4.8.5. Algoritmo de Romberg


La integracion de Romberg es un metodo numerico para obtener una estimacion del
valor de una integral definida con base en dos o mas
aplicaciones de una formula como la
de los Trapecios (o Simpson) empleando diferentes tamanos
de paso, pero que es mejorada
al combinarse con el proceso de extrapolacion de Richardson.
El procedimiento de Romberg para aproximar

b
a

f(x)dx, consiste en lo siguiente:

1. Aplicamos la regla del trapecio sucesivamente para tamanos


de paso hk variables,
as:
h1 = b a
ba
h2 =
2
ba
h3 =
22
..
..
.
.
hk =

(m1 = 1subintervalo),
h1
=
(m2 = 2subintervalos),
2
h2
=
(m3 = 22 subintervalos),
2
..
.

ba
hk1
=
k1
2
2

(mk = 2k1 subintervalos)

donde n es algun
entero positivo.

2. Al reemplazar h por hk en la regla de los Trapecios, obtenemos

b
2k1
1
2k1 1

h3k
hk

f(a) + f(b) + 2
f(a + i hk )
f (i )
f(x)dx =
2
12
a
1=1
1=1
donde i es tal que a + i hk < < a + (i + 1)hk .

Si denotamos
Rk,1 =

hk
f(a) + f(b) + 2
2

2k1
1

f(a + i hk )

1=1

entonces al variar k = 1, 2, . . . , n, obtenemos las aproximaciones mediante la regla de


los Trapecios
(b a)
h1
[f(a) + f(b)] =
[f(a) + f(b)]
2
2
h2
[f(a) + f(b) + 2f(a + h2 )]
=
2
[
(
)]
(b a)
ba
=
f(a) + f(b) + 2f a +
4
2
(
{
)}
ba
1 (b a)
[f(a) + f(b)] + (b a)f a +
=
2
2
2

R1,1 =
R2,1

J. R. Ticona Parisaca

UNA

80

Metodos Numericos
es decir
R2,1

[
(
)]
1
h1
=
R1,1 + h1 f a +
2
2

Ahora,
R3,1

[
]
3

h3
=
f(a) + f(b) + 2
f(a + i hk )
2
1=1
h3
{f(a) + f(b) + 2[f(a + h3 ) + f(a + 2h3 ) + f(a + 3h3 )]}
2
{
[ (
)
(
)
(
)]}
(b a)
ba
2(b a)
3(b a)
=
f(a) + f(b) + 2 f a +
+f a+
+f a+
8
4
4
4

Simplificando, tenemos
R3,1

[
[ (
)
(
)]]
h2
3h2
1
=
R2,1 + h2 f a +
+f a+
2
2
2

En general, se puede demostrar que

k2
(
(
)
)
2

1
2i 1
Rk,1 =
Rk1,1 + hk1
f a+
hk1
,

2
2

k = 2, 3, . . . , n

i=1

3. Para ilustrar esta primera parte del procedimiento, aproximemos la integral


3
1
dx = ln3 = 1,098612289
1 x
mediante los numeros

de Romberg Rk,1 con k = 1, 2, 3 n = 3.


[
]
(3 1)
1
4
R1,1 =
[f(1) + f(3)] = 1 1 +
= 1,333333333
2
3
3
[
]
1
7
1 4
R2,1 =
+ (3 1)
= 1,166666667
2 3
2
6
{
{
}}
1 7 (3 1) 7 16
67
R3,1 =
+
+
=
1,116666667
2 6
2
6 15
60
4. Se observa que las aproximaciones Rk,1 van acercandose

al valor exacto de la integral,


pero con lentitud. Para acelerar la convergencia, usamos ahora extrapolacion de
Richardson y un resultado que nos muestra otra forma para el error en la aplicacion
de la formula de los Trapecios:

k1 1
b
2k1
1
3 2

h
hk
k
f(a + i hk )
f(a) + f(b) + 2
f (i )
f(x)dx =
2
12 1=1
a
1=1
{z
}
|
{z
} |
Rk,1

error

J. R. Ticona Parisaca

UNA

81

Metodos Numericos
y asumiendo que f(iv) esta acotada en [a, b], entonces
b
f(x)dx =
a

4Rk,1 Rk1,1
+ O(h4k ),
3

k = 2, 3, . . . , n

Para continuar con el procedimiento de Romberg, definimos:


Rk,2 =

4Rk,1 Rk1,1
,
3

k = 2, 3, . . . , n

Se puede demostrar que las aproximaciones Rk,2 , k = 2, 3, . . . , n corresponden a las


1
aproximaciones obtenidas por la Regla de Simpson con h = hk
3
5. Para el ejemplo, tenemos
R2,2
R3,2

( )
4 76 43
4R2,1 R1,1
10
=
=
=
1,1111111111
3
9
( 673) 7
4 60 6
198
4R3,1 R2,1
=
=
1,100000000
=
3
3
180

Aplicando sucesivamente el proceso de extrapolacion de Richardson, obtenemos


Ri,j =

4j1 Ri,j1 Ri1,j1


,
4j1 1

i = 1, 2, 3, . . . , n

y j = 2, 3, . . . , i

Recordemos que

Rk,1 =

hk
f(a) + f(b) + 2
2

2k1
1

f(a + i hk )

1=1

y que
R1,1 =

(b a)
[f(a) + f(b)]
2

El orden en que se calculan los Ri,j es (por filas):


R1,1

R2,1 R2,2

R3,1 R3,2 R3,3


donde para calcular R2,2 , necesitamos conocer R1,1 , y R2,1 ; para calcular R3,2 , necesitamos conocer R2,1 y R3,1 ; para calcular R3,3 , necesitamos conocer R2,2 , y R3,2 ; etc.
As que el uso mas eficiente de esta tabla se logra realizando los calculos

por filas de
modo que con aplicar una sola vez mas
la regla de los Trapecios (para calcular Rk,1 )
se pueda calcular la siguiente fila.

J. R. Ticona Parisaca

UNA

82

Metodos Numericos
Es decir, el orden en que se calculan los elementos es R1,1 , R2,1 , R2,2 , R3,1 , R3,2 , R3,3 , . . .

Se puede demostrar, que los terminos de la diagonal convergen al valor exacto de la


integral siempre y cuando los valores Rk,1 converjan a e ste numero.

Se espera, en general,
que la sucesion {Rk,k }k converja mucho mas
rapido

que la sucesion {Rk,1 }k Para el ejemplo,


tenemos:
( ) 10
9
16 198
431 R3,2 R2,2
1584 100
1484
180
R3,3 =
=
=
=
1,099259259
31
4 1
15
1350
1350
Algoritmo de Rombergg
b

Para encontrar un valor aproximado de I =


Romberg:

f(x)dx, usando el metodo de integracion

Entrada La funcion continua f(x). Los extremos del intervalo [a, b] y el entero n ZZ+
Salida El arreglo matricial R (Rn,n ) es la aproximacion a I.
Paso 1. Tomar h = b a;
h
.
R1,1 = (f(a) + f(b))
2
Paso 2. Salida (R1,1 )
Paso 3. Para i = 2, 3, . . . , n seguir los Pasos 4 8.
Paso 4. Tomar
R2,1 =

i2

1
R1,1 + h
f(a + (k 0,5)h)
2
k=1

(Aproxim. usando la regla de los trapecios)

Paso 5. Para j = 2, 3, . . . , i
tomar

R2,j =

4j1 R2,j1 R1,j1


4j1 1

(Extrapolacion de Richardson)

Paso 6. Salida: Los numeros

de Romberg ( R2,j para j = 1, 2, . . . , i)


h
Paso 7. Tomar h = (cambiar la longitud del subintervalo)
2
Paso 8. Para j = 1, 2, . . . , i tomar R1,j = R2,j
Paso 9. TERMINAR
Este algoritmo solo utiliza dos vectores en memoria para calcular los numeros

de Romberg.

J. R. Ticona Parisaca

UNA

83

Metodos Numericos

4.8.6. Problemas
1. Use la integracion de Romberg para calcular R3,3 para las siguientes integrales definidas
3
2
dx
(a)
(b)
x3 dx
x
1
0
3
1
(c)
x 1 + x2 dx
(d)
Sin(x)dx
0
0
1
2
x2 ex dx
xSenxdx
(f)
(e)
0

2. Use el procedimiento de integracion Romberg para aproximar


Rn,n1 y Rn,n coincida dentro de 106 .

2
0

x2 ex dx hasta que

de Hermite
4.9. Interpolacion
Teorema 4.5. Si f C1 [a, b] y x0 , x1 , . . . , xn [a, b] son distintos, el unico

polinomio de

menor grado que coincide con f y f en x0 , x1 , . . . , xn es un polinomio de grado a lo mas

2n + 1 dado por
n
n

b n, j (x)
H2n+1 (x) =
f(xj )Hn, j (x) +
f (xj )H
(4.6)
j=0

j=0

donde

Hn, j (x) = [1 2(x xj )Ln,j


(xj )] L2n,j (x)

b n, j (x) = (x xj ) L2 (x)
H
n,j
(x x0 )(x x1 ) (x xj1 )(x xj+1 ) (x xn )
Ln,j (x) =
(xj x0 )(xj x1 ) (xj xj1 )(xj xj+1 ) (xj xn )
n

(x xi )
=
para cada j = 0, 1, . . . , n
(x
j xi )
i=0, i=j

(4.7)

Ejemplo 4.8. Use el polinomio de menor grado que coincide con los datos mostrados en la
Tabla. para una funcion y aproximar el valor de f(1,5)
k
0
1
2

xj
1,3
1,6
1,9

f(xj )
0,6200860
0,4554022
0,2818186

f (xj )
0,5220232
0,5698959
0,5811571

Primero calculemos los polinomios de Lagrange y sus derivadas:

J. R. Ticona Parisaca

UNA

84

Metodos Numericos

Supongamos que se dan n + 1 numeros

distintos x0 , x1 , x2 , . . . , xn junto con sus valores

f y f . Lo primero que hacemos es definir una nueva sucesion z0 , z1 , z2 , . . . , z2n+1 por


z2i = z2i+1 = xi

para cada i = 0, 1, 2, . . . , n

con esto se construye la tabla de la diferencia dividida en la forma de la tabla que usa
z0 , z1 , z2 , . . . , z2n+1
Como z2i = z2i+1 = xi para cada i, f[z2i , z2i+1 ] no puede ser definido por la relacion basi
ca (3.12). Sin embargo, si suponemos, basandonos

en el teorema 3.6, que la sustitucion

razonable en esta situacion es f[z2i , z2i+1 ] = f (xi ), podemos usar los valores
f (x0 ), f (x1 ), . . . , f (xn )
en lugar de las primeras diferencias divididas indefinidas
f[z0 , z1 ], f[z1 , z2 ], f[z2 , z3 ], f[z2n , z2n+1 ]
z
f(z)
Primeras dif. divididas
z0 = x0 f[z0 ] = f(x0 )
f[z0 , z1 ] = f (x0 )
z1 = x0 f[z1 ] = f(x0 )
f[z1 , z2 ] =

Segundas dif. divididas

f[z0 , z1 , z2 ] =

f[z1 , z2 ] f[z0 , z1 ]
z2 z0

f[z1 , z2 , z3 ] =

f[z2 , z3 ] f[z1 , z2 ]
z3 z1

f[z2 , z3 , z4 ] =

f[z3 , z4 ] f[z2 , z3 ]
z4 z2

f[z3 , z4 , z5 ] =

f[z4 , z5 ] f[z3 , z4 ]
z5 z3

f[z2 ] f[z1 ]
z2 z1

z2 = x1 f[z2 ] = f(x1 )
f[z2 , z3 ] = f (x1 )
z3 = x1 f[z3 ] = f(x1 )
f[z3 , z4 ] =

f[z4 ] f[z3 ]
z4 z3

z4 = x2 f[z4 ] = f(x2 )
f[z4 , z5 ] = f (x2 )
z5 = x2 f[z5 ] = f(x2 )
Algoritmo de Hermite

Para obtener los coeficientes del polinomio de Hermite H en los (n + 1) numeros

distintos x0 , x1 , x2 , . . . , xn para la funcion f:


Entrada. Ingresar los numeros

x0 , x1 , x2 , . . . , xn ; los valores f(x0 ), f(x1 ), f(x2 ), . . . , f(xn ) y

f (x0 ), f (x1 ), f (x2 ), . . . , f (xn )


Salida. Los numeros

Q0,0 , Q1,1 , . . . , Q2n+1,2n+1 donde


H(x) = Q0,0 + Q1,1 (x x0 ) + Q2,2 (x x0 )2 + Q3,3 (x x0 )2 (x x1 ) + Q4,4 (x x0 )2 (x x1 )2 +
+ Q2n+1,2n+1 (x x0 )2 (x x1 )2 (x xn1 )2 (x xn )

J. R. Ticona Parisaca

UNA

85

Metodos Numericos
Paso 1. Para i = 0, 1, 2, . . . , n seguir los Pasos 2 y 3
Paso 2. Tomar
z2i = xi ;
z2i+1 = xi ;
Q2i,0 = f(xi );
Q2i+1,0 = f(xi );
Q2i+1,1 = f (xi );
Paso 3. Si i = 0 entonces tomar
Q2i,1 =
Paso 4. Para j = 2, 3, . . . , 2n + 1
.
para j = 2, 3, . . . , i

Q2i,0 Q2i1,0
z2i z2i1

tomar
Qi,j =

Qi,j1 Qi1,j1
zi zij

Paso 5. Publicar (Q0,0 , Q1,1 , . . . , Q2n+1,2n+1 )

4.9.1. Ejercicios
1. Sea f(x) = 3xex e2x , aproxime f(1,03) por medio de un polinomio interpolante de
grado a lo mas
cinco, usando x0 = 1, x1 = 1,05 y x2 = 1,07
2. Un coche que viaja en una carretera recta es cronometrada en algunos puntos. Los
datos de las observaciones se dan en la siguiente tabla donde el tiempo esta en segundos, la distancia en pies y la velocidad en pies sobre segundos. Use un polinomio de
Hermite para predecir la posicion del coche y su velocidad cuando t = 10seg.
Tiempo
0
3
5
8
13
Distancia 0 225 383 623 993
Velocidad 75 77 80 74 72

J. R. Ticona Parisaca

UNA

86

Metodos Numericos

4.10. Ecuaciones diferenciales ordinarias


En esta seccion se dedicara al estudio de algunos metodos numericos
Introduccion
para encontrar una aproximacion discreta de la solucion y(t) de un problema de valor
inicial (P.V.I.) de primer orden, con solucion unica,

del tipo

dy
= f(t, y), t0 t T
(4.8)
dt
y(t ) = y ,
(Condicion inicial)
0

Los metodos numericos que estudiaremos se podran


aplicar a sistemas de ecuaciones diferenciales de primer orden con condiciones iniciales, con solucion unica,

de la forma

dy1

= f(t, y1 , y2 , . . . , yn ),

dt

dy2

= f(t, y1 , y2 , . . . , yn ),
t0 t T

dt
..
(4.9)
.

dyn

= f(t, y1 , y2 , . . . , yn ), ,

dt
y1 (t0 ) = y1,0 , y2 (t0 ) = y2,0 , . . . , yn (t0 ) = yn,0 . (Condicion inicial)
En este caso se aplicara el metodo a cada ecuacion del sistema.
Los metodos numericos que veremos tambien se podran
aplicar a problemas generales
de nesimo orden con condicion inicial, de solucion unica,

de la forma

(n) dn y
y = n = f(t, y, y , y , . . . , y(n1) ),
t0 t T
(4.10)
dt
y(t ) = y , y (t ) = y , . . . , y(n1) (t ) = y
(Condicion inicial)
0

1,0

2,0

n,0

Esta vez, para aplicar el metodo numerico, empezamos transformando el P.V.I. dado en
un sistema equivalente del tipo (4.9), introduciendo las variables y1 = y, y2 = y , y3 =
y , . . . , yn = y(n1) . Derivando miembro a miembro cada una de estas ultimas

ecuaciones
con respecto a t, obtenemos el sistema equivalente

y1 = y2 ,

y2 = y3 ,

y = y4 ,
t0 t T
3
(4.11)
.
..,

yn = f(t, y1 , y2 , . . . , yn ),

y (t ) = y , y (t ) = y , . . . , y (t ) = y , (Condicion inicial)
1

1,0

2,0

n,0

Sera que todo P.V.I. de la forma (4.8) tiene una solucion?


Existencia de solucion:
La respuesta es no, hay que imponer algunas condiciones sobre la funcion f(t, y), y aun

satisfechas tales condiciones, es posible que la solucion exista solamente en una vecindad
de t0 . Como ejemplo, consideremos el P.V.I.

1
y = ,
t
y(1) = 1.

J. R. Ticona Parisaca

UNA

87

Metodos Numericos

1
es y(t) = ln|t| +
t
C, C constante arbitraria. Para la condicion inicial dada la solucion del P.V.I. es y(t) =
ln|t| + 1, pero no hay solucion para una condicion inicial en t = 0.

La solucion general de la ecuacion diferencial ordinaria (E.D.O.) y =

Para el P.V.I.

y = 1 + y2 ,
y(0) = 0.

3
y(t) = Tant es la solucion, pero no esta definida para t = , , . . .. As que la solucion
2
2

es valida

unicamente

para ,
o cualquier intervalo contenido all y que contenga al
2 2
numero

0.
Teorema 4.6. Si f(t, y) es continua en el rectangulo

R = {(t, y) / t0 t t0 + a, |y y0 | b}
entonces existe un intervalo t0 t t0 + en el cual existe una solucion y(t) del P.V.I.

dy
= f(t, y),
dt
y(t ) = y
0

Unicidad de la solucion: Puede que, aunque f(t, y) sea continua, el P.V.I. (4.8) tenga mas

de una solucion. Un ejemplo es el P.V.I.

dy
= y1/3 ,
dt
y(0) = 0
(
para el cual y1 (t) 0 y y2 (t) =

2t
3

)3/2
son soluciones.

Para asegurar que el P.V.I. (4.8) tiene una unica

solucion en una vecindad de t = t0 , se


requiere algo mas
que la continuidad de la funcion f(t, y). Una de las formas mas
usuales
de presentar el teorema que garantice existencia y unicidad de solucion del P.V.I. (4.8), es
la siguiente.

J. R. Ticona Parisaca

UNA

You might also like