Documentos de Académico
Documentos de Profesional
Documentos de Cultura
N OTAS DE C LSES
Carlos Reales
Author Affiliation,
Universidad de Córdoba
8 de marzo de 2023
PART I: D EMO P RESENTATION PART
1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Computación Cientifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 Repaso de Calculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1 / 133
PART II: D EMO P RESENTATION PART 2
1 Introducción al M ATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 Método de Bisección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5 Método de Newton–Raphson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6 Método de la Secante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8 Taller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
2 / 133
Parte I
P RIMERA PARTE
3 / 133
I NTRODUCCIÓN
Los métodos para resolver problemas numéricos se dividen en dos tipos: los directos y los
iteretivos.
Los métodos directos son algoritmos que, en ausencia de error de redondeo, dan la respuesta
exacta en un número finito predeterminado de pasos.
Por ejemplo, la solución de ax b se puede calcular directamente como x b{a. La precisión de
la respuesta es tan grande como la precisión con la que la máquina expresa a y b, y el algoritmo
consiste en una división.
En general, los métodos directos toman una cantidad de tiempo fija y producen respuestas de
precisión fija.
Desafortunadamente, muchos problemas no tienen métodos directos de solución. Por ejemplo,
un teorema fundamental en álgebra dice que no existe un método directo para calcular las
raíces de un polinomio de grado 5 o superior.
En algunos casos, a pesar de que existen métodos directos no se pueden aplicar a algunos casos
³b
ex dx .
2
particulares, por ejemplo, no es posible encontrar el valor de a
Incluso cuando existen, los métodos directos pueden requerir demasiado espacio o tiempo para
ser prácticos.
4 / 133
I NTRODUCCIÓN
Cuando los métodos directos están ausentes o consumen demasiado tiempo, recurrimos a
métodos iterativos. Estos métodos tienen la forma
xn 1 gpxn, xn1, . . . q.
Sea x la solución deseada al problema subyacente. Las preguntas básicas para un método
iterativo son si la secuencia xk converge a x y, si es convergente, con que rapidez lo hace.
La convergencia puede depender de la aproximación inicial, x0 . No importa qué tan rápido
converja un algoritmo o qué tan precisos sean los cálculos, casi nunca alcanzaremos x .
Debemos terminar la iteración en algún punto finito.
A diferencia de los métodos directos, los esquemas iterativos son flexibles porque podemos
controlar la calidad del resultado.
Es posible que necesitemos solo una aproximación aproximada obtenida en unas pocas
iteraciones y poco tiempo, o podemos querer la mayor precisión obtenida utilizando más
iteraciones.
Los procedimientos iterativos generalmente pedirán al usuario la precisión deseada
5 / 133
C OMPUTACIÓN C IENTIFICA
6 / 133
C OMPUTACIÓN C IENTIFICA
7 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Los errores numéricos surgen del uso de aproximaciones para representar operaciones y
cantidades matemáticas exactas. Éstas incluyen los errores de truncamiento que resultan del
empleo de aproximaciones como un procedimiento matemático exacto, y los errores de
redondeo que se producen cuando se usan números que tienen un límite de cifras significativas
para representar números exactos.
Para ambos tipos de errores, la relación entre el resultado exacto, o verdadero, y el aproximado
está dada por
8 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Una desventaja en esta definición es que no toma en consideración el orden de la magnitud del
valor que se estima. Por ejemplo, un error de un centímetro es mucho más significativo si se está
midiendo un remache en lugar de un puente. Una manera de tomar en cuenta las magnitudes de las
cantidades que se evalúan consiste en normalizar el error respecto al valor verdadero, es decir
El error relativo también se puede multiplicar por 100 % para expresarlo como
εt valor
error verdadero
verdadero
100 % (3)
9 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Ejemplo 2.1
Planteamiento del problema. Suponga que se tiene que medir la longitud de un puente y la de un
remache, y se obtiene 9999 y 9 cm, respectivamente. Si los valores verdaderos son 10000 y 10 cm,
calcule a) el error verdadero y b) el error relativo porcentual verdadero en cada caso.
Solución
El error en la medición del puente es [ecuación (2)] εt 10000 9999 1cm y en la del remache es
de εt 10 9 1cm. El error relativo porcentual para el puente es [ecuación (3)]
εt 1000
1
100 % 0,01 %
y para el remache es de
εt 101 100 % 10 %
Por lo tanto, aunque ambas medidas tienen un error de 1 cm, el error relativo porcentual del
remache es mucho mayor. Se concluye entonces que se ha hecho un buen trabajo en la medición del
puente; mientras que la estimación para el remache dejó mucho que desear.
10 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Observe que en las ecuaciones (2) y (3), E y e tienen un subíndice t que significa que el error ha
sido normalizado al valor verdadero. En el ejemplo 3.1 teníamos el valor verdadero.
Sin embargo, en las situaciones reales a veces es difícil contar con tal información. En los
métodos numéricos, el valor verdadero sólo se conocerá cuando se tengan funciones que se
resuelvan analíticamente. Éste comúnmente será el caso cuando se estudie el comportamiento
teórico de una técnica espec.ífica para sistemas simples.Sin embargo, en muchas aplicaciones
reales, no se conoce a priori la respuesta verdadera.
Entonces en dichos casos, una alternativa es normalizar el error, usando la mejor estimación
posible al valor verdadero; es decir, para la aproximación misma, como en
εa valor
error aproximado
aproximado
100 % (4)
donde el subíndice a significa que el error está normalizado a un valor aproximado. Observe
también que en aplicaciones reales la ecuación (2) no se puede usar para calcular el término del
error de la ecuación (4).
11 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Uno de los retos que enfrentan los métodos numéricos es el de determinar estimaciones del
error en ausencia del conocimiento de los valores verdaderos. Por ejemplo, ciertos métodos
numéricos usan un método iterativo para calcular los resultados.
En tales métodos se hace una aproximación considerando la aproximación anterior. Este
proceso se efectúa varias veces, o de forma iterativa, para calcular en forma sucesiva, esperando
cada vez mejores aproximaciones. En tales casos, el error a menudo se calcula como la
diferencia entre la aproximación previa y la actual.
Por lo tanto, el error relativo porcentual está dado por
12 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
En capítulos posteriores se explicarán con detalle éste y otros métodos para expresar errores.
Los signos de las ecuaciones (2) a (5) pueden ser positivos o negativos. Si la aproximación es
mayor que el valor verdadero (o la aproximación previa es mayor que la aproximación actual),
el error es negativo; si la aproximación es menor que el valor verdadero, el error es positivo.
También en las ecuaciones (3) a (5), el denominador puede ser menor a cero, lo cual también
llevaría a un error negativo.
A menudo, cuando se realizan cálculos, no importa mucho el signo del error, sino más bien que
su valor absoluto porcentual sea menor que una tolerancia porcentual prefijada es. Por lo tanto,
es útil emplear el valor absoluto de las ecuaciones (2) a (5). En tales casos, los cálculos se repiten
hasta que
|εa| εs (6)
Si se cumple la relación anterior, entonces se considera que el resultado obtenido está dentro
del nivel aceptable fijado previamente es. Observe que en el resto del texto en general
emplearemos exclusivamente valores absolutos cuando utilicemos errores relativos.
Es conveniente también relacionar estos errores con el número de cifras significativas en la
aproximación. Es posible demostrar (Scarborough, 1966) que si el siguiente criterio se cumple,
se tendrá la seguridad que el resultado es correcto en al menos n cifras significativas.
εs p0,5 102nq % (7)
13 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Ejemplo 2.2
Estimación del error con métodos iterativos Planteamiento del problema. En matemáticas con
frecuencia las funciones se representan mediante series infinitas. Por ejemplo, la función
exponencial se calcula usando
x2 x3 xn
ex 1 x
2! 3!
n!
(8)
Así cuanto más términos se le agreguen a la serie, la aproximación será cada vez más una mejor
estimación del valor verdadero de ex . La ecuación (8) se conoce como expansión en series de
Maclaurin. Empezando con el primer término ex 1 y agregando término por término, estime el
valor de e0,5 . Después de agregar cada término, calcule los errores relativo porcentual verdadero y
normalizado a un valor aproximado usando las ecuaciones (3) y (5), respectivamente. Observe que
el valor verdadero es e0,5 1, 648721. Agregue términos hasta que el valor absoluto del error
aproximado Ea sea menor que un criterio de error preestablecido es con tres cifras significativas.
14 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Solución
En primer lugar la ecuación (7) se emplea para determinar el criterio de error que asegura que un
resultado sea correcto en al menos tres cifras significativas:
Por lo tanto, se agregarán términos a la serie hasta que Ea sea menor que este valor. La primera
estimación es igual a la ecuación (8) con un solo término. Entonces, la primera estimación es igual a
1. La segunda estimación se obtiene agregando el segundo término, así: ex 1 x, y para x 0,05,
ε0,5 1 0,5 1,5. Esto representa el error relativo porcentual verdadero de [ecuación (3)]
Solución
Todos los cálculos se resumen de la siguiente manera
Términos Resultados εt p % q εa p % q
1 1 39.3
2 1.5 9.02 33.3
3 1.625 1.44 7.69
4 1.645833333 0.175 1.27
5 1.648437500 0.0172 0.158
6 1.648697917 0.00142 0.0158
Así, después de usar seis términos, el error aproximado es menor que εs = 0,05 %, y el cálculo
termina. Sin embargo, observe que, el resultado es exacto con cinco cifras significativas en vez de
tres cifras significativas. Esto se debe a que, en este caso, las ecuaciones (5) y (7) son conservadoras.
Es decir, aseguran que el resultado es, por lo menos, tan bueno como lo especifican.
16 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Ejemplo 2.3
En general, existen dos tipos básicos de errores. Dado un escalar u y su aproximación v:
El error absoluto en v es
|u v|.
El error relativo en v es
|u v| 100 %.
|u|
u v Error Absoluto Error Relativo
1 0.99 0.01 1%
1 1.01 0.01 1%
-1.5 -1.2 0.3 20 %
100 99.99 0.01 0.01 %
100 99 1 1%
17 / 133
C OMPUTACIÓN C IENTIFICA
E RRORES R ELATIVOS Y A BSOLUTOS
Ejemplo 2.4
La aproximación de Stirling
? n
v Sn 2πn ne .
es usada para aproximar u n! n 1, 2, , n con n grande
18 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
La memoria de computadora tiene una capacidad finita. Este hecho obvio tiene implicaciones
de largo alcance en la la representación de los números reales, que en general no tienen una
representación uniforme finita.
No importa si usamos fracciones binarias o decimales: en algún momento tenemos que truncar.
Pero, cuánta precisión se necesita? Y dónde se necesita? Cuántos dígitos enteros y cuántos
fraccionarios?
Para un ingeniero construyendo una autopista, no importa si tiene 10 metros o 10.0001 metros
de ancho posiblemente ni siquiera sus mediciones eran así de precisas.
Para alguien diseñando un microchip, 0.0001 metros (la décima parte de un milímetro) es una
diferencia enorme pero nunca tendrá que manejar distancias mayores de 0.1 metros. Un físico
necesita usar la velocidad de la luz (más o menos 300000000) y la constante de gravitación
universal (más o menos 0.0000000000667) juntas en el mismo cálculo. Para satisfacer al
ingeniero y al diseñador de circuitos integrados, el formato tiene que ser preciso para números
de órdenes de magnitud muy diferentes. Sin embargo, solo se necesita precisión relativa.
19 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
Para satisfacer al físico, debe ser posible hacer cálculos que involucren números de órdenes
muy dispares.
Básicamente, tener un número fijo de dígitos enteros y fraccionarios no es útil y la solución es
un formato con un punto flotante. Cómo funcionan los números de punto flotante? La idea es
descomponer el número en dos partes:
Una mantisa (también llamada coeficiente o significando) que contiene los dígitos del número.
Mantisas negativas representan números negativos. Un exponente que indica dónde se coloca
el punto decimal (o binario) en relación al inicio de la mantisa. Exponentes negativos
representan números menores que uno. Este formato cumple todos los requisitos:
Puede representar números de órdenes de magnitud enormemente dispares (limitado por la
longitud del exponente). Proporciona la misma precisión relativa para todos los órdenes
(limitado por la longitud de la mantisa). Permite cálculos entre magnitudes: multiplicar un
número muy grande y uno muy pequeño conserva la precisión de ambos en el resultado.
20 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
En el computador se almacenan el signo, la mantisa y el exponente (con su signo) del número real.
± exponente mantisa
La cantidad de dígitos k que se utilizan para almacenar la mantisa es fija. Por lo tanto sólo pueden
almacenarse a lo sumo k dígitos de mantisa de un número real. La cantidad de dígitos l que se
utilizan para almacenar el exponente también es fija. Por lo tanto hay un exponente positivo
máximo y otro exponente negativo mínimo que pueden llegar a representarse.
21 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
A LMACENAMIENTO DE NÚMEROS REALES EN COMPUTADOR
Lo describiremos, por sencillez, en el sistema decimal, aunque los computadores representan los
números en sistema binario:
22 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
O VERFLOW
Si se intenta almacenar un número cuyo exponente positivo es mayor que el máximo representable
en el sistema, se produce un error fatal: overflow. Por lo tanto existe un máximo número positivo
que puede representarse. En Matlab el máximo número representable es aproximadamente 10308 .
Si se intenta representar un número mayor, el computador devuelve Inf (infinito) como una
indicación de que se produjo un overflow:
>> a=2^1023
a =
8.988465674311580e+307
>> b=2^1024
b =
Inf
23 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
U NDERFLOW
Si se intenta almacenar un número cuyo exponente negativo es menor que el mínimo representable
se produce un error leve: underflow. Por lo tanto existe un mínimo número positivo que puede
representarse. Si se representa un número positivo menor que ese mínimo, el computador almacena
0. En Matlab el mínimo número positivo representable es aproximadamente 10323 :
>> c=2^-1074
c =
4.940656458412465e-324
>> d=2^-1075
d =
0
24 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
E RROR DE REDONDEO
Si se intenta almacenar un número con más dígitos de mantisa que la cantidad máxima k que
permite el sistema, sólo se almacenan los primeros k dígitos. Por ello, al representar un número real
en un sistema de punto flotante, en general se comete un pequeño error de redondeo. En Matlab se
almacenan entre 15 y 16 dígitos decimales de mantisa:
>> e=123456789.0123456789
e =
1.234567890123457e+08
>> f=pi
f =
3.14159265358979
25 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
O PERACIONES EN PUNTO FLOTANTE
El computador calcula cada una de las cuatro operaciones matemáticas fundamentales, suma ( ),
resta ( ), producto ( ) y cociente ( {), de manera tal que el resultado que se obtiene tiene correctos
el máximo número k de dígitos representables. Por ello, en cada operación matemática también se
comete un pequeño error de redondeo:
>> g=1.0000000001*1.0000000001
g =
1.00000000020000
>> h=1+10^-17
h =
1
26 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
C ONSTANTE DE PRECISIÓN
>> p=(1+eps)-1
p =
2.220446049250313e-16
>> q=(1+eps/2)-1
q = 27 / 133
0
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
C ANCELACIÓN EXCESIVA
Las operaciones de producto y cociente en punto flotante dan siempre resultados confiables, en el
sentido que todos los dígitos del resultado que se obtienen son correctos (siempre que no se
produzca overflow o underflow). Las operaciones de suma y resta usualmente dan resultados con
todos sus dígitos correctos. Sin embargo, esto no es así cuando se restan números muy parecidos.
Este fenómeno se denomina cancelación excesiva.
>> r=.123456789012345;
>> s=.12345678901234;
>> t=r-s % El valor exacto es t=5.e-15
t =
4.996003610813204e-15
>> u=12345678901234567;
>> v=12345678901234566;
>> w=u-v % El valor exacto es w=1
w =
2
28 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
P ROPAGACIÓN DE ERRORES
Las integrales
»1
In : xn ex1 dx , n 1, 2, . . .
0
se relacionan mediante la expresión
In 1 nIn1, n 2, 3, . . .
que se obtiene fácilmente por integración por partes. Esta expresión permite calcular esas integrales
recursivamente a partir del valor de I1 , que se calcula exactamente también por partes:
»1 1 »1
I1 xe dx
x 1
xe x 1
ex1 dx e1 0,36787944...
0 0 0
Entonces:
Î1 I1 ϵ,
Î2 1 2Î1 1 2pI1 ϵq I2 p2qpϵq,
Î3 1 3Î2 1 3rI2 p2qpϵqs I3 p3qp2qpϵq,
..
.
Î9 1 9Î8 I9 p9q p3qp2qpϵq I9 9!ϵ.
Por lo tanto,
30 / 133
R EPRESENTACIÓN DE NÚMEROS REALES EN UN SISTEMA DE PUNTO
FLOTANTE
P ROPAGACIÓN DE ERRORES
Este tipo de algoritmos debe evitarse pues propaga de manera catastrófica los errores en los datos,
como se ve en el ejemplo. La relación anterior puede reformularse para obtener el siguiente
algoritmo:
IN : dato,
1 In
In1 : , n N, N 1, . . . , 3, 2.
n
Un análisis semejante al anterior permite demostrar que, en el paso n-ésimo de este algoritmo, el
error del paso anterior se divide por n. En consecuencia este algoritmo no sólo no amplifica los
errores, sino que los reduce. Un algoritmo como éste, que no amplifica los errores, se dice que es
estable. Por ejemplo, si se toma N 20 e Î20 0, verifique que mediante este algoritmo se obtiene
Î9 0,091 612 292 990, con error menor que 1012 .
31 / 133
R EPASO DE C ALCULO
Demostración 4.1
Sea A mı́na¤x¤b f pxq y sea B máxa¤x¤b f pxq. Entonces Awpxq ¤ f pxqwpxq ¤ Bwpxq. Así,
»b »b »b
A wpxqdx ¤ wpxqf pxqdx ¤ B wpxqdx.
a a a
Entonces, ³b
wpxqf pxqdx
A¤ a
³b ¤ B.
a wpxqdx
32 / 133
R EPASO DE C ALCULO
y »x
R n px q ptqpx x0qn dt
1
fn 1
n! x0
33 / 133
R EPASO DE C ALCULO
Demostración 4.2
Recordemos la fórmula de integración por partes ∫ uvdv uv ∫ vdu. Entonces,
»x
f pxq f px0 q f 1 ptq sea u f 1 ptq, v t x, dv dtq
x0
»x
f 1 p x x 0 q px tqf 2ptqdt
x0
(let u f 2 ptq, v t x, dv dtq
»
1 p x x0 q2 2 x x px tq2 3
f px0qpx x0q 2 f ptq x f ptqdt
2 0
x0
Continuando este proceso,
34 / 133
R EPASO DE C ALCULO
Demostración 4.3
Ahora consideraremos Rn pxq
³x px tqn f pn 1qptqdt y asumamos que x x (el mismo argumento
x0 0
n!
si x0 ¡ x). Entonces, por teorema Theorem 1.2,
»x
Rn pxq f pn 1q pξ pxqq
px tqn dt f pn 1qpξpxqq px x0qn 1 ,
x0 n! p n 1 q!
donde ξ esta entre x0 y x y entonces, ξ ξ pxq.
Un importante caso particular del Teorema de Taylor es obtenido cuandoh n 0, el cual se sigue
directamente del Teorema fundamental del Calculo:
Teorema 4.4 (Teorema del Valor Medio)
Suponga que f P C1 ra, bs, x P ra, bs y y P ra, bs (y, sin perdida de generalidad, x ¤ y). Entonces, existe
ξ P rx, ys ra, bs tal que
f pyq f pxq f 1 pξ qpy xq.
Ejemplo 4.1
x2
Muestre que ex ¥1 x
2
para todo x ¥ 0.
35 / 133
Parte II
S EGUNDA PARTE
36 / 133
M ATLAB
1
Para ingresar el vector fila v p1 3 5 7q:
>> v=[1 3 5 7]
v =
1 3 5 7
Si nuestro deseo es ingresar un vector columna cada fila debe ir separada de otra por ";".
>> w=[1;3;5]
w =
1
3 37 / 133
5
I NTRODUCCIÓN AL M ATLAB
Un vector con 100 componentes, donde la primera componente es 2, la última es 200 y las
componentes intermedias van incrementados de dos en dos, puede ingresarse de la siguiente
manera abreviada:
>> q=2:2:200;
En este ejemplo hemos incluido un “;” al final. Cuando se ejecuta un comando terminado en “;”,
los contenidos de las variables involucradas no se muestran en la pantalla.
A continuación mostraremos ejemplos de algunas operaciones con vectores que pueden realizarse.
Ingresaremos un par de vectores de igual tamaño
38 / 133
I NTRODUCCIÓN AL M ATLAB
39 / 133
I NTRODUCCIÓN AL M ATLAB
Podemos producir otros vectores a partir de aplicar funciones a cada componente de los vectores
dados:
>> sin(u) % Las componentes corresponden al seno de las componentes de u
ans =
ans =
8 14 18 20 20 18 14 8
>> u./v % Vector con las divisiones de las componentes de u por las de v
ans =
40 / 133
I NTRODUCCIÓN AL M ATLAB
Una matriz se ingresa por filas. Los elementos de una misma fila se separan por un espacio y para
separar una fila de otra se usa ";". Matlab posee una importante colección de funciones de matrices
que nos pueden servir en nuestro trabajo:
1 2 5
M 2
1 6
3 0 1
>> M=[1 2 5; 2 -1 6; 3 0 -1]
M =
1 2 5
2 -1 6
3 0 -1
>> IM=inv(M) % Inversa de la matriz.
IM =
1 2 3
2 -1 0
5 6 -1
56
5.0903
-3.0451 + 1.3147i
-3.0451 - 1.3147i 42 / 133
I NTRODUCCIÓN AL M ATLAB
A continuación mostramos algunos ejemplos d operaciones que pueden realizarse con matrices
>> A=[2 -2 6; 0 -1 4; 2 4 8]; % Ingresa la matriz A.
>> A(2,3) % Muestra el elemento que esta en la posicion (2,3).
ans =
6
4
8
0 -1 4 43 / 133
I NTRODUCCIÓN AL M ATLAB
-1
4
2
-1
8
2 -2 6
0 -1 4 44 / 133
0 0 8
I NTRODUCCIÓN AL M ATLAB
45 / 133
Matlab
>> x=0:.01:5;
>> y=x.*sin(pi*x);
>> plot(x,y)
−1
−2
−3
−4
0 1 2 3 4 5
46 / 133
I NTRODUCCIÓN AL M ATLAB
También pueden hacerse varios gráficos a la vez agregando el comando subplot. Por ejemplo:
>> x=-2:.05:2;
>> xx=-0.5:0.0025:0.5;
>> xxx=-3.8:0.1:3.8;
>> y=(1./(x.^2+1)).*sin(pi*x);
>> z=(xxx+3.5).*(xxx+2.5).*xxx.*(xxx-2.5).*(xxx-3.5);
>> v=(x+2).*(x+1).*x.*(x-1).*(x-2);
>> w=xx.*sin(1./xx);
>> subplot(2,2,1) % Se divide la pantalla grafica en dos filas por dos
% columnas y se utiliza la primera ventana.
>> plot(x,y)
>> subplot(2,2,2) % Estamos usando la segunda ventana.
>> plot(xx,w,'r') % Note la diferencia con el anterior.
>> subplot(2,2,3) % Estamos usando la tercera ventana.
>> plot(x,v,'k*') %La k es de color negro y * asterisco.
>> subplot(2,2,4) % Estamos usando la cuarta ventana.
>> plot(xxx,z,'c.') % La c es del color cyan.
47 / 133
I NTRODUCCIÓN AL M ATLAB
1 0.6
0.4
0.5
0.2
0
0
−0.5
−0.2
−1 −0.4
−2 −1 0 1 2 −0.5 0 0.5
4 100
2 50
0 0
−2 −50
−4 −100
−2 −1 0 1 2 −4 −2 0 2 4 48 / 133
I NTRODUCCIÓN AL M ATLAB
ans =
-0.3750 + 0.3307i
-0.3750 - 0.3307i
Note que la primera componente del vector C corresponde al coeficiente del monomio de mayor
grado y la ultima entrada corresponde al término independiente.
49 / 133
I NTRODUCCIÓN AL M ATLAB
Si queremos encontrar las raices del polinomio entonces ppxq x2 1 C=[1 0 -1]. Si V es un
vector, poly(V) devuelve un vector con los coeficientes del polinomio cuyas raices son las entradas
de V. Por ejemplo, encontremos el polinomio que cuyas raices son 2, 3 y 5 :
1 -4 -11 30
50 / 133
I NTRODUCCIÓN AL M ATLAB
Las soluciones a los sistemas de ecuaciones lineales se pueden obtener en Matlab con el uso del
operador de la barra invertida . Si deseamos conocer la solución de la ecuación matricial Ax b,
donde A es una matriz de orden n n, basta usar la orden x=A\b.
x =
1
1
1
La función lu de Matlab permite expresar una matriz A como producto de una matriz triangular
inferior L y una matriz triangular superior U. La función lu utiliza pivoteo parcial y por lo tanto
permite conocer la matriz de permutación P y las triangulares L y U tal que PA LU.
51 / 133
I NTRODUCCIÓN AL M ATLAB
L =
1.0000 0 0
0 1.0000 0
0.3333 0.6667 1.0000
U =
3 2 1
0 2 1
0 0 4
P =
52 / 133
1 0 0
I NTRODUCCIÓN AL M ATLAB
Por ser un lenguaje de programación Matlab permite que podamos desarrollar nuestros propios
programas y rutinas con la gran ventaja de que podemos usar las funciones y herramientas propias
de él. Hay dos tipos de programas M ATLAB: uno se donomina script y el otro function. Todos
los archivos con programas M ATLAB deben terminar con la extensión .m. Veamos un ejemplo:
Los programas tipo script se utilizan para recoger una secuencia de comandos que constituyen
un proceso. Para ejecutar estos programas solo debemos introducir el nombre del programa en la
linea de comandos. Deseamos resolver la ecuación de segundo grado 3x2 5x 2 0. Escribamos
primeramente un programa tipo script. El programa puede ser el siguiente:
a=3;
b=5;
c=2;
D=b^2-4*a*c;
x(1)=(-b+sqrt(D))/(2*a);
x(2)=(-b-sqrt(D))/(2*a);
x
Guarde el programa con el nombre eje1.m. Para ejecutarlo escriba en M ATLAB el nombre del
archivo y obtendrá:
>> eje1
53 / 133
x =
I NTRODUCCIÓN AL M ATLAB
Podemos usar programas tipo script.m si queremos gráficas mas elaboradas, con varias
funciones, titulos, leyendas y otras herramientas útiles. El siguiente es un ejemplo
x=0:.01:2;
y=cos(pi*x);
z=sin(pi*x).*cos(pi*x);
plot(x,y,'r',x,z,'b','linewidth',2) % Asi se dibujan dos curvas en un mismo
grafico.
grid on
xlabel('x')
ylabel('y')
title('grafica de dos funciones')
l=legend('$cos(\pi x)$','$sin(\pi x)cos(\pi x)$','FontSize',22)
set(l,'Interpreter','Latex');
0.4
0.2
0 54 / 133
y
−0.2
I NTRODUCCIÓN AL M ATLAB
Una desventaja de este tipo de programas es que para resolver otra ecuación que utilice la misma
fórmula debemos modificar el programa. A pesar de que existe una fórmula general para resolver
las ecuaciones cuadráticas, nuestro programa no estaba hecho para cualquier ecuación de este tipo.
Para hacer este programa más útil, conviene reescribirlo de tal forma que que los datos de la
ecuación sean datos que el usuario pueda elegir, es decir escribirlo como una función que dependa
de los parametros de la ecuación. Ademas de las funciones propias de Matlab podemos definir
nuestras propias funciones, guardarlas en un archivo y usarlas de forma similar a como se usan las
funciones predefinidas de Matlab. El definir nuestras propias funciones y guardarlas en archivos
nos va permitir poder usarlas en otros programas distintos. La entrada y la salida puede ser una o
varias variables, cada una de ellas puede ser un escalar, un vector o una matriz de cualquier
tamaño. Los programas tipo function tienen una estructura esquematizada y siempre comienzan
de la siguiente forma:
function [salida1,salida2,...]=nombre(entrada1,entrada2,...)
sentencias
end
55 / 133
I NTRODUCCIÓN AL M ATLAB
El nombre de la función debe ser significativo y coincide con el nombre del archivo de extensión .m
en el que se guarda el código de dicha función. Al igual que cualquier variable que definamos en
Matlab, el nombre de una función no debe llevar espacios ni se pueden usar palabras reservadas
por Matlab. Las entradas son los parámetros que se le pasa a la función, sus nombres van entre
paréntesis y separadas por coma. Las salidas son los valores de las variables devueltos por la
función. Las variables de salida van después de la palabra reservada function entre corchetes
cuadrados y separados por comas si hay varios. El end, marca el final de la función y es opcional a
menos que estemos usando ciclos o funciones anidadas. El programa anterior escrito como function
queda asi:
function x=eje2(a,b,c)
D=b^2-4*a*c;
x(1)=(-b+sqrt(D))/(2*a);
x(2)=(-b-sqrt(D))/(2*a);
>> eje2(3,5,2)
ans =
-0.6667 -1.0000
56 / 133
I NTRODUCCIÓN AL M ATLAB
Es conveniente usar programas tipo function, cuando sea posible, pues permiten un ahorro de
memoria. Las funciones se pueden asignar a variables y estas variables se pueden pasar a otras
funciones como se pasan escalares o vectores. Comparamos la definición de una función func que
se guarda en un fichero func.m y su equivalente anónima
function y=func(x)
y=cos(x)-x;
end
Las funciones anónimas nos permiten definir una función simple sin necesidad de crearla y
guardarla en un fichero .m. Se pueden definir en la ventana de comandos, en un fichero script o
dentro de otra función, con la siguiente sintaxis:
variable=@(lista_argumentos) expresion
expresion consiste en una única y válida expresión, puede tener una o más variables de entrada que
se especifican en la lista de argumentos separadas por comas.
57 / 133
I NTRODUCCIÓN AL M ATLAB
Cuando en un programa tipo script.m o function.m hay varios es muy útil para usted y para el
lector desprevenido complementar los pasos con líneas de comentario . Una linea de comentario
comienza con el signo de porcentaje, % . Cuando se ejecuta una secuencia de comandos las líneas de
comentario se ignoran.
Una diferencia importante entre los script.m y los function.m radica en la forma en que el se
utiliza espacio de trabajo. En un script.m, todas las definiciones de las variables y cálculos son
hecha en un espacio de trabajo que se puede acceder desde la línea de comandos. En el Ejemplo 2.3 ,
la vector x se puede ver inmediatamente después de ejecutar el script.m, simplemente
introduciendo x en la línea de comandos. Por el contrario, en un function.m, las variables no son
accesibles desde el comando la línea . Un function.m tiene su propio espacio de trabajo ,
independientemente de la línea de comandos espacio de trabajo. Este acuerdo nos permite utilizar
nombres de variables en una function.m que son los mismos que en otras archivos.m sin riesgo
de confusión. por ejemplo, prácticamente todas las function.m llaman a una de sus variables x.
58 / 133
I NTRODUCCIÓN AL M ATLAB
Ejemplo 1.1
Construya un programa que evalúe la función
#
2 sen2 p2xq, x ¤ 0,
f px q
1 ex , x ¡ 0.
Para hacer la gráfica de la función f en el intervalo r10, 10s puede utilizarse este programa del
siguiente modo: 59 / 133
I NTRODUCCIÓN AL M ATLAB
Ejemplo 1.3
function y=fun2(x)
n=length(x);
for i=1:n
if x(i)<=-2
y(i)=x(i)-1;
elseif (x(i)>-2 & x(i)<0)
y(i)=1-x(i).^2;
else
y(i)=-1/(x(i)+1);
end
end
60 / 133
I NTRODUCCIÓN AL M ATLAB
Ejemplo 1.4
Construya una función que genere una matriz de la forma
2 1 0
A
1
..
.
..
.
P Rnn.
..
.
..
. 1
0 1 2
function A=matriz(n)
B=[zeros(n-1,1) eye(n-1);zeros(1,n)];
A=2*eye(n)-B-B';
61 / 133
I NTRODUCCIÓN AL M ATLAB
Ejemplo 1.5
>> A=matriz(6)
A =
2 -1 0 0 0 0
-1 2 -1 0 0 0
0 -1 2 -1 0 0
0 0 -1 2 -1 0
0 0 0 -1 2 -1
0 0 0 0 -1 2
>> b=ones(6,1);
>> x=A\b
x =
3.0000
5.0000
6.0000
6.0000
5.0000
3.0000
62 / 133
I NTRODUCCIÓN AL M ATLAB
Ejemplo 1.6
8̧ xn
Construya una función que evalúe ex mediante su serie de Taylor: ex
.
n!
n 0
function y=miexp(x)
y=1;
sum=x;
n=1;
while (y+sum~=y)
y=y+sum;
n=n+1;
sum=x*sum/n;
end
8̧ xn
Este programa siempre se detiene porque la serie converge para cualquier x.
n!
n 0
63 / 133
E CUACIONES Y S ISTEMAS DE E CUACIONES NO L INEALES I
En matemática, se conoce como raíz (o cero) de una función f pxq a todo elemento x
perteneciente al dominio de dicha función tal que se cumpla: f pxq 0.
Por ejemplo, dada la función f pxq x2 6x 8, podemos afirmar que 2 y 4 son raíces ya que
f p2q 0 y f p4q 0.
En caso de funciones reales los puntos en los que el gráfico corta al eje de las abscisas es una
interpretación gráfica de las raíces de dicha función.
El teorema fundamental del álgebra determina que todo polinomio en una variable compleja y
de grado n tiene n raíces (contando sus multiplicidades). Aun así, las raíces de los polinomios
reales no son necesariamente reales; algunas de ellas, o incluso todas, pueden ser complejas.
Una ecuación lineal es una ecuación relacionada con una línea recta, por ejemplo f pxq mx c
describe una recta con pendiente m y la ecuación lineal f pxq 0, que implica tal f , se resuelve
fácilmente, x c{m (siempre que m 0).
Si una función f no está representada por una línea recta de esta manera, decimos que no es
lineal. En otras palabras,una ecuación se dice no lineal si contiene terminos polinomiales de
grado mayor que uno o si contiene terminos que no son polinómicos.
64 / 133
E CUACIONES Y S ISTEMAS DE E CUACIONES NO L INEALES II
En general, las ecuaciones no lineales no pueden ser resueltas analíticamente. En este caso, por
lo tanto, la solución debe ser obtenida usando métodos iterativos. El principio de estos métodos
de solución consiste en partir de un punto arbitrario, el más cercano posible a la solución, y
llegar a la solución gradualmente a través de iteraciones sucesivas.
La idea general de resolver una ecuación mediante la mejora sucesiva de una estimación inicial
agregando términos correctivos se ha usado desde hace mucho tiempo. Los griegos y
babilonios usaban este tipo de métodos para extraer raices.
En esta sección estudiaremos algunos métodos básicos de resolución de ecuaciones o sistemas
de ecuaciones no lineales. La búsqueda de una raíz de una ecuación que modela una relación
no lineal es compleja y no es posible proporcionar un método que funcione de manera optima
en todos los casos.
Las dos clases principales de métodos disponibles para obtener la aproximación de la raiz de
una ecuación no lineal se distinguen por el tipo de datos o valores iniciales.
Normalmente, un procedimiento iterativo comienza con una iteración inicial x0 y produce una
secuencia de iteraciones x1 , x2 , . . . , xk .
65 / 133
E CUACIONES Y S ISTEMAS DE E CUACIONES NO L INEALES III
66 / 133
E CUACIONES Y S ISTEMAS DE E CUACIONES NO L INEALES
Los métodos cerrados (bracketing methods) calculan los puntos finales de una serie de
intervalos sucesivamente más pequeños que contienen una raíz.
Esto les permite proporcionar límites del error absoluto en la ubicación de una raíz cuando se
sabe que la función es continua. Estos métodos requieren dos puntos iniciales, uno a cada lado
de la raíz.
Los métodos abiertos usan uno o mas aproximaciones iniciales de la raíz pero no hay necesidad
de que la raiz este entre esas aproximaciones.
Para problemas bien planteados, los métodos cerrados siempre funcionan,por lo que tambien
son llamados de convergencia garantizada, pero convergen lentamente, es decir, típicamente
toman más iteraciones para obtener la respuesta adecuada.
En contraste, los métodos abiertos no siempre funcionan (es decir, pueden diverger), pero
cuando lo hacen, generalmente convergen más rápido.
67 / 133
E CUACIONES Y S ISTEMAS DE E CUACIONES NO L INEALES
Por esta razón, es importante conocer las debilidades y fortalezas de los métodos en lo teorico y
en lo practico.
En este sección estudiaremos los métodos de Bisección, Posición Falsa, Newton-Raphson,
Secante y de Punto Fijo. Los cuatro son iterativos y comienzan con una o varias aproximaciones
de la ecuación f pxq 0.
Las diferencias radican en
el número de valores iniciales,
la garantia de convergencia,
la velocidad de convergencia y
el costo computacional.
68 / 133
M ÉTODO DE B ISECCIÓN I
El problema consiste en, dada f : R Ñ R (no lineal), encontrar x P R tal que f pxq 0, para el
caso de una sola ecuación, o bien, dada : Rn Ñ Rn (no lineal), encontrar x px1 , . . . , xn qt P Rn
tal que pxq 0, para el caso de un sistema de ecuaciones. Para el caso escalar (una sola
ecuación), la solución x se denomina raíz de la función f .
El método de bisección es un algoritmo de búsqueda de raíces que trabaja dividiendo el
intervalo de trabajo a la mitad y seleccionando el subintervalo que tiene la raíz. Este método es
el algoritmo más simple y más robusto para encontrar la raíz de una función continua
unidimensional en un intervalo cerrado.
Se basa en el teorema del valor intermedio, el cual establece que toda función continua f en un
intervalo cerrado ra, bs toma todos los valores que se hallan entre f paq y f pbq.
69 / 133
M ÉTODO DE B ISECCIÓN II
Teorema 3.1
Sea f : ra, bs Ñ R una función continua en el intervalo ra, bs y supongamos que f paq f pbq. Entonces, para
cada valor intermedio z tal que f paq z f pbq, existe α P pa, bq tal que f pαq z. La misma conclusión se
obtiene para el caso que f paq ¡ f pbq.
En particular, si f paq y f pbq tienen signos opuestos, entonces z 0 es precisamente un valor
intermedio y, por lo tanto, existe por lo menos una raíz α de f en el intervalo pa, bq.
Dados a y b tales que a b y f P C pra, bsq tal que f paqf pbq 0, sean a0 : a y b0 : b. Por lo tanto f
tiene una raíz en el intervalo pa0 , b0 q. Sea c0 :
a 0 b0
. Forzosamente debemos caer en uno de los
2
siguientes casos:
(a) f pa0 qf pc0 q 0: en este caso se tiene que f pc0 q 0; por lo tanto ya localizamos una raíz, c0 , y se
finaliza el proceso;
(b) f pa0 qf pc0 q 0: por lo tanto f tiene una raíz en el intervalo pa0 , c0 q y definimos a1 a0 y b1 c0;
(c) f pa0 qf pc0 q ¡ 0: por lo tanto f tiene una raíz en el intervalo pc0 , b0 q y definimos a1 c0 y b1 b0 .
70 / 133
M ÉTODO DE B ISECCIÓN III
En los casos ?? y ?? anteriores f tiene una raíz en el nuevo intervalo pa1 , b1 q. Por lo tanto, el proceso
se vuelve a repetir desde con el nuevo intervalo pa1 , b1 q y c1 : pa0 b0 q{2, hasta que se satisfaga
algún criterio de detención.
a2
a1 x1
a0
x0 b0
b1
x2 b2
71 / 133
M ÉTODO DE B ISECCIÓN IV
Es fácil comprobar a partir del algoritmo que, si α es la raíz de la ecuación, entonces los valores
ck cr calculados en cada paso (donde k denota el número de paso) satisfacen
k
|α ck | ¤ 1
2
pb aq
y, por lo tanto, α lı́mkÑ8 ck , como queda establecido en el siguiente teorema:
Teorema 3.2
Suponga que f P Cra, bs y f paqf pbq 0. El método de bisección genera una sucesión tcn u8
n1 de aproximación
de un cero c de f tal que
k
|ck α| ¤ 1
2
pb a q cuando n ¥ 1. (10)
Demostración.
Para cada k ¥ 1, tenemos bk ak pb aq{2k y α P pak , bk q. Como ck pak bk q{2 para todo k ¥ 1 ,
resulta que |ck α| ¤ 21 pak bk q pb aq{2k . De lo anterior se sigue que la sucesión converge a α
con una tasa de convegencia Op 21k q, esto es ck α Op 21k q.
72 / 133
M ÉTODO DE B ISECCIÓN V
Ejemplo 3.1
Encuentre el numero de iteraciones que se requieren para alcanzar una aproximación con una
exactitud de 104 a la solución de x3 x 1 0 que se encuentra en el intervalo r1, 2s.
Solución
Por (??) tenemos que |ck α| ¤ pb aq{2k para k ¥ 1. Como queremos que |ck α| ¤ 104 , esto
requiere que |ck α| ¤ pb aq{2k 2k 104 así, despejando k se obtiene k ¡ 4{ ln 2 13,2. Luego
el numero minimo de iteraciones para alcanzar una precisión de 104 es 14.
73 / 133
M ÉTODO DE B ISECCIÓN
I MPLEMENTACIÓN EN M ATLAB
Método de Bisección
1 Encuentre el intervalo ra, bs en el cual f pxq 0
2 Haga c pa bq{2
3 Calcule f pcq
4 Revise el criterio de convergencia
5 Si f pcq y f pbq tienen signos opuestos haga a c, en caso contrario haga b c
6 Reptita el paso 2.
El siguiente programa calcula la raíz de una ecuación f pxq 0 mediante el método de bisección. Los
datos del programa son la función f , los extremos del intervalo ra, bs donde se busca la raíz, y la
tolerancia tol con la que se desea calcular ésta. El programa tiene una salida de error en el caso en
que la función f no cambie de signo en el intervalo inicial.
74 / 133
M ÉTODO DE B ISECCIÓN
I MPLEMENTACIÓN EN M ATLAB
function raiz=bisec(funct,a,b,tol)
fa=feval(funct,a);fb=feval(funct,b);
if (fb*fa>0)
error('La funcion tiene el mismo signo en ambos extremos.')
end
while (abs(b-a)>tol)
if (fa*fb==0)
if (fa==0)
raiz=a;
else
raiz=b;
end
else
raiz=(a+b)/2;fraiz=feval(funct,raiz);
if fraiz==0;
disp('El punto medio es la raiz!')
break
elseif (fa*fraiz>0)
a=raiz;fa=fraiz;
75 / 133
else
M ÉTODO DE B ISECCIÓN
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 3.2
?
Encuentre una aproximación a 3
25 correcta con una exactitud de 104 usando el método de
bisección.
Solución
?
Para aproximar 3 25 utilizamos la ecuación f pxq? x3 25
? 0. Para establecer el intervalo donde
buscaremos la raiz tenemos en cuenta que 2 3 8 y 3 3 27 y comprobamos que f p2q.f p3q 0. Así
utilizaremos el método de bisección en la función f pxq x3 25 0 en r2, 3s.
Ejemplo 3.3
Aplique el método de bisección para encontrar soluciones exactas dentro de 105 para el problema:
x cosp2xq px 1q2 0 para 3 ¤ x ¤ 2 y para 1 ¤ x ¤ 0.
Solución
La raiz para el intervalo escogido es c17 2,065315246582031 como se pede ver en el cuadro ??.
Cuadro. Bisección xk : pak bk q{2.
77 / 133
M ÉTODO DE B ISECCIÓN
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 3.4
Compruebe que hay un cero de f pxq ex x en el intervalo indicado r0, 1s. Use el método de
Bisección con una precisión de ϵ 104 .
Solución
Verifiquemos que existe un cambio de signo de f en r0, 1s. En efecto,
f p0q f p1q pe0 0q pe1 1q 0,6321 0.
Con la certeza de la existencia de una raíz en ese intervalo, vamos a Matlab para calcular dicha
aproximación:
a=0;b=1;tol=0.0001;
funct=inline('exp(-x)-x');
raiz=bisec(funct,a,b,tol)
La solución es:
5.6719970703e-01
78 / 133
M ÉTODO DE B ISECCIÓN
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 3.5
Usted está trabajando para una compañia que fabrica objetos flotadores. El balón flotante tiene una
gravedad específica de 0,6 y tiene un radio de 5, 5cm. Se le pide que encuentre la profundidad a la
que se sumerge la bola cuando flota en el agua. La ecuación que da la profundidad x a la que se
sumerge la bola bajo el agua viene dada por
x3 0,165x2 0,0003993 0
donde x esta dada en metros. Usa el método de bisección para encontrar las raíz de la ecuación para
hallar la profundidad x a la que se sumerge la bola bajo el agua.
x
Agua
79 / 133
M ÉTODO DE B ISECCIÓN
I MPLEMENTACIÓN EN M ATLAB
Solución
Lo primero que debemos buscar es el dominio d ela función f pxq x3 0,165x2 0,0003993. Cuando
el balón está totalmente afuera x 0 y cuando está totalmente sumergido x 2R 11cm 0,11m.
a=0;
b=0.11;
funct=inline('x^3-0.165*x^2+0.0003993');
raiz=bisec(funct,a,b,tol)
La solución es:
6.2358398438e-02
80 / 133
M ÉTODO DE LA FALSA P OSICIÓN
Una desventaja del del método de bisección es que al dividir el intervalo ra, bs en mitades iguales,
no se tiene en cuenta las magnitudes de f paq y f pbq. Por ejemplo, si f paq está mucho más cercana a
cero que f pbq, es lógico que la raíz se encuentre más cerca de a que de b (figura ??). El método de la
falsa posición al igual que el método de bisección: localiza la raíz en una sucesión de intervalos de
tamaño decreciente. En lugar de seleccionar el punto medio cada intervalo, este método utiliza el
punto donde las líneas secantes cortan al el eje x.
(b, f (b))
a α
c b
(a, f (a))
81 / 133
M ÉTODO DE LA FALSA P OSICIÓN
En la figura ??, la línea secante sobre el intervalo ra, bs es la cuerda entre pa, f paqq y pb, f pbqq. Los dos
triángulos rectos de la figura son similares, lo que significa que
bc
f pbq
c fpaaq
Es fácil mostrar que
ab ba
c b f p bq
f p a q f p bq
a f pa q f pbq f paq
aff ppbbqq bff papqaq
Entonces calculamos f pcq y procedemos al siguiente paso con el intervalo ra, cs si f paqf pcq 0 o al
intervalo rc, bs si f pcqf pbq 0.
Este método fue propuesto por Newton en 1669. En su trabajo, Newton solo trató con
polinomios y fue J. Raphson, quien propuso en 1690 la forma general del método, es decir, con
f pxq general, es por eso que el método es a menudo llamado el método de Newton-Raphson.
El progreso en el desarrollo del método está relacionada con famosos matemáticos como
Fourier, Cauchy y otros.
Por ejemplo, Fourier demostró en 1818 que el método converge cuadráticamente en la vecindad
de una raíz, mientras que Cauchy proporcionó la extensión a sistemas de ecuaciones.
En el trabajo Tjalling se expone el desarrollo historico del Método de Newton Raphson a través
de las notas, cartas y publicaciones existentes de Isaac Newton, Joseph Raphson y Thomas
Simpson.
83 / 133
M ÉTODO DE N EWTON –R APHSON .
x2 x1 x0
Este método se basa en usar una recta tangente a la gráfica de f para aproximar esta gráfica, cerca
del punto donde la función se anula: Supongamos que tenemos la aproximación xk a la raíz α de
f pxq. Trazamos la recta tangente a la curva en el punto pxk , f pxk qq, cuya ecuación es:
y f pxk q f 1 pxk qpx xk q. Esta recta cruza al eje de abscisas en un punto xk 1 que será nuestra
siguiente aproximación a la raíz α. El punto xk 1 donde la recta tangente y f pxk q f 1 pxk qpx xk q
corta al eje de abscisas queda determinado por f pxk q f 1 pxk qpxk 1 xk q 0.
84 / 133
M ÉTODO DE N EWTON –R APHSON .
85 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
function raiz=newton(f,Df,x0,tol,maxit)
k=0;
raiz=x0;
corr=tol+1;
while (k<maxit) & (abs(corr)>tol)
k=k+1;
xk=raiz;
fxk=feval(f,xk);
Dfxk=feval(Df,xk);
if (Dfxk==0)
error('La derivada de la funcion se anula.')
end
corr=fxk/Dfxk;
raiz=xk-corr;
end
if (abs(corr)>tol)
error('Se excedio el numero maximo de iteraciones.')
end
86 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 5.1
Calcule mediante este programa las raíces de la ecuación cospxq x 0 con un error menor que
1012 .
>> f3=inline('cos(x)-x');
>> Df3=inline('-sin(x)-1');
>> tol=1.e-12;
>> maxit=10;
>> x0=1;
>> format long
>> raiz=newton(f3,Df3,x0,tol,maxit)
raiz =
0.73908513321516
87 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Teorema 5.1
Sea f P C 2pra, bsq con una raíz α P pa, bq y sean m1 y M2 tales que
m1 ¤ mı́n f 1 pxq y máx f 2 pxq ¤ M2 .
xPra,bs xPra,bs
Dado x0 P ra, bs, sea txk ukPN la sucesión obtenida por el método de Newton–Raphson. Si xk P ra, bs @k P N y
m1 ¡ 0, entonces
|α xk 1| ¤ 2mM2
|α xk |2 .
1
Por lo tanto, si x0 se escoge suficientemente cercano a α, se tiene la convergencia lı́mkÑ8 xk α, con orden
p 2.
88 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Demostración.
Para establecer la convergencia cuadrática del método, sea en r xn. La formula que define la
sucesión txn u nos permite escribir
f pxn q f px n q 1
en 1 α xn 1 α xn f 1 pxn q
en f 1 pxn q
enf pxfn1pqx qf pxnq
n
en f 1 pxn q
1 2 2
0 f prq f pxn en q f pxn q e f pξ n q
2 n
re-ordenando la última ecuación obtenemos
Demostración.
Por otro otro lado 2
p q ¤ máxxPra,bs |f 2pξnq| ¤ M2 .
f ξn
p nq mı́nxPra,bs |f 1pxnq| m1
f1 x
Entonces
1 f 2 ξn 2
p q ¤ M2 |α x |2
|α xk 1|
p q
2 f 1 x en
2m1
k
n
Teorema 5.2
Sea f P C 2pra, bsq y sean m1 y M2 tales que
m1 ¤ mı́n |f 1 pxq| y máx |f 2 pxq| ¤ M2 .
xPra,bs Pr s
x a,b
Dado x0 P ra, bs, sea txk ukPN la sucesión obtenida por el método de Newton–Raphson. Si xk P ra, bs @k P N y
m1 ¡ 0, entonces
|α xk 1| ¤ 2mM2
|xk 1 xk |2 , k 0, 1, 2, . . .
1
90 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
91 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 5.2
Verificación experimental del orden de convergencia Considere el ? método de Newton aplicado a la
función f pxq x3 x 3x 3 la cual tiene una raiz en r1, 2s (x 3). La siguiente tabla muestra el
2
|α xn 1| lı́m |en 1| λ
n
lı́m
ÝÑ8 |α xn|p nÝÑ8 |e |p n
tenemos que el orden de convergencia es, efectivamente, 2 y que la constante de error asintotico es
λ 0,654740004973474. El Teorema ?? tambien predice la constante de error asintotico: 92 / 133
2
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Definición 5.2
Criterio de detención. Si el método de Newton–Raphson converge, cuando |xk 1 xk | ¤ ϵ, con ϵ
suficientemente pequeño como para que
M2 ϵ
2m1
! 1, entonces se tiene que
|α xk | ¤ |α xk 1| |xk 1 xk |
¤ 2m
M2
|xk 1 xk |2 |xk 1 xk | |xk 1 xk | .
1
93 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 5.3
?
Calculemos 2 resolviendo la la ecuación x2 2 0 con un error menor que 105 usando el método
de Bisección y el método Newton.
Bisección Newton–Raphson
1 1.50000000000000 2.00000000000000
2 1.25000000000000 1.50000000000000
3 1.37500000000000 1.41666666666667
4 1.43750000000000 1.41421568627451
5 1.40625000000000 1.41421356237469
6 1.42187500000000
7 1.41406250000000
.. ..
. .
15 1.41421508789063
16 1.41419982910156
17 1.41420745849609
94 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Ejemplo 5.4
Se desea usar el método para calcular la raíz cuadrada de R, px2 Rq. Verifique que la sucesión de
iteraciones debe estar definida por
1
1 R
xn xn
2 xn
En efecto, la raíz cuadrada de R es la solución de la ecuación x2 R 0. Entonces, f pxq x2 R y
obtenemos
f px n q x2n R
xn 1 xn 1 xn 2x 2 xn x
1 R
f px n q n n
Ejemplo 5.5
A una empresa le cuesta Cpqq dólares producir q gramos por día de un determinado producto
químico, donde
Cpqq 1000 2q 3q2{3
La empresa puede vender cualquier cantidad de producto químico a $ 4 por gramo. Encuentre el
punto de equilibrio de la empresa, es decir, cuántos gramos debe producir por día para no tener
ganancias ni pérdidas. Use el Método de Newton. 95 / 133
M ÉTODO DE N EWTON –R APHSON .
I MPLEMENTACIÓN EN M ATLAB
Solución
Nos estan pidiendo que el costo sea igual a las ventas, esto es Cpqq 4 q, entonces, la función a la
cual le debemos aproximar la raíz es :
q=1:1:1000;fq=1000-2*q+3*q.^(2/3);plot(q,fq)
La salida es:
6.0760678863e+02
Un problema con el método de Newton es que requiere para evaluar tanto la función como su
derivada en cada paso. Cuando la función f es difícil de evaluar , esto puede ser costoso.
Por lo tanto, a veces es mejor contar con métodos que no requieran la evaluación de la derivada
de la función aunque esto implique a tener que usar un mayor número de valores iniciales.
Un ejemplo de estos métodos alternativos al método de Newton–Raphson, es el método de la
secante.
Éste método consiste, simplemente, en reemplazar la derivada f 1 pxk q por el cociente incremental
f pxk q f pxk1 q
xk xk1
.
Es decir,
xk xk1
: xk f pxk q
f pxk q f pxk1 q
xk 1 , (11)
97 / 133
M ÉTODO DE LA S ECANTE .
x2 x3 x1 x0
Método de Secante
1 Escoja los puntos iniciales x0 y x1
2 Haga x2 x1 f px1 qpx1 x0 q{pf px1 q f px0 qq.
3 Revise el criterio de convergencia
4 Haga x0 x1 y x1 x2
5 Repita el paso 2.
98 / 133
M ÉTODO DE LA S ECANTE .
Teorema 6.1
Sea f P C 2 pra, bsq con una raíz α P pa, bq y tal que f 1 pxq 0 @x P ra, bs. Dado x0 , x1 P ra, bs, sea txk ukPN la
sucesión obtenida por el método de la secante. Supongamos que xk P ra, bs @k P N. Entonces
|α xk 1| ¤ C |α xk |p ,
?
con p p1 5q{2 y C ¡ 0. Por lo tanto, si x0 se?
escoge suficientemente cercano a α, se tiene la
convergencia lı́mkÑ8 xk α, con orden p p1 5q{2.
Observacion 6.1
Como en el método de Newton–Raphson, la convergencia del método de la secante no está siempre
garantizada, pero cuando tiene lugar es bastante veloz, con un orden levemente inferior al de
Newton–Raphson.
99 / 133
M ÉTODO DE LA S ECANTE .
Ejemplo 6.1
Verificación experimental del orden de convergencia. Considere el método de la secante aplicado a
la función f pxq x3 2x2 3x 1 la cual tiene una raiz en r1, 2s (x 1,198691243515997). La
siguiente tabla muestra el error en cada iteración. Además listamos el radio |en |{|en1 |1,618
100 / 133
M ÉTODO DE LA S ECANTE .
Ejemplo 6.2
La sangre se comporta como un fluido no newtoniano y entre los los principales modelos no
newtonianos existentes para su descripción está el modelo Casson. Este modelo predice que a
diferencia de los líquidos como el agua, la sangre fluye a través de un tubo de tal manera que el
núcleo central se moverá como un tapón con poca deformación, y la mayor parte del gradiente de
velocidad se producirá cerca de la pared del vaso. La siguiente ecuación se utiliza para describir el
flujo del tapón de un fluido Casson.
16 a
Fpξ q 1 ξ ξ4
4 1
ξ
7 3 21
donde F mide la reducción del caudal (relativa a un fluido newtoniano) experimentado por el fluido
Casson para un gradiente de presión dada y ξ representa la fracción del tubo se llena de flujo de
tapón. Para un valor de F 0,40, utilice el método de la secante para determinar el valor
correspondiente de ξ . Utilice como aproximaciones iniciales ξ 0,25 y ξ 0,26.
101 / 133
M ÉTODO DE LA S ECANTE .
Solución
Fpξ q
k ξk F pξ k q
2 0.154945125357809 0.306838746970189
3 0.121713497103167 0.364846520543225
4 0.101574690022528 0.406952778324256
0,4 5 0.104900102175629 0.399557373801510
6 0.104701071205083 0.399994679461919
7 0.104698649668035 0.400000004108657
ξ
α
Debemos buscar unaraiz de f pξ q : Fpξ q 0,4. La ecuación para ξk es
Entonces para que el caudal sea 0,4 la fraccion de l tubo debe ser 0,104698649668035. 102 / 133
M ÉTODO DEL PUNTO FIJO
Un punto fijo de una función es un número en el que el valor de la función no cambia cuando se
aplica la función.
Definición 7.1
El número real α es llamado un punto fijo de la función g si y sólo si gppq p.
Ejemplo 7.1
Sea gpxq x2 3x 4. 2 es un punto fijo de g porque gp2q 2.
Una condición suficiente alterna para la existencia de una solución a la ecuación f pxq 0 es
obtenida reescribiendo la ecuación en la forma equivalente x gpxq 0, donde g es cierta función
de valor real definida y continua en ra, bs. Por tanto si p es un punto fijo de g, entonces la función
f pxq x gpxq tiene un cero en p.
Note que hay distintas formas de escoger dicha función g. Por ejemplo encontrar una raíz de
f pxq ex 3x 4 es equivalente a encontrar un punto fijo de las siguientes funciones
g1 pxq lnp3x 4q
ex 4
g2 pxq
3
g3 pxq ex 4x 4
103 / 133
M ÉTODO DEL PUNTO FIJO
y=x
b
f (b) y = g(x)
f (a)
a b
104 / 133
M ÉTODO DEL PUNTO FIJO
Teorema 7.1
Suponga que g es una función de valor real, definida y continua sobre un intervalo cerrado y acotado ra, bs de
la recta real, y sea gpxq P ra, bs, para todo x P ra, bs entonces g tiene un punto fijo en ra, bs. Si además, g1 pxq
existe en pa, bq y existe 0 ¤ k 1 tal que |gpxq| ¤ k para todo x P pa, bq el punto fijo es unico.
Demostración.
Si gpaq a o gpbq b, tenemos el resltado que deseamos. Si no, entonces gpaq ¡ a y gpbq b. La
función hpxq gpxq x es continua tal que hpaq gpaq a ¡ 0 y hpbq gpbq b 0. El Teorema del
valor medio implica que existe p P pa, bq para el cual hppq 0. Este número p es un punto fijo de g
pues gppq hppq p p.
Probemos ahora la unicidad: Supongamos que |g1 pxq| ¤ k 1 y que p y q son puntos fijos en ra, bs. Si
p q, entonces por el Teorema del valor medio tenemos que existe un número ξ entre p y q tal que
gppq gpqq g1 pξ qpp qq de donde |p q| |gppq gpqq| |g1 pξ q||p q| ¤ k|p q| |p q| lo cual es
una contradicción. Esta contradicción se genero al suponer que p q. Luego p q y el punto fijo en
ra, bs es único.
105 / 133
M ÉTODO DEL PUNTO FIJO
En la figura ?? se puede ver que no todas las funciones obtenidas a partir de la ecuación
ex 3x 4 0 cumplen la hipotesis de gpxq P ra, bs como se exige en el teorema. Mientras que
g1 pxq P r0, 3s para todo x P r0, 3s, esto no se cumple para g2 pxq y g3 pxq.
f pxq
y g1xpxq lnp3x 4q
ex
f p32xpxq qexex3x
4
g 4x4 4
3x
3
Figura. Ecuación ex 3x 4 0
106 / 133
M ÉTODO DEL PUNTO FIJO
Ejemplo 7.2
Pruebe que la función gpxq π 1
2 sen x
2 tiene un único punto fijo en r0, 2π s.
Solución
Lo primero que debemos verificar es que gpxq P r0, 2π s. En efecto, calculemos los puntos críticos de
gpxq : g1 pxq 14 cosp x2 q por tanto g1 pxq 0 si x π. Los puntos críticos de g son 0, π y 2π y
gp0q π, gp2π q π y gpπ q π 12 . La función g es continua en r0, 2π s y tiene máximo y mínimo
absoluto. Por tanto se tiene que π ¤ gpxq ¤ π 12 , de este modo vemos que gpxq P r0, 2π s para todo
x P r0, 2π s. La primera parte del Teorema ?? garantiza la existencia del punto fijo. Para probar que es
único basta observar que |g1 pxq| ¤ 1{4 k 1.
y
2π
yπ sinpx{2q
f pxq x
107 / 133
x
α 2π
M ÉTODO DEL PUNTO FIJO
Teorema 7.2
Suponga que g es una función de valor real, definida y continua sobre un intervalo cerrado y acotado ra, bs de
la recta real, y sea gpxq P ra, bs, para todo x P ra, bs. Si además, g1 pxq existe en pa, bq y existe 0 ¤ k 1 tal que
|g1pxq| ¤ k para todo x P pa, bq y si p0 P ra, bs entonces la sucesión
pn 1 gppnq, n 0, 1, 2, . . . (12)
Demostración.
Por Teorema ?? tenemos que existe un único punto fijo p en ra, bs para el cual gppq p. Como g
mapea en ra, bs, la sucesión tpn u8
n1 esta bien definida para todo n ¥ 0 y pn P ra.bs para todo n.
Usando el echo de que |g1 pxq| ¤ k y el Teorema del valor medio, nosotros tenemos que para cada n,
|pn p| |gppn1 gppqq| |g1pξnq||pn1 p| ¤ k|pn1 p| donde ξn P pa, bq.
108 / 133
M ÉTODO DEL PUNTO FIJO
Demostración.
Aplicando la inecuación reiterativamente optenemos
como 0 k 1, tenemos que lı́m kn 0 y lı́m |pn p| ¤ lı́m kn |p0 p| 0. Luego tpn u8
n0
nÑ8 nÑ8 nÑ8
converge a p. Como p P ra, bs, la primera inecuación se obtiene de la inecuación
Demostración.
Ya hemos probado que, lı́m pm
mÑ8 p, luego
m¸
n 1 8̧
|p pn| mlı́m
Ñ8 |pm pn | ¤ mlı́m
Ñ8 k |p1 p0 |
n
k i
¤ k |p1 p0|
n
ki .
i 0
i 0
°8
Como
i 0k
i 1{p1 kq, tenemos que |p pn| ¤ pknq{p1 kq|p1 p0|.
Ejemplo 7.3
Muestre que la función gpxq lnp2x 1q tiene un único punto fijo en r1, 2s y aproximelo tomando
como punto inicial x0 0,5 .
Solución
Note que gp1q lnp3q P r1, 2s y gp2q lnp5q P r1, 2s; además g1 pxq 1{p2x 1q, de este modo
g1 pxq ¡ 0 para todo x P r1, 2s por tanto g es una función monotona creciente y gpxq P r1, 2s. Para
probar la unicidad vemos que 3 ¤ 2x 1 ¤ 5 para todo x P r1, 2s y por consiguiente
|g1pxq|
2x
1
1
¤ 13 .
110 / 133
M ÉTODO DEL PUNTO FIJO
Solución
En la tabla siguiente se muestra una aproximación para dicho punto fijo, tomando como punto
incial x0 1,5
y n xn g px n q
2 1 1.500000 1.386294
2 1.386294 1.327761
y lnp2x 31q
yx
1.327761 1.296239
4 1.296239 1.278842
5 1.278842 1.269110
1
19 1.256440 1.256436
20 1.256436 1.256434
21 1.256434 1.256433
x 22 1.256433 1.256432
1 2
111 / 133
M ÉTODO DEL PUNTO FIJO
I MPLEMENTACIÓN EN M ATLAB
function y = punto_fijo(g,p0,tol,max1)
format long
for k=1:max1
p = g(p0);
error_abs = abs(p-p0);
error_rel = error_abs/( abs(p)+eps );
if (error_abs<tol) & (error_rel<tol)
break
end
p0 = p
end
if (k==max1)
disp('El algoritmo alcanza el maximo de iteraciones')
end
y = p;
112 / 133
TALLER
Ejemplo 8.1
Considere f pxq x3 x2 3x 3 la cual tiene un único cero en p1, 2q ya que f p1q f p2q 0. Es
posible transformar el problema f pxq 0 en un problema de punto fijo x gpxq. Las cinco funciones
listadas a contiuacion tienen un punto fijo donde f tiene una raiz.
5
a) g1 pxq
x3 3 x2
3 4
b) g2 pxq 1
3x 3
?3 x2 3
c) g3 pxq 3 3x x2
1{2
3x x2 2 g 2 px q
d) g4 pxq
3
g543
x g1
x2 3x 3
3 1
e) g5 pxq x
x
3x2 2x 3
0 1 2 3
113 / 133
TALLER
k pq
g1 x pq
g2 x pq
g3 x pq
g4 x pq
g5 x
1 -0.333333333333 5.000000000000 1.709975946677 2.236067977500 3.000000000000
5 -0.999148069558 -0.548624511498 1.732050658660 1.788336635491 1.732072291545
6 -0.999716506837 3.498925607171 1.732050815248 1.699764652977 1.732050807871
7 -0.999905555850 0.102454435339 1.732050807173 1.750767137020 1.732050807569
8 -0.999968524563 314.079665339168 1.721269132176
9 -0.999989508848 -0.990417871487 1.738283890790
10 -0.999996503023 -0.970694690711 1.728454854472
11 -0.999998834349 -0.906695571833 1.734127846317
12 -0.999999611451 -0.659513011025 1.730851931929
13 -0.999999870484 1.348416050448 1.732743080114
14 -0.999999956828 2.874792655876 1.731651157563
15 0.406554839135 1.732281556863
16 24.529343947040 1.731917588152
17 -0.872711536715 1.732127723086
18 -0.498617855102 1.732006400791
19 5.049987345603 1.732076445973
20 -0.288302989971 1.732036005276
21 1.732059353692
22 1.732045873467
23 1.732053656275
30 1.732050746654
31 1.732050842738
114 / 133
TALLER
Ejemplo 8.2
Use el manejo algebráico para demostrar que las siguientes funciones tienen un punto fijo en p
exactamente cuando f ppq 0, donde f pxq x4 2x2 x 3.
a) g1 pxq px 3 2x2 q1{4
1{2
b) g2 pxq
x 3
x2 2
1{2
3 x4
c) g3 pxq
x
2
4
2x2 3
d) g4 pxq
3x
4x3 4x 1
k g1 pxq g2 pxq g 3 px q g 4 px q
1 1,189207115 1,224744871 1,544700538 1,422857123
2 1,080057753 0,993666159 1,11642741 1,124481692
3 1,149671431 1,228568645 1,126052233 1,124123164
4 1,107820532 0,987506429 1,123638885 1,124123029
115 / 133
TALLER
Solución
La tabla ?? muestra las cuatro primeras iteraciones usando cada una de las funciones de punto fijo
con p0 1. La raiz de la función f es 1,124123029704315 por lo que la función g4 pxq es la que mejor
funciona.
a) Haciendo f pxq 0 tenemos que x4 x 3 2x2 , luego x px 3 2x2 q1{4 , por lo que
g1 pxq px 3 2x2 q1{4 tiene un punto fijo p tal que f ppq 0.
a f pxq 0 tenemos que x px 2q xa 2x2 x 3, luego x2 px 3q{px2 2q, por lo
b) Igualando 2 2 4
que x px 3q{px2 2q, por lo que g2 pxq px 3q{px2 2q tiene un punto fijo p tal que
f ppq 0.
a
c) Cuandoa f pxq 0 tenemos que 2x2 x 3 2x2 , luego x px 3 x4 q{2, y por consiguiente
g3 pxq px 3 x4 q{2 tiene un punto fijo p tal que f ppq 0.
d) Si f pxq 0, entonces 3x4 2x2 3 f pxq 3x4 2x2 3 4x4 4x2 x luego se tiene que
3x4 2x2 3 xp4x3 4x 1q, y por tanto x p3x4 2x2 3q{p4x3 4x 1q. Así
g4 pxq p3x4 2x2 3q{p4x3 4x 1q tiene un punto fijo p tal que f ppq 0.
116 / 133
TALLER
Ejemplo 8.3
Use el Teorema ?? para mostrar que gpxq 2x tiene un único punto fijo en 31 , 1 . Use la iteración
del punto fijo para obtener una aproximación del punto fijo exacta en 104 . Use los estimativos del
Teorema ?? para estimar la cantidad de iteraciones necesarias para alcanzar una exactitud de 104 y
después compare esta estimación teórica con la que realmente se requiere.
Solución
1
Claramente g es continua y además es decreciente en 3, 1 porque g1 pxq 2x ln 2 0. Por tanto
1
¤ 21 gp1q mı́n gpxq ¤ máx gpxq g
1
21{3 0, 79 ¤ 1
3 Pr s
x 1
3
,1 xPr s
1
3
,1 3
De esta manera se tiene que gpxq P r 13 , 1s para todo x P r 13 , 1s. Por otra parte tenemos que
117 / 133
TALLER
Solución
Para estimar el número de iteraciones necesarias para poder alcanzar con exactitud de 104 el punto
fijo recordamos queremos
|pn p| ¤ kn máxtb p0, a p0u (16)
por tanto hacemos
|pn p| ¤ p21{3 ln 2qn máxt1 0,5, 0,5 31 u 104 (17)
y despejando n tenemos que n ¥ 15. La tabla ?? muestra que en la iteración 11 ya se tiene una
presición 104 lo que no contradice el estimativo (??).
yx
Iteración pn g pp n q
1 0.500000 0.707107
y
2 0.707107 0.612547
1 3 0.612547 0.654041
.. .. ..
. . .
9 0.640964 0.641285
10 0.641285 0.641142
x
y 211 0.641142 0.641205
12 0.641205 0.641177
118 / 133
13 0.641177 0.641190
TALLER
Ejemplo 8.4
Determine un intervalo ra, bs donde la iteración de punto fijo converge si gpxq p2 x2 ex q{3.
Estime la cantidad de iteraciones necesarias para obtener una aproximación con una exactitud de
105 y realiza los calculos.
Solución
Consideremos el intervalo r0, 1s. Notar que si x P r0, 1s entonces 2x ex , lo que implica que
g1 pxq p2x ex q{3 0 para todo x P r0, 1s, por tanto, g es una función continua y decreciente en
r0, 1s. En consencuencia se tiene que:
3e
0¤ gp1q xmı́n gpxq ¤ máx gpxq gp0q 0, 33 ¤ 1
1
3 Pr0,1s xPr0,1s 3
De esta manera se tiene que gpxq P r0, 1s para todo x P r0, 1s. Por otro lado tenemos que
g2pxq p2 ex q{3 0 cuando x ln 2 0,6931 P r0,1s, por tanto los candidatos a extremos relativos
de g1 en r0, 1s son:
g1 p0q 1{3 0,33, g1 pln 2q p2 ln 2 2q{3 0,2045, g1 p1q p2 eq{3 0,2339. Lo que implica
que máxxPr0,1s |g1 pxq| 31 : k. Luego por el Teorema ??, (g cumple las hipótesis del teorema) g tiene
un punto fijo en r0, 1s y además la iteración del punto fijo converge en r0, 1s. Sea p0 0,5 y
pn 1 gppn q para n 0, 1, 2, . . ..
119 / 133
TALLER
Solución
Ahora, deseamos estimar el número de iteraciones necesarias para poder alcanzar con exactitud de
104 el punto fijo, para esto debemos calcular, según el Teorema ??, un natural n para el cual se
cumpla
n
|pn p| ¤ 13 máxt1 0,5, 0,5 0u 104 (18)
y Iteración pn g pp n q
1 0.700000 0.158749
1
2 0.158749 0.284386
3 0.284386 0.250643
4 0.250643 0.259323
5 0.259323 0.257065
6 0.257065 0.257651
7 0.257651 0.257499
8 0.257499 0.257538
y p2 x2 ex q{3
x 120 / 133
α 1
TALLER
Ejemplo 8.5
Sea f pxq px 1q10 , p 1 y pn 1 1{n. Demuestre que |f ppn q| 103 siempre que n ¡ 1, pero que
|p pn| 103, requiere que n ¡ 1000.
Solución
Si 1 n entonces 2 ¤ n y por tanto 210 ¤ n10 , asi |f ppn q| n10 ¤ 210 ¤ 103 Ahora veamos que
|p pn| 103 requiere que n ¡ 1000. En efecto, |p pn| |1 p1 1{nq| |1{n| 1{n Note que
1{n 103 es equivalente a n ¡ 103 y por tanto |p pn | 103 cuando n ¡ 1000.
121 / 133
TALLER
Ejemplo 8.6
Encuentre una función de punto fijo para aproximar la raíz de la ecuación x3 6x 2 0 en el
intervalo r0, 1s. Demuestre que esa función cumple las hipotesis del Teorema de Punto fijo y estime
las iteraciones necesarias para tener una presición de 104 . Encuentre dicha aproximación usando
un p0 P r0, 1s.
Solución
Probemos inicialmente con la función gpxq : px3 2q{6. Vemos que g1 pxq x2 {2 ¡ 0 por tanto g es
una función creciente. Así
Por otro lado |g1 pxq| |x2 {2| ¤ 1{2. Entonces, se cumplen las hipótesis del teorema de punto fijo.
tol=0.0001;
maxit=100;
g=inline('(x^3+2)/6');%
p0=0.5;
y = punto_fijo(g,p0,tol,maxit)
122 / 133
3.3987976508e-01
M ÉTODO DE N EWTON PARA SISTEMAS
Consideremos relaciones no lineales que involucran más de una variable. En esta ocasión solo nos
ocuparemos de los sistemas de ecuaciones que tienen el mismo número de ecuaciones y de
incógnitas.
Sea : Rn Ñ Rn una función de varias variables, no-lineal. Se quiere resolver el sistema de ecuaciones
pxq 0, donde x px1, . . . , xnqt P Rn representa al vector de incógnitas. Una de las ventajas del
método de Newton–Raphson además de su velocidad de convergencia, es que se puede generalizar
fácilmente a sistemas de ecuaciones no lineales. Esta generalización se conoce como método de
Newton. Al igual que en el método de Newton–Raphson, buscamos una aproximación de la
solución mediante un desarrollo de Taylor.
Supongamos que a pα1 , . . . , αn qt P Rn es la solución del sistema de ecuaciones, y que
pf1, . . . , fnqt es dos veces diferenciable. Entonces, aplicando el desarrollo de Taylor para funciones
pk q pk q
de varias variables de en torno a una aproximación de la raíz xpkq px1 , . . . , xn qt , se tiene que:
0 paq pxpkq q Dpxpkq q pa xpkq q O }a xpkq}2 ,
Cuando }a xpkq } es pequeño, el término O }a xpkq }2 es mucho más pequeño aún y puede
despreciarse en en el desarrollo de Taylor anterior:
0 pxpkqq Dpxpkq q pa xpkq q O }a xpkq}2
pxpkqq Dpxpkq q pa xpkq q.
124 / 133
M ÉTODO DE N EWTON PARA SISTEMAS
En la práctica no es necesario (ni conveniente) invertir la matriz Dpxpkq q, sino que se utiliza un
método menos costoso: resolver en cada iteración el sistema de ecuaciones lineal
Dpxpkq q pxpk q xpkq q pxpkq q.
1
Dado xp0q Rn ,
P
para k 0, 1, 2, . . .
resolver D xpkq dxpkq
p q xpkq ,
p q
x pk 1q : xp
k q pk
dx , q
hasta que se satisfaga algún criterio de detención.
Observacion 9.1
Los teoremas de convergencia, y estimación del error del método de Newton–Raphson se pueden
generalizar al caso de sistemas, reemplazando el valor absoluto por una norma vectorial. Así se
obtiene que
}a xpk 1q} ¤ C}a xpkq}2, k 0, 1, 2, . . .
donde C es una constante positiva que depende de las derivadas primeras y segundas de f . Al igual
que en el método de Newton–Raphson, si se desea calcular la solución a del sistema con error
menor que ¤ ϵ, puede usarse }xpk 1q xpkq } ¤¤ ϵ como criterio de detención.
125 / 133
M ÉTODO DE N EWTON PARA SISTEMAS
Ejemplo 9.1
Resolver el siguiente sistema de ecuaciones con error menor que tol 105 :
"
y2 x2 1
y x2
Solución
Las funciones a utilizar son las siguientes
x2 y2 1
F px, yq Dpx, yq
2x 2y
y x2 2x 1
y
y x2
px0, y0q x y
pxk , yk q 1.00000000000000 1.00000000000000
x2 y2 1 0.83333333333333 0.66666666666667
x 0.78809523809524 0.61904761904762
0.78615406630609 0.61803444782168
126 / 133
0.78615137776208 0.61803398874999
M ÉTODO DE N EWTON PARA SISTEMAS
Ejemplo 9.2
Encontrar un mínimo de la función Fpx, yq x2 plog yq2
La función de MATLAB fzero es un método híbrido para encontrar raíces de una ecuación no lineal
ya que combina la fiabilidad del método de bisección con la rapidez de convergencia de métodos
como el de la secante y la interpolación cuadrática inversa. Calcula el cero de la función f cercano al
punto x0 . La función debe escribirse como una función inline.
>> f=inline('sin(x)')
f =
Inline function:
f(x) = sin(x)
Calculemos el cero de la función f pxq senpxq mas cercano a 3 :
>> r=fzero(f,3)
r =
3.141592653589793
Tambien lo demos usar si conocemos el intervalo donde se encuentra la raiz: f(zero(f,[a,b]).
En este caso es necesario que haya un cambio de signo de la funcón en los extremos de dicho 127 / 133
intervalo.
M ÉTODO DE N EWTON PARA SISTEMAS
La función roots(C) calcula las raices de un polinomio cuyos coeficientes estan almacenados en el
vector C.. Si queremos calcular las raices de ppxq 4x2 3x 1 tenemos que hacer lo siguiente
ans =
-0.3750 + 0.3307i
-0.3750 - 0.3307i
Note que la primera componente del vector C corresponde al coeficiente del monomio de mayor
grado y la ultima entrada corresponde al término independiente. Si queremos encontrar las raices
del polinomio entonces ppxq x2 1 C=[1 0 -1].
128 / 133
M ÉTODO DE N EWTON PARA SISTEMAS
En este sección hemos los métodos para encontrar una raiz de una funcion: Bisección,
Newton-Raphson, Secante y de Punto Fijo.
Para compararlos es necesario tener en cuenta
el requisito de proporcionar un intervalo inicial,
la garantia de convergencia o dicho de otro modo la garantia de encontrar una raíz y
la velocidad de convergencia y
el costo computacional.
En este capítulo, se han presentado cinco métodos para resolver una ecuación f pxq 0. Los
métodos de bisección y regula falsi son fiables pero lentos.
El método de Newton es rápido, pero a menudo sólo converge cuando el dato inicial está cerca
de la raíz y requiere f 1 .
El método secante es casi tan rápido como el método de Newton y no requiere el conocimiento
de la derivada f 1 , la cual puede no estar disponible o puede ser demasiado costoso de calcular.
El usuario del método de bisección o de regula falsi debe proporcionar dos puntos en los que
los signos de f pxq difieren, y la función f sólo necesita ser continua.
129 / 133
M ÉTODO DE N EWTON PARA SISTEMAS
Al usar el método de Newton, se debe especificar un punto de partida cerca de la raíz, y f debe
ser diferenciable.
El método secante requiere dos buenos puntos de partida.
El método secante es a menudo más rápido en la aproximación de las raíces de las funciones no
lineales en comparación con la bisección y la falsa posición.
A diferencia de estos dos métodos, los intervalos rak , bk s no tienen que estar en lados opuestos
de la raíz y tener un cambio de signo.
Además, la pendiente de la línea secante puede llegar a ser bastante pequeña, y un paso puede
alejarse de la corriente punto.
El método secante puede fallar al encontrar una raíz de una función no lineal que tiene una
pequeña pendiente cerca de la raíz porque la línea secante puede alejarse muchoi de la raiz.
Para funciones amigables y datos iniciales relativamente cercanas a la raíz, la mayoría de estos
métodos requieren pocas iteraciones antes de acercarse a la raíz.
130 / 133
M ÉTODO DE N EWTON PARA SISTEMAS
Sin embargo, hay funciones patológicas que pueden causar problemas para cualquiera de esos
métodos. Al seleccionar un método para resolver un problema no lineal dado, uno debe
considerar muchas cuestiones como lo que sabe
Sobre el comportamiento de la función, un intervalo ra, bs que satisface f paqf pbq 0, la primera
derivada de la función, una buena conjetura inicial a la raíz deseada, y así sucesivamente.
Para una ecuación no lineal f pxq 0, buscamos un punto donde la curva f interseca el eje x
(y 0). Un enfoque alternativo es reformular el problema como un problema de punto fijo
x gpxq para una función no lineal relacionada g.
Para el problema de punto fijo, buscamos un punto donde la curva g intersecte la línea diagonal
y x. Un valor de x tal que x gpxq es un punto fijo de g porque x no cambia cuando se le
aplica g.
Muchos algoritmos iterativos para resolver una ecuación no lineal f pxq 0 se basan en un
método iterativo de punto fijo xn 1 gpxn q donde g tiene puntos fijos que son soluciones de
f pxq 0.
Se selecciona un valor inicial inicial x0 y el método iterativo se aplica repetidamente hasta que
converge suficientemente bien.
131 / 133
M ÉTODO DE N EWTON PARA SISTEMAS
Un método podría ser considerado inapropiado si requiere una cantidad excesiva de cálculos
para llegar a una solución, sobre todo en aplicaciones reales donde una rápida respuesta podria
ser necesaria.
El orden de convergencia da una idea de la velocidad a la que un proceso iterativo alcanza la
solución.
El orden de convergencia es una medida de cómo el error (el valor absoluto de la diferencia
entre el valor aproximado y la verdadera solución) disminuye a medida que avanza iteración.
Por ejemplo, un método iterativo que tiene la convergencia lineal (u orden de convergencia 1)
podría producir una secuencia de errores de 0, 1, 0,5, 0,25, . . . Es decir, el error se reduce a la
mitad en cada iteración.
Mientras que un método que tiene la convergencia cuadrática (o orden de convergencia 2)
podría producir una secuencia de errores de 0, 1, 0, 01, 0, 001, . . . es decir, se eleva al cuadrado el
error en cada iteración.
De ello se desprende que un método que tiene la convergencia cuadrática general converge
mucho más rápido que un procedimiento que tiene la convergencia lineal.
132 / 133
R EFERENCES I
133 / 133