Professional Documents
Culture Documents
lineales
Curso de Programación numérica
Temario
Métodos cerrados:
Métodos gráficos
Método de bisección
Método de la posición falsa
Métodos abiertos
Iteración simple de punto fijo
Método de Newton-Raphson
Método de la secante
Raíces de polinomios
Método de Müller
Método de Bairstow
Métodos gráficos
Los métodos gráficos consisten en graficar la función f(x) y
observar donde la función cruza el eje x.
Ejemplo 1
Encontrar la raíz de: f x
667.38
x
1 e 0.146843x 40 0
40
35
x f(x) 30
4 34.11488938 25
20
8 17.65345264
15
12 6.066949963
10
16 -2.268754208 5
20 -8.400624408 0
-5 0 5 10 15 20 25
-10
-15
Ejemplo 2
Grafica de: f(x) = sen 10x + cos 3x
x f(x)
0.00 1.00
0.25 1.33
0.50 -0.89
0.75 0.31
1.00 -1.53 2.50
1.25 -0.89 2.00
1.50 0.44 1.50
1.75 -0.46
1.00
2.00 1.87
2.25 0.41 0.50
2.50 0.21 0.00
2.75 0.31 -0.500.00 1.00 2.00 3.00 4.00 5.00 6.00
3.00 -1.90 -1.00
3.25 -0.06
-1.50
3.50 -0.90
3.75 0.05 -2.00
4.00 1.59 -2.50
4.25 -0.01
4.50 1.45
4.75 -0.48
5.00 -1.02
Ejemplo 2 (cont.)
Grafica de: f(x) = sen 10x + cos 3x
x f(x) 0.12
4.20 0.08
0.10
4.21 0.05
4.22 0.02 0.08
4.30 0.11
Tarea
Utilice Excel para los siguientes problemas.
Determine las raíces reales de: f(x) = –0.5x2 + 2.5x + 4.5
Gráficamente. Confirme utilizando la fórmula cuadrática.
bx
a
f(b)
Método de la bisección
De acuerdo con el teorema del valor medio, existe p [a,b] tal
que f(p) = 0.
El método consiste en dividir a la mitad el intervalo y localizar
la mitad que contiene a p.
El procesos se repite hasta la lograr la precisión deseada.
Método de la bisección
Primera iteración del algoritmo
y Mitad del intervalo que
contiene a p
f(a)
y = f(x)
f(p1)
bx
a
f(b)
p
p1=(a+b)/2
Método de la bisección
Segunda iteración del algoritmo
y Mitad del intervalo que
contiene a p
y = f(x)
f(a)
bx
Función de ejemplo
x 1 tan( x)
2
Función en C:
double f(x){
return sqrt(x*x + 1) - tan(x);
}
Tarea
2. f x
667.38
x
1 e 0.146843x 40 0
Error en el método de bisección
Para el método de bisección se sabe que la raíz esta dentro del intervalo, la
raíz debe situarse dentro de x / 2, donde x = xb – xa.
La solución en este caso es igual al punto medio del intervalo
xr = (xb + xa) / 2
Deberá expresarse por
xr = (xb + xa) / 2 x / 2
Error aproximado
xrnuevo xranterior x x xb xa
a 100% x nuevo
x anterior
b a xrnuevo
xrnuevo r r
2 2
sustituyedo xb xa
a 100%
xb xa
Número de iteraciones
El error absoluto en la primera iteración es:
Ea0 xb0 xa0 x 0
n
log x 0 / Ead x 0
log 2
log 2 Ead
Volumen del abrevadero
h
r sen
r
h
L
area sector r 2
h
sen 1
2 2 r
r
h area sector r 2 r 2 sen 1 h / r
2
base altura
area triangular 2 h r 2 h2
2
A area sector area triangular r 2 sen 1 h / r h r 2 h 2
2
V LA L r 2 sen 1 h / r h r 2 h 2
2
Tarea
17. Un abrevadero de longitud L tiene una sección transversal
en forma de semicírculo con radio r (véase la figura) Cuando se
llena de agua hasta una distancia h de la parte superior, el
volumen V de agua es
V = L [ 0.5 r2 – r2 arcsen(h/r) – h(r2 – h2)1/2 ]
Escriba un programa en C amigable para el usuario que lea los
datos de este problema y encuentre la profundidad h del
abrevadero. Utilice el método de bisección para encontrar la
solución.
r
h
L
Resumen
Requiere que se conozca el intervalo en donde está la raíz.
Los valores de la función en los extremos deben tener signos
diferentes.
Converge lentamente, a cada paso el intervalo se divide en 2.
Método de falsa posición
Este método considera cual límite del
intervalo está más próximo a la raíz.
f(xu)
De la figura
f xl f xu
xr xl xr xu
Despejando
xl xr
f xu xl xu xu
xr xu
f xl f xu f(xl) f(xr)
Ejemplo en Excel
Encontrar la raíz de: f x
667.38
x
1 e 0.146843x 40 0
a a
a p b x a p b x
Algoritmo de punto fijo
Obtener una solución a p = g(p) dada un
aproxiamción inicial p0.
ENTRADA aproximación inicial p0; tolerancia TOL;
número máximo de iteraciones N0.
1. Tome i = 1.
2. Mientras i <= N0 hacer
3. p = g(p0)
4. Si |p – p0| < TOL entonces
5. Regresar p
6. i = i +1
7. p0 = p
8. Fin mientras
9. Imprime ‘El procedimiento fracasó después de N0
iteraciones’
Gráfica del algoritmo de punto
fijo
y=x
y y
y=x p3= g(p2)
p2= g(p1)
y = g(x)
p2= g(p1)
p1= g(p0)
p3= g(p2)
y = g(x)
p1= g(p0)
p1 p3 p2 p0 x p0 p1 p2 x
Casos de no convergencia
y=x
y y
y=x
y = g(x)
y = g(x)
x x
Ejemplo
Sea la función: x3 + 4x2 –10 = 0 tiene una raíz en [1, 2]
a) b)
c) d)
Teorema de punto fijo
Si g C [a, b] y g(x) C [a, b] para toda x C [a, b], además supongamos
que existe g’(x) en (a, b) y una constante positiva k<1 cuando
|g’(x)| <= k, pata toda x (a, b),
Entonces, para cualquier punto p0 en [a, b] la sucesión definida por
pn = g(pn–1), n >=1
Converge en el único punto fijo p en [a, b].
Corolario
Si g satisface las hipótesis de teorema del punto fijo, las cotas
de error que supone utilizar pn para aproximar a p están dadas
por
| pn – p| <= kn max(p0 – a, b – p0)
Y por
| pn – p| <= kn | p1 – p0|/ (1 – k), para toda n>=1
Análisis del ejemplo
Caso (a) Caso (b)
g1(x) = x – x3 – 4x2 +10 g2(x) = ½(10 – x3)½
g1’(x) = 1 – 3x2 – 8x g2’(x) = – 3/4x2(10 – x3)–½
g1’(1) = – 11, g1’(2) = – 28 g2’(1) = – 0.25, g1’(2) = – 2.1213
No se cumple |g1’(x)| <1 No se cumple |g1’(x)| <1
Tomando p0 = 0, se obtiene
pn f(pn) f’(pn) pn+1
0 -1 1 1
1 0.459698 1.8414 0.7503639
0.7503639 0.0189 1.6819 0.7391128
0.7391128 0.00005 1.6736 0.7390851
0.7390851 3E-10 1.6736 0.7390851
Ejercicio
Encontrar la solución de
x3 + 4x2 – 10 = 0
En el intervalo [1, 2] con el método de Newton
Código en C
A = P[(1 + i )n - 1 ] / i
Escriba un programa en C para este problema, el programa deberá pedir todos los
datos necesarios y utilizar el método de Newton para calcular el interés a que debe
invertirse el dinero.
Solución
Para estimar el valor inicial de i podemos desarrollar el
binomio (1 + i)n para aproximarlo a la segunda potencia. El
resultado es
2 A nP
i0
n n 1 P
Se sugiere validar los datos de entrada. El capital a obtener
debe ser mayor que el depósito por el número de abonos, es
decir
A > nP
Ejemplos resuelto en Excel
A= $750,000.00 i f(i) f'(i) i n+1
P= $1,500.00 0.009065551 4784.893234 2361961.89 0.00703974
n= 240 0.007039738 1297.701361 1175049.3 0.00593536
0.005935357 255.8695592 730982.881 0.00558532
A(calculado)= $750,000.00 0.005585323 20.97312565 612780.041 0.0055511
0.005551096 0.18919948 601739.117 0.00555078
0.005550782 1.58807E-05 601638.103 0.00555078
0.005550782 -1.99179E-10 601638.094 0.00555078
i= 0.56%
f xn h f xn
f ' xn
h
O utilizando
f xn f xn h
f ' xn
h
Algoritmo Newton2
Para obtener una solución a f(x) = 0 dada una
aproximación p0.
ENTRADA aproximación inicial p0; tolerancia tol;
número máximo de iteraciones N0.
1. i = 1
2. h = 0.001
3. Mientras i<=N0 hacer
2.1. y = f(p0)
2.2. y_deriv =(f(p0+h)-y)/h
2.3. p = p0 – y/y_deriv
2.4. Si |p – p0|< tol entonces regrese p
2.5. i = i + 1
2.6. p0 = p
3. fracaso en encontrar la raíz en N0 iteraciones
Código en C
x1 x0
x2 x x0 x2 x1 x
mínimo local
raíz cerca de punto de inflexión
f(x) f(x)
x1
x0 x x0 x1 x
varias raíces
la iteración en un mínimo
Ejemplo
Resolver utilizando Excel
sen x - e-x = 0 para 0<= x <= 1 y 3<= x <= 4 y 6<= x <= 7
Resultados
h= 0.1
xn f(xn) f'(xn) xn+1
0.00000000 -1.00000000 1.94995999 0.51283104
0.51283104 -0.10815190 1.41522716 0.58925121
0.58925121 0.00099615 1.33011566 0.58850229
0.58850229 -0.00004224 1.33095756 0.58853402
0.58853402 0.00000178 1.33092188 0.58853269
h= 0.01
xn f(xn) f'(xn) xn+1
0.0000000
0 -1.00000000 1.99499996 0.50125314
0.5012531
4 -0.12524617 1.47731614 0.58603267
0.5860326
7 -0.00347081 1.38411969 0.58854027
0.5885402
Tarea #14
La carga en un circuito RLC serie esta dada por
1 R 2
q t q0e Rt /( 2 L ) cos t
LC 2 L