Professional Documents
Culture Documents
M
etodos Num
ericos para el
C
alculo Cientfico con Matlab
TOMO 1
Presentado por:
Mera Carrasco, Junior Lino
Asesor:
Dr. Collantes Santisteban, Luis Jaime
UNPRG
UNIVERSIDAD NACIONAL
PEDRO RUIZ GALLO
M
etodos Num
ericos para el C
alculo
Cientfico con Matlab
TOMO 1
ECUACIONES NO LINEALES
Presentado por:
Asesor:
LAMBAYEQUE PERU
2014
Introducci
on
La presentacion de estos tomos tiene su origen en los Seminarios denominados FUN
DAMENTOS DE ECUACIONES NO LINEALES, INTERPOLACION,
DIFEREN E INTEGRACION
NUMERICA
CIACION
PARA EL CALCULO
CIENTIFICO y
CALCULO
CIENTIFICO DE ECUACIONES NO LINEALES, INTERPOLACION,
E INTEGRACION
NUMERICA
DIFERENCIACION
CON MATLAB desarrollados
en Diciembre del 2012 como investigacion de los cursos de Seminario de Matematica
Pura y Aplicada de la carrera profesional de Matematicas de la Universidad Nacional
Pedro Ruiz Gallo con el asesoramiento del Dr. Luis Jaime Collantes Santisteban, dichos
trabajos enfocaban la parte teorica y practica de algunos temas del Calculo Cientfico.
Estos tomos no son documentos comerciales, por el contrario decidimos trabajar para
que se encuentre al alcance de todos, es bien sabido la dificultad que tienen estudiantes
y profesionales de ingeniera, ciencias medicas, ciencias economicas entre otras para idealizar sus problemas y desarrollar un modelo matematico adecuado en algunos casos es
difcil porque la aplicacion resulta excesivamente compleja o los metodos analiticos no se
adecuan muy bien a sus resultados por ello es conveniente el uso de metodos numericos
los cuales conducen a soluciones aproximadas pero mas manejables y se puede dar uso
a un ordenador provisto de un software adecuado, para nuestro caso Matlab.
Metodos Numericos para el Calculo Cientfico con Matlab esta divido en 7 tomos:
Metodos Numericos para el Calculo Cientfico con Matlab, explicara de manera sencilla
y con ejemplos el uso y la programacion de Interfaces Graficas de Usuario (GUI) as como el clasico uso de los archivos .m y por supuesto la solucion manual.
Dejaremos para el final los codigo fuente utilizados en la creacion de las interfaces graficas.
Por favor, soy Rodney McKay, difcil tarda unos segundos. Imposible, un par de minutos. Dr. Rodney McKay - Stargate Atlantis
INDICE GENERAL
1. Ecuaciones no Lineales
12
16
17
17
19
21
23
26
27
28
2. Aplicaci
on mediante GUIs
30
31
33
35
37
39
41
43
45
45
52
58
58
61
63
65
67
69
71
Captulo 1
ECUACIONES NO LINEALES
En este captulo estudiaremos el problema de la b
usqueda de raices o ceros de una
ecuacion no lineal. La razon principal para resolver ecuaciones no lineales por medio
de metodos n
umericos es que esas ecuaciones carecen de solucion exacta con metodos
algebraicos , excepto para muy pocos problemas. La solucion analitica de las ecuaciones
polinomiales existe solo hasta el orden cuatro pero no existen soluciones en forma exacta
para ordenes superiores. Por lo tanto, las raices de esas ecuaciones no lineales se obtienen
mediante metodos numericos basados en procedimientos iterativos.
Los metodos numericos dise
nados para encontrar las raices son poderosos, aunque cada
uno tiene sus propias limitaciones y defectos. El metodo de biseccion consiste en encontrar una raz si se conoce un intervalo que contenga a la raz. Por lo tanto este metodo
necesita un esfuerzo preliminar para estimar un intervalo adecuado que contenga a la
raz deseada. El metodo de Newton necesita una estimacion inicial, pero no es necesaria
la estimacion de un intervalo. Interacion de punto fijo necesita un punto x0 capaz de
producir una sucesion que converja confiable y rapidamente a la b
usqueda de la raz con
cierto n
umero de interaciones. El metodo de Aitken permite acelerar la convergencia de
una sucesion, va interaciones de punto fijo. El metodo de Horner es un metodo muy
rapido y muy sencillo por que no requiere iteraciones y permite evaluar a aun polinomio
(y su derivada) en un punto x0 .
1.
Ecuaciones no Lineales
Definici
on 1.0.1. (M
etodo Iterativo) Es aquel metodo numerico en el que partiendo
de un valor x0 arbitrario, se calcula una sucesion x0 , x1 , x2 , . . . de forma recurrente,
mediante una relacion de la forma
xn+1 = g(xn ),
n = 0, 1, 2, . . .
donde, xi R y g : R R.
Los metodos iterativos tambien se utilizan en otros problemas numericos y, en general,
son muy poco vulnerables al crecimiento del error por redondeo.
Iteraci
on: Los pasos que se dan, en un algoritmo, para calcular un iterado, xn+1 , a
partir del iterado anterior, xn .
Definici
on 1.0.2. (Orden de Convergencia)Si la sucesion {xn }
n=0 converge a y
en = xn n 0, entonces existe una constante A > 0 y R > 0 tales que
|en+1 |
=A
n |en |R
lm
1.
Ecuaciones no Lineales
1.1.
M
etodo de Bisecci
on
Este metodo es el mas simple, aunque tambien el mas seguro y solido para encontrar
una raz en un intervalo, dado donde se sabe que existe dicha raz. Su u
nica ventaja es
que funciona a
un para funciones no analticas (ver definicion ??).
Sea f una funcion continua en el intervalo entre x = a y x = b (I (0) = [a(0) , b(0) ]).
El metodo de biseccion se basa en el hecho de que, para que un intervalo [a, b] tenga una
raz, basta que los signos de y(x) en los dos extremos sean opuestos, o bien que f (a) o
f (b) se anulen; es decir, f (a)f (b) 0 supongamos que es u
nico, y llamemosle .
El primer paso para utilizar este metodo es bisectar el intervalo [a, b] en dos mitades; a
saber, [a, c] y [c, b], donde c = (a + b)/2. Al verificar los signos de f (a)f (c) y f (c)f (b),
se localiza la mitad del intervalo que contiene la raz. Asi, si f (a)f (c) 0, el intervalo
[a, c] que incluye a x = a y x = c contiene a la raz en caso contrario, el intervalo
[c, b] = I (1) = [a(1) , b(1) ] tiene la raz. El nuevo intervalo que contiene a la raz se bisecta
de nuevo.
y=f(x)
C
a= a
a0
a1
b= b0
0
b
C
C
2
a
1
b
C
2
b
1.
Ecuaciones no Lineales
10
(b a)
2k
ba
Teorema 1.1.1. Supongamos que f C[a, b] y f (a).f (b) < 0. El metodo de biseccion
generan una sucesion {x(k) } que aproxima a un cero () de f , tal que
|x(k) | <
ba
,
2k
k1
1
2k1
(b a)
y (a(k) , b(k) )
1.
Ecuaciones no Lineales
11
[a, b]
[f (a), f (b)]
f (c)
[2,4]
[0.6931,-0.6137]
0.0986
[3,4]
[0.0986,-0.6137]
3.5
-0.2472
[3,3.5]
[0.0986,-0.2472]
3.25
-0.0713
[3,3.25]
[0.0986,-0.0713]
3.125
0.0144
[3.125,3.25]
[0.0144,-0.0713]
3.1875
-0.0282
[3.125,3.1875]
[0.0144,-0.0282]
3.15625
-0.00686
[3.125,3.15625]
[0.0144,-0.0686]
3.140625
0.003879
[3.140625,3.15625]
[0.00379,-0.0686]
3.1484375
-0.00153
[3.140625,3.1484375]
[0.00379,-0.00153]
3.14453125
0.00113
[3.14453125,3.1484375]
[0.00113,-0.000153]
3.146484375
-1.9861104
[3.14453125,3.146484375]
[0.00113,-1.9861104]
3.145507813
4.6753104
3.1459960494
1.34469104
[3.1445507813,3.146484375] [4.6753104,-1.9891104]
[3.145996094,3.146484375]
[1.34469104,-1.9861104]
3.146240235
-3.2070105
[3.145996094,3.146240235]
[1.34469104,-3.2070105]
3.146118165
5.119966105
[3.146118165,3.146240235]
[5.119932105,-3.2070105]
3.1461792
9.5642106
[3.1461792,3.146240235]
[9.5642105,-3.2070105]
3.146240235
9.5642106
1.
Ecuaciones no Lineales
1.2.
12
M
etodo de Newton
f (x(k) )
,
f (x(k) )
k0
(1.1)
con tal de que f (x(k)) 6= 0. Esta formula nos permite calcular una sucesion de valores
x(k), el cual comienza con una aproximacion inicial x(0) . Este metodo se conoce como
Pendiente f'(x1 )
y=f(x)
(x1 , f(x 1 ))
x0
Pendiente f'(x 0 )
x2
x1
(x 0, f(x 0 ))
1.
Ecuaciones no Lineales
13
(1.2)
donde (k) = x(k+1) x(k) . Forzando a f (x(k+1) ) a ser cero y despreciando el termino
O(( (k) )2 ), podemos obtener x(k+1) en funcion de x(k) , como se establece en (1.1). A este
respecto (1.1) puede considerarse como una aproximacion de (1.2).
En general, el metodo de Newton no converge para todas las posibles elecciones de x(0) ,
sino solo para aquellos valores que estan suficientemente cerca de .
En la practica, se puede obtener un posible valor inicial x(0) recurriendo a una cuantas
iteraciones del metodo de biseccion o, alternativamente, a traves de una investigacion
de la grafica de f .
Si x(0) se escoge apropiadamente y es un cero simple (esto es, f () 6= 0) entonces el
metodo de Newton converge. En el caso en que f sea continuamente diferenciable hasta
su segunda derivada, se tiene el siguiente resultado de convergencia (ver definicion 1.0.2
).
x(k+1)
f ()
=
k (x(k) )2
2f ()
lm
(1.3)
f (x(k) )
,
f (x(k) )
k0
(1.4)
con f (x(k) 6= 0). Obviamente, este metodo de Newton modificado requiere el conocimiento a priori de m.
1.
Ecuaciones no Lineales
14
k = 1, . . . , que
f (x)
.
f (x)
Sea m un n
umero cualquiera en (0, 1). primero debemos encontrar un intervalo [
, + ] que g mapea en si mismo y que |g (x)| m para toda x ( , + ).
f (x)f (x)
,
[f (x)]2
Como g es continua y como 0 < m < 1, implica que existe , con 0 < < 1 , y
|g (x)| m, para todo x [ , + ].
Por el teorema del valor medio tenemos que para algun n
umero entre x y , |g(x)
g()| = |g ()||x |. por lo tanto,
f (x(k1) )
f (x(k1) )
k =
1.
Ecuaciones no Lineales
15
Como podemos observar en el cuadro cuadro 2.2 , el metodo de Newton en en este caso
k
x(k)
|x(k) |
|x(k+1) |
|x(k) |
1.5
0.5
0.4
1.8
0.2
0.47
1.905882359
0.0941
0.49
1.954132539
0.04587
0.494
1.9773386164
0.02266
0.497
1.988734610
0.011266
0.498
1.994383304
0.0056167
0.499
1.997195612
0.0028044
0.499
1.998598791
0.00140121
0.499
1.999299641
0.00070036
0.4999
10
1.999649882
0.00035012
0.4999
11
1.999824956
0.00017504
0.4999
12
1.999912482
0.00008752
0.5
13
1.999956242
0.0000438
0.5
14
1.999978121
0.000021879
0.499
15
1.999989061
0.000010939
0.4999
16
1.999994530
0.00000547
0.5
17
1.999997265
0.000002735
0.5
1.
Ecuaciones no Lineales
16
x(k)
|f (xk )|
x(0) = 1,5
0.375
x(1) = 1,8
0.07234018
x(2) = 1,9058
0.01691
x(3) = 1,95409083
0.00411869
x(4) = 1,977318
0.001017276
x(k)
|f (xk )|
x(0) = 1,5
0.375
x(1) = 1,89473684210526
0.02099431403
x(2) = 1,99691833590139
0.00001896406
x(3) = 1,99999761850615
0.000000000001
x(4) = 1,9999999999256
0.000000000001
1.2.1.
C
omo terminar las iteraciones de Newton
Este
es un test sobre el error. Puesto que el error es desconocido, necesitamos adoptar en
su lugar un estimador del error apropiado, el cual podamos estimar el verdadero error.
Para el metodo de Newton el estimador del error apropiado viene proporcionado por la
diferencia entre dos iterantes consecutivas. Esto significa que uno termina las iteraciones
en la etapa Kmin tan pronto como
|x(kmin ) x(kmin 1) | <
(1.5)
Este
es un test sobre el incremento.
El test sobre el incremento es satisfactorio cuando es un cero simple de f . Alternati-
1.
Ecuaciones no Lineales
17
vamente, uno podra usar un test sobre el residuo en la etapa k, r (k) = f (x(k) ).
Concretamente, podriamos parar las interaciones para el primer kmin para el cual
|r (kmin ) | = |f (x(kmin ) )| <
(1.6)
1.2.2.
M
etodo de Newton de segundo orden
( (k) )2 (k)
f (x )
2
(k)
)
igualando a cero f (x(k+1) ) y sustituyendo (k) por ff(x
, obtenemos:
(x(k) )
(k)
f (x ) +
(k)
1 f (x(k) ) (k)
f (x )
f (x ) = 0
2 f (x(k) )
(k)
f (x(k) )
f (x(k) )
f (x(k) ) (k)
f (x )
2f (x(k) )
f (x(k) )
f (x(k) )
f (x(k) ) (k)
f (x )
2f (x(k) )
(1.7)
1.3.
M
etodo de la Secante
Una gran desventaja del metodo de Newton es el conocer f la cual es con frecuencia
dificil de hallar, luego, para evitarlo consideremos:
f (x) f (x(k) )
f (x ) =
x x(k)
(k)
(1.8)
1.
Ecuaciones no Lineales
18
(k)
(1.9)
f (x(k) )
x(k1) f (x(k) )
x(k1) x(k)
= x(k)
(1.10)
k-1
x
xk
X
xk+1
y=f(x)
1.
Ecuaciones no Lineales
19
x(k+1)
x(1) = 3, 15
x(2) = 3,146150255
x(3) = 3,146193209
1.4.
Iteraci
on de Punto fijo
Definamos ahora el concepto de punto fijo y mostremos resultados que nos permitan
decidir cuando este existe y si la iteracion de punto fijo converge o no.
Definici
on 1.4.1. Sea [a, b] y una funcion (x) : [a, b] R. es un punto fijo de
(x) si = ().
Ejemplo 1.4.1. Para la funcion f (x) = x cos(x), tiene un punto fijo = cos(), pero
ademas es un cero de la funcion.
Ejemplo 1.4.2. La funcion f (x) = x2 2, para x [2, 3], tiene puntos fijos en
x = 1 y en x = 2. (ver figura 1.4). Por otra parte, no toda funcion tiene puntos fijos.
Por ejemplo la funcion f (x) = ex . (ver figura 1.4 )
Y
y= x
y= e
-2
y=x
y=x
Figura 1.4: La funcion (x) = x2 2 tiene dos puntos fijos (izquierda), mientras que la
funcion (x) = ex no tiene ninguno (derecha)
Definici
on 1.4.2. Decimo que es un punto fijo de orden m de si (x) esta dada
por (x) = + (x )m q(x) con q(x) 6= 0.
1.
Ecuaciones no Lineales
20
de punto fijo.
Ejemplo 1.4.3. El metodo de Newton (1.1) puede considerarse como un algoritmo
de punto fijo cuya funcion de iteracion es (x) = x
f (x)
.
f (x)
(1.11)
1.
Ecuaciones no Lineales
21
() 6= 0.
(1.12)
1.4.1.
C
omo terminar las iteraciones de punto fijo
1
(x(k+1) x(k) )
1 ( (k) )
(1.13)
Ejemplo 1.4.4. Encuentre la raz real positiva de f (x) = ln xx+ 2, usando el metodo
de punto fijo, con una tolerancia de 104 para la variable x.
Tomando en consideracion que la raz real positiva se encuentra entre 2 y 4, tal como se
ha analizado en el ejemplo 1.1.1, tomemos como valor inicial x(0) = 3.
1.
Ecuaciones no Lineales
22
1
3
1
,
x
aplicando la hipotesis de
x(k+1)
x(1) = 3,0986
x(2) = 3,1309
x(3) = 3,141337866
x(4) = 3,144648781
x(5) = 3,145702209
x(6) = 3,146037143
x(7) = 3,146143611
x(8) = 3,146177452
Error=|x(k+1) x(k) |
3,34934 104
3,384135 105
1.
Ecuaciones no Lineales
Observaci
on 1.4.1.
23
puede que no cumpla la hipotesis de la proposicion 1.4.1. Si se continua el procedimiento iterativo, no se llega a obtener la solucion.
2. La funcion (x) = x2 1 tiene dos puntos fijos = (1
1.5.
Aceleraci
on utilizando el m
etodo de Aitken
Hemos dicho que el metodo de punto fijo tiene convergencia lineal, pero hay un metodo
que se puede utilizar y converger cuadraticamente .
Supongamos que la secuencia (x(k) ) fue obtenida por el metodo del punto fijo y ahora
encontraremos como se define (x(k) ) .
1.
Ecuaciones no Lineales
24
de , de (1.11), deducimos que, para una k dada debe existir un valor (a determinar)
tal que
(x(k) ) = (x(k) )
(1.14)
(x(k) ) x(k)
(x(k) ) x(k) + x(k) x(k)
=
1
1
o
= x(k) + ((x(k) ) x(k) )/(1 )
(1.15)
(k)
((x(k) )) (x(k) )
=
(x(k) ) x(k)
(1.16)
Gracias al Lema 1.5.1 podemos concluir, para un k dado, que (k) puede considerarse como una aproximacion del valor desconocido introducido anteriormente. De este
modo, utilizamos (1.16) en (1.15) y definimos un nuevo x(k+1) como sigue:
x(k+1) = x(k)
((x(k+1) ) x(k) )2
,
((x(k) )) 2(x(k) ) + x(k)
k0
(1.17)
x((x)) [(x)]2
((x)) 2(x) + x
1.
Ecuaciones no Lineales
25
Ejemplo 1.5.1. Calcular la raz simple = 1 de la funcion f (x) = ex (x 1), con una
Soluci
on. Primero encontraremos la funcion de iteracion.
ex (x1) = 0, desarrolando y sumando a cada miembro x1 tenemos: ex xex + x1 =
x1, al factorizar obtenemos: (ex +1)(x1) = x1 y despejando x del primer miembro
x1
ex + x
resulta: x = 1 + x
= x
= (x).
e +1
e +1
La funcion de iteracion encontrada cumple la condicion de convergencia del punto fijo :
1x
(x) = x
tal que |(1)| = 0 < 1.
e +1
Para mayor comodidad supongamos que y (k+1) = (xk+1 ) = x(k+1)
k=0
(0)
(0)
MPF: y (0) = x0 = 2,
Aitken: y (1) =
(0)
x1 = (2) = 1,1192029,
(0)
(0)
(0)
(0)
(0)
((x0 ))2(x0 )+x0
(0)
(0)
x2 = (x1 ) = 1,02934289154
= 1,01913370346
k=1
(1)
MPF: y (1) = x0 ,
Aitken: y (2) =
(1)
(1)
x1 = (y (1) ) = 1,005074185,
(1)
(1)
(1)
x2 = (x1 ) = 1,0013596022
(1)
(1)
(1)
(1)
((x0 ))2(x0 )+x0
= 1,0000257973
k=2
(2)
MPF: y (2) = x0 ,
Aitken: y (3) =
(2)
(2)
x1 = (y (2) ) = 1,0000069378,
(2)
(2)
(2)
(2)
(2)
((x0 ))2(x0 )+x0
(2)
(2)
x2 = (x1 ) = 1,000001865866
= 1,000000000048314
k=3
(3)
MPF: y (3) = x0 ,
Aitken: y (4) =
(3)
(3)
x1 = (y (3) ) = 1,000000000012994,
(3)
(3)
=1
(3)
(3)
x2 = (x1 ) = 1,000000000003495
1.
Ecuaciones no Lineales
1.6.
26
Polinomios algebraicos
Ejemplo 1.6.1. El polinomio p6 (x) = x6 2x5 + 5x4 6x3 + 2x2 + 8x 8 tiene los
ceros {1, 2i, 1 i} y de este modo posee una raz real positiva (k = 1). En efecto, el
n
umero de cambios de signo V de sus coeficientes es 5 y por tanto k V y V k = 4
es par.
.
Teorema 1.6.2. (Cauchy) Todos los ceros de pn se incluyen en el crculo
del plano complejo
= {z C : |z| 1 + }, donde = max|ak /an |,
0 k n 1 (1.18)
1.
Ecuaciones no Lineales
1.6.1.
27
Algoritmo de H
orner
(1.19)
La expresion (1.19), tambien conocida como el algoritmo del producto anidado. El metodo de Horner evalua al polinomio pn rn un punto (z) usando el siguiente algoritmo de
division sintetica:
bn = an ,
(1.20)
bk = ak + bk+1 z,
k = n 1, n 2, . . . , 0
el siguiente polinomio con coeficientes que dependen del parametro z se llama polinomio
asociado a pn :
n1
qn1 (x; z) = b1 + b2 x + . . . + bn x
n
X
bk xk1
(1.21)
k=1
La relacion entre pn y qn1 esta dada por pn (x) = (x z)qn1 (x, z) + b0 , ver teorema
(??), donde se tiene : b0 = pn (z).
El algoritmo anterior (1.20) se puede realizar mediante una tabla de la siguiente manera
z
an
an1
an2
...
a1
a0
bn z
bn1 z
...
b2 z
b1 z
bn =
bn1 =
bn2 =
...
b1 =
b0 =
an
an1 + bn z
an2 + bn1 z
. . . a1 + b2 z
a0 + b1 z
1.
Ecuaciones no Lineales
28
Ejemplo 1.6.2. Tomando el ejemplo 1.6.1, si p6 (x) = x6 2x5 + 5x4 6x3 + 2x2 + 8x8
1.6.2.
M
etodo de Newton-H
orner
(k+1)
rj
(k)
rj
pn (rj )
(k)
pn (rj )
de la raz
(k)
(k)
rj
pn (rj )
(k)
(k)
qn1 (rj , rj )
(1.22)
1.
Ecuaciones no Lineales
29
Ejemplo 1.6.3. Determine una raz del polinomio: p(x) = 3x5 2x4 + x2 7x 4
Soluci
on. Analizando el polinomio, existe una raz cercana a x = 2, consideremos
r (0) = 1,5 como la primera aproximacion. Efectuando la division se obtiene:
3
-2
4.5
3.75
3 2.5
3.75
6.625
2.938
4.5
10.5
21.37
41.98
14.25 27.99
44.91
1.5
1.5
3
De donde
r (1) = 1,5
-7
0,407
44,91
r (2) = 1,4908
-4
0.407
= 1,491
Captulo 2
MEDIANTE GUIS
APLICACION
En analisis numerico un algoritmo de b
usqueda de races es un metodo numerico o algoritmo para encontrar las soluciones aproximadas de una ecuacion dada por la expresion
f (x) = 0 para una funcion matematica f dada. A la solucion x de la ecuacion se le llama
raz o cero de la funcion.
Este Capitulo trata sobre como encontrar races reales o complejas, aproximadas por
n
umeros de punto flotante, mediante la implementacion de Interfaces Graficas de Usuario
(GUI) en Matlab. Los metodos numericos de resolucion de ecuaciones no lineales suelen
ser metodos iterativos que producen una sucesion de valores aproximados de la solucion,
que se espera, que converja a la raz de la ecuacion. Estos metodos van calculando las
sucesivas aproximaciones en base a los anteriores, a partir de una o varias aproximaciones iniciales.
2.
Aplicaci
on mediante GUIs
2.1.
31
M
etodo de la Biseccion
1. Ejecutamos nuestro GUI. Biseccion, y escribimos la funcion log(x) x + 2 evaluada en el intervalo [1; 4] con una tolerancia 105 y presionamos GRAFICAR.
2. Como podemos observar tenemos una raiz entre 1 y 4. Por ello continuaremos y
haremos clic en CALCULAR
2.
Aplicaci
on mediante GUIs
32
2.
Aplicaci
on mediante GUIs
2.2.
33
M
etodo de Newton
2. Como podemos observar tenemos una raiz entre 1 y 3. Por ello continuaremos y
haremos clic en CALCULAR
2.
Aplicaci
on mediante GUIs
34
1.500000000000
1.800000000000
1.905882352941
1.954132539092
1.977338616437
1.988734610385
1.994383303992
1.997195612087
1.998598791190
1.999299641276
1.999649881983
1.999824956318
1.999912481989
2.
Aplicaci
on mediante GUIs
2.3.
35
M
etodo de la Secante
1. Ejecutamos nuestro GUI. SECANTE, y escribimos la funcion log(x)x+2 evaluada en el intervalo [1; 4] con una tolerancia 105 y presionamos GRAFICAR.
2. Como podemos observar tenemos una raiz entre 1 y 4. Por ello continuaremos y
haremos clic en CALCULAR
2.
Aplicaci
on mediante GUIs
36
Aproximaciones
1.500000000000
1.714285714286
1.733333333333
1.732044198895
1.732050805123
2.
Aplicaci
on mediante GUIs
2.4.
37
M
etodo del Punto Fijo
2. Como podemos observar tenemos una raiz entre 1 y 4. Por ello continuaremos y
haremos clic en CALCULAR
2.
Aplicaci
on mediante GUIs
38
3.098612288668
3.130954362450
3.141337866208
3.144648781218
3.145702208628
3.146037143013
3.146143610991
3.146177452352
3.146188208752
3.146191627625
2.
Aplicaci
on mediante GUIs
2.5.
39
M
etodo de la Regla Falsa
2. Como podemos observar tenemos una raiz entre 1 y 4. Por ello continuaremos y
haremos clic en CALCULAR
2.
Aplicaci
on mediante GUIs
40
2.859075117368965
3.130335278557477
3.145381601692326
3.146151848695849
3.146191112138918
2.
Aplicaci
on mediante GUIs
2.6.
41
M
etodo de Aitken
2.
Aplicaci
on mediante GUIs
42
1.119202 92 2
1.029342 89 2
1.007723 38 7
1.002065 43 2
1.000554 64 2
1.000149 10 6
1.000040 09 6
1.000010 78 3
2.
Aplicaci
on mediante GUIs
2.7.
43
M
etodo de Newton-Horner
6 11
2.
Aplicaci
on mediante GUIs
44
Raices
1.000000 00 0
2.000000 00 0
3.000000 00 0
Iteracio ne s
6.000000 00 0
6.000000 00 0
2.000000 00 0
2.
Aplicaci
on mediante GUIs
45
2.8.
Comparaci
on de M
etodos Iteractivos
2.8.1.
En esta seccion analizaremos la solucion del problema propuesto en la pag. 41 del Libro
Calculo Cientifico con Matlab y Octave cuyo enunciado es el siguiente:
M =v
n
X
k=1
(1 + r)k = v
1+r
[(1 + r)n 1],
r
donde f (r) = M v
n
X
k=1
(1 + r)k = v
1+r
[(1 + r)n 1].
r
Soluci
on. Datos Iniciales: M=6000 euros , v=1000 euros , n=5 a
nos , r=x ,
Replanteando nuestra ecuacion tendremos:
((1 + x)5 1)
x
2.
Aplicaci
on mediante GUIs
Soluci
on 1. Utilizando el Metodo de la Biseccion.
46
2.
Aplicaci
on mediante GUIs
Soluci
on 2. Utilizando el Metodo de Newton.
47
2.
Aplicaci
on mediante GUIs
Soluci
on 3. Utilizando el Metodo del Punto Fijo.
48
2.
Aplicaci
on mediante GUIs
Soluci
on 4. Utilizando el Metodo de la Regla Falsa.
49
2.
Aplicaci
on mediante GUIs
Soluci
on 5. Utilizando el Metodo de Newton-Horner.
50
2.
Aplicaci
on mediante GUIs
Soluci
on 6. Utilizando el Metodo de la Secante.
51
2.
Aplicaci
on mediante GUIs
2.8.2.
52
100
10
sen( )
2
x
x
Soluci
on. Al tratarse de una funcion trascendental solo podremos hacer uso de los
metodos de Biseccion, Regla Falsa, Newton, Secante y Punto fijo.
2.
Aplicaci
on mediante GUIs
Soluci
on 7. Utilizando el Metodo de la Biseccion.
53
2.
Aplicaci
on mediante GUIs
Soluci
on 8. Utilizando el Metodo de Newton.
54
2.
Aplicaci
on mediante GUIs
Soluci
on 9. Utilizando el Metodo del Punto Fijo.
55
2.
Aplicaci
on mediante GUIs
Soluci
on 10. Utilizando el Metodo de la Regla Falsa.
56
2.
Aplicaci
on mediante GUIs
Soluci
on 11. Utilizando el Metodo de la Secante.
57
Captulo 3
3.1.
Metodo de la Biseccion
3.
59
u =[ r r ] ; v =[0 fr ] ;
a x e s ( handles . grafica )
d3=p l o t ( u , v , ' c o l o r ' , ' r ' ) ;
c=1;
i f fa fb< 0
w h i l e abs ( ba ) >= 10( n )
r=(a+b ) / 2 ;
fr=fun ( r ) ;
r1=num2str ( fr , ' %12.9 f ' ) ;
r2=num2str ( r , ' %12.9 f ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , r1 )
s e t ( handles . edit6 , ' s t r i n g ' , r2 )
d4=p l o t ( r , 0 , 'om ' ) ;
listado=strvcat ( listado , num2str ( r , ' %20.15 f ' ) ) ;
x=r ;
fr=e v a l ( f ) ;
i f fa fr<0
b=r ;
else
a=r ;
end
s e t ( d3 , ' XData ' , u , ' YData ' , v )
drawnow
s e t ( handles . listbox1 ,
3.
60
end
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
else
msgbox ( 'NO EXISTE RAIZ EN ESE INTERVALO ' , 'AVISO ' , ' warn ' ) ;
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
end
h o l d off
3.
3.2.
61
n=l e n g t h ( a ) 1; r o o t s = z e r o s ( n , 1 ) ; iter = z e r o s ( n , 1 ) ;
for k = 1: n
% I t e r a c i o n e s de Newton
niter = 0 ; x = x0 ;
d i f f = tol + 1 ;
d i f f = abs ( xnew x ) ;
niter = niter + 1 ;
x = xnew ;
V ( k )=x ;
end
[ pz , a ] = horner ( a , x ) ;
roots (k) = x ;
iter ( k ) = niter ;
3.
62
3.
3.3.
63
x1=xofun ( xo ) / dfun ( xo ) ;
listado=strvcat ( listado , num2str ( xo , ' %20.12 f ' ) ) ;
listado=strvcat ( listado , num2str ( x1 , ' %20.12 f ' ) ) ;
c =2;
w h i l e abs ( x1xo ) >= 10( n )
3.
xo=x1 ;
x1=xofun ( xo ) / dfun ( xo ) ;
listado=strvcat ( listado , num2str ( x1 , ' %20.12 f ' ) ) ;
drawnow
d4=p l o t ( x1 , 0 , 'om ' ) ;
s e t ( handles . listbox1 ,
64
3.
3.4.
65
& c <1001)
3.
h o l d off
66
3.
3.5.
fa=fun ( a ) ;
fb=fun ( b ) ;
u =[ a b ] ; v =[ fa fb ] ;
d3=p l o t ( u , v , ' c o l o r ' , ' r ' ) ;
x=afa ( ba ) / ( fbfa ) ;
g=e v a l ( f ) ;
c =0;
67
3.
x=a ;
fa=e v a l ( f ) ;
x=b ;
fb=e v a l ( f ) ;
r=afa ( ba ) / ( fbfa ) ;
r1=num2str ( fa , ' %20.15 f ' ) ;
r2=num2str ( fb , ' %20.15 f ' ) ;
r3=num2str ( r , ' %20.15 f ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , r1 )
s e t ( handles . edit6 , ' s t r i n g ' , r2 )
s e t ( handles . edit7 , ' s t r i n g ' , r3 )
u =[ a b ] ; v =[ fa fb ] ;
d4=p l o t ( r , 0 , 'om ' ) ;
d3=p l o t ( u , v , ' c o l o r ' , ' r ' ) ;
drawnow
listado=strvcat ( listado , num2str ( r , ' %20.15 f ' ) ) ;
x=r ;
fr=e v a l ( f ) ;
i f fa fr<0
b=r ;
else
a=r ;
end
g=e v a l ( f ) ;
s e t ( handles . listbox1 ,
h o l d off
68
3.
3.6.
Metodo de la Secante
h2=ezplot ( f , [ a 0.5 b + 0 . 5 ] ) ;
s e t ( h2 , ' C o l o r ' , ' b ' , ' LineWidth ' , 2 )
h o l d on
g r i d on
g=fun ( a ) ;
gg=fun ( b ) ;
u =[ a b ] ; v =[ g gg ] ;
d3=p l o t ( u , v , ' c o l o r ' , ' r ' ) ;
c =0;
w h i l e abs ( ab ) >= 10( n )
x=a ;
g=e v a l ( f ) ;
x=b ;
69
3.
gg=e v a l ( f ) ;
xi=b (( gg ( ab ) ) / ( ggg ) ) ;
a=b ;
b=xi ;
c=c +1;
h=e v a l ( f ) ;
r3=num2str ( xi , '
%20.12 f ' ) ;
70
3.
3.7.
h a n d l e to pushbutton 1 ( s e e GCBO)
% eventdata
r e s e r v e d to be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB
% handles
71
3.
niter = niter + 1 ;
listado=strvcat ( listado , num2str ( xnew , ' %12.9 f ' ) ) ;
s e t ( handles . listbox1 ,
72
BIBLIOGRAFIA
[1] Buhmann, M. D. (2004). Radial Basis Functions: Theory and Implementations.
Cambridge University Press. United Kingdom.
J.
Apuntes
de
C
alculo
Numerico[en
http://ma1.eii.us.es/Material/Cal_Num_itis_Apuntes.pdf
lnea].
[consulta
2012]
[5] Comer E.(2009) Metodos Numericos Instituto Tecnologico de Tijuana.
[6] Mathews J.; Fink K.(2000) Metodos Numericos con MATLAB. Prentice Hall,
Madrid.
[7] Meja C.(2002) Invitacion al An
alisis Numerico. Universidad Nacional de Colombia, Medelln.
[8] Mora W.F.(2010) Introduccion a los Metodos Numericos. Instituto Tecnologico de
Costa Rica.
[9] M
uller H. (1996) Una Introducci
on al An
alisi Numerico. Universidad Mayor de
San Simon. Cochabamba, Bolivia.
[10] Nakamura, S. (1992). Metodos Numericos Aplicados con Software. Pearson Educacion.
BIBLIOGRAFIA
74
G.
APUNTES
DE
MATLAB [en
lnea].