Está en la página 1de 83

Notas para un Curso de Métodos Numéricos

con Octave

Gerardo M. Ortigoza Capetillo


gortigoza@uv.mx
Facultad de Ingenierı́a
Universidad Veracruzana
Contents

1 Breve Introducción a Octave 3


1.1 Matrices y Operaciones con Matrices . . . . . . . . . . . . . . 3
1.2 Expresiones, Variables y algunos comandos . . . . . . . . . . . 6
1.3 Comandos de control . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 while . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Mfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Gráficas en 2d . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Errores y Aproximaciones 12
2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Errores Numéricos . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Solución numérica de ecuaciones algebraı́cas y trascenden-


tales 17
3.1 Métodos Cerrados . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 Método de bisección . . . . . . . . . . . . . . . . . . . 18
3.1.2 Regla Falsa . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.3 Regla Falsa modificado . . . . . . . . . . . . . . . . . . 20
3.2 Métodos Abiertos . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Punto Fijo . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Newton Raphson . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 Secante . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4 Solución numérica de Ecuaciones Lineales. 27


4.1 Introducción a Sistemas de Ecuaciones lineales. . . . . . . . . 27
4.2 Eliminación Gaussiana y Gauss-Jordan. . . . . . . . . . . . . . 28

1
CONTENTS 2

4.3 Soluciones Iterativas . . . . . . . . . . . . . . . . . . . . . . . 29

5 Regresión e Interpolación 33
5.1 Regresión por mı́nimos cuadrados . . . . . . . . . . . . . . . . 33
5.2 Regresión Lineal . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2.1 Linealización de relaciones nolineales . . . . . . . . . . 35
5.3 Regresión Polinomial . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 Regresión Lineal Múltiple . . . . . . . . . . . . . . . . . . . . 41
5.5 Mı́nimos Cuadrados caso General para el ajuste de funciones
a datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.6 Interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . 50
5.7 Interpolación usando Splines Cúbicos . . . . . . . . . . . . . . 54

6 Derivación e integración 57
6.1 Derivación Numérica . . . . . . . . . . . . . . . . . . . . . . . 57
6.1.1 Fórmulas de tres puntos . . . . . . . . . . . . . . . . . 59
6.1.2 Fórmulas de cinco puntos . . . . . . . . . . . . . . . . 61
6.2 Integración Numérica . . . . . . . . . . . . . . . . . . . . . . . 62
6.2.1 Integración Compuesta . . . . . . . . . . . . . . . . . . 67
6.2.2 Integración de Romberg . . . . . . . . . . . . . . . . . 71
6.2.3 Integración de ecuaciones diferenciales ordinarias . . . 72
6.2.4 Método de Euler . . . . . . . . . . . . . . . . . . . . . 73
6.2.5 Método de Euler Mejorado . . . . . . . . . . . . . . . . 74
6.2.6 Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . 74
Chapter 1

Breve Introducción a Octave

Octave o GNU Octave es un programa libre para realizar cálculos numéricos.


Como indica su nombre es parte de proyecto GNU. MATLAB es considerado
su equivalente comercial. Entre varias caracterı́sticas que comparten se puede
destacar que ambos ofrecen un intérprete permitiendo ejecutar órdenes en
modo interactivo.

1.1 Matrices y Operaciones con Matrices


≫ A = [1 2 3; 4 5 6];
≫A
A=

1 2 3
4 5 6

≫ size(A)
ans =
2 3
≫ x = [1 5 4 8 10];
≫ size(x)
ans =
1 5
Practique
x = 0:.1 : 6 size(x) y = ones(size(x)) z = zeros(size(x))
Z = zeros(size(A)) Y = ones(size(A)) w = zeros(2, 3) v = eye(5)

3
CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 4

A(2, 2) A(1, :) A(:, 2) A′ size(A′ ) x(1 : 10)

≫ B = [2 0 − 1; 1 2 7];
≫A+B

ans =
3 2 2
5 7 13

Definamos
≫ C = [3 3; −1 4; 6 2]; b = [1 5 − 2]; c = [1 3]

Realicemos las operaciones


≫A+3
≫A∗C
≫ A ∗ b′
≫c∗A
≫2∗A
≫ A/2
≫ A. ∗ B
≫ A. ∧ 2
≫ B./A

Algunas funciones de Matrices


rand(3) rand(4,5) magic(3) hilb(3)

Ejercicio

1. Sea A = hilb(5) investigue el uso de diag(A), triu(A) y tril(A).

2. Defina M = hilb(3) y B = [M, zeros(3, 2); zeros(2, 3), eye(2)], verifique


el tamaño de B y su estructura.

Operaciones con Matrices


CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 5

+ suma
− resta
∗ producto
∧ potencia
’ transpuesta
\ división por la izquierda
/ división por la derecha
Sea
A = [1 2 3 ; 4 5 6; 6 7 9]
A=

1 2 3
4 5 6
6 7 9

b = [1; 0; 1]
b=

1
0
1

La solución de Ax = b esta dada por


x = A\b
x=
−0.0000
−2.0000
1.6667

Cuando A es cuadrada la división por la izquierda se realiza usando elimi-


nación Gaussiana, esto es más eficiente que usar x = inv(A) ∗ b. Si A no
es cuadrada entonces es factorizada usando ortogonalización de Householder
con pivoteo por columnas y los factores son usados para resolver el sistema
sobre o subdeterminado en el sentido de mı́nimos cuadrados.
CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 6

1.2 Expresiones, Variables y algunos coman-


dos
variable=expresion
Matlab es sensible a minúsculas y mayúsculas, ası́ v1 6= V1 Algunos comandos
de ventana
who
clear
clear x1, x2;
clc
clf
Ctrl − C

Si sales de Octave todas las variables se pierden, pueden guardarse us-


ando save nombredelarchivo.m las variables y las variables van a parar a
un nombredelarchivo.m, después pueden recuperarse usando load nombre-
delarchivo.m
Ayudas en Octave
help nombre del comando
Cadenas de caracteres y formatos de salida
s=’mensaje de prueba’;
display(’este es un mensaje’);
error(’lo siento la matriz debe ser cuadrada’); Da la salida de un mfile.
iter=input(’introduzca el número de iteraciones’);

format short 5 decimales


format long 15 decimales
format short e notación cientı́fica con 5 decimales
format long e notación cientı́fica con 15 decimales.

1.3 Comandos de control


1.3.1 for
for i=1:10
[i ∧ 2, i ∧ 3];
CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 7

end

for i=1:5
for j=1:5
H(i, j) = 1/(i + j − 1);
end
end
H

1.3.2 while
n=0;
while 2 ∧ n < 100
n=n+1;
end

n
El más pequeño entero no negativo n tal que 2n ≥ 100

1.3.3 if
n=input(’ dame un numero entero’)
if(rem(n,3)==0) display(n);
display(’ es divisible por 3’)
endif
Operadores
< menor que
> mayor que
<= menor o igual que
== igual
∼= diferente
| o
∼ negación

Funciones Escalares
sin asin exp abs round
cos acos log sqrt floor
tan atan rem sign ceil
CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 8

Funciones Matriciales
eig chol svd inv lu
qr hess expm sqrt poly
det size norm cond rank

Funciones Vectoriales
max min sort sum prod
median mean std
Ejercicios
1. La sucesión de Fibonacci es la sucesión infinita de números naturales
1,2,3,5,8,13,21,34,55

donde el primer elemento es 1, el segundo es 2 y cada elemento restante


es la suma de los dos anteriores. Escriba un programa para calcular
estos números.
2. Un número capicua es una cifra que puede leerse de la misma forma
de izquierda derecha que de derecha a izquierda. Ejemplo 313 es un
número capicua de tres cifras.
Escriba un programa que imprima los 90 números capicuas de tres
cifras, modifique su código para averiguar cuantos números capicuas
de cinco cifras hay.

3. Cubos narcisistas: Son cubos narcisistas aquellos números enteros po-


sitivos que son exactamente iguales a la suma de sus dı́gitos elevados
al cubo. Por ejemplo 371 es narcisista, ya que:

371 = 33 + 73 + 13 .

Escriba un programa que calcule los números narcisistas menores que


1000. ¿cuántos de estos números hay?

4. Note que 1, 233 = 122 + 332 . ¿Existe algún otro número positivo de
cuatro dı́gitos con esta propiedad? Escriba un código.
CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 9

1.4 Mfiles
Hay dos clases de Mfiles: los script files y los function files. Los Script files
contienen una colección de comandos que se ejecutan en el orden en que son
escritos. Los Function files son archivos que definen funciones.

function [x1,x2]=rootquad(a,b,c)
% Esta función resuelve un cuadrática
% a x∧2+b x+c=0
% dados los coeficientes a, b y c
% Sintaxis [x1,x2]=rootquad(a,b,c)
d = b ∧ 2 − 4 ∗ a ∗ c;
x1 = (−b + sqrt(d))/(2 ∗ a);
x2 = (−b − sqrt(d))/(2 ∗ a);

Note que cuando usamos help nombre de la función definida aparece el


comentario de la función, además no se deben usar nombres de funciones ya
definidas en Matlab.

Ejemplo Usemos un functionfile para definir la función:



 x x<0
2
f (x) = x 0≤x<2
4 2≤x

function y=f(x)
y1=x.*(x<0);
y2=x.^ 2.*((x<2)-(x<0));
y3=4*(1-(x<2));
y=y1+y2+y3;

Ejercicios con funciones

1. Modifique la función rootquad para que funcione de forma vectorial.


CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 10

2. Considere la sucesión obtenida del modo siguiente. Comenzando por


un número n, el siguiente término se obtiene sumando el cuadrado de
todos los dı́gitos de este número. Por ejemplo si n es 42 la sucesión
será 42, 20, 4, 16, 37, 58, 89, ....
Un número se denomina feliz si la sucesión definida de esta forma que
comienza en dicho número termina en 1, por ejemplo 103 es feliz dado
que la sucesión correspondiente es 103, 10, 1. Escriba una función que
verifique si un número n es feliz.
Nota: Por simplicidad, considere que si después de generar 100 términos
no se llega a 1 el número no es feliz.

3. Un número perfecto es un entero positivo que es igual a la suma de sus


divisores propios positivos. Ası́, 6 es un número perfecto porque sus
divisores propios son 1, 2 y 3; y 6 = 1 + 2 + 3. Haga una función que
determine si un número dado es perfecto, con ella investigue cuantos
números perfectos hay de dos, de tres y de cuatro cifras.

4. Un número primo es un número natural mayor que 1 que tiene únicamente


dos divisores positivos distintos: él mismo y el 1. Por ejemplo 2,3 y
5 son primos. Haga una función que determine si un número dado es
primo. Usando esta función enumere todos los números primos menores
que 1000.

1.5 Gráficas en 2d
x=0:.1:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,’r-’,x,y2,’b:’);
legend(’sin(x)’,’cos(x)’);
title(’Gráfica de las Funciones seno y coseno’);
xlabel(’x’);
ylabel(’y’);
grid on;
axis tight;
%text(x,y,’texto’); pone le mensaje texto en la posición (x,y)
CHAPTER 1. BREVE INTRODUCCIÓN A OCTAVE 11

Graficas de las Funciones seno y Coseno


1
sin(x)
cos(x)
0.8

0.6

0.4

0.2

0
y

−0.2

−0.4

−0.6

−0.8

0 1 2 3 4 5 6
x

Gráfica de las funciones Seno y Coseno

Tipo de lı́nea Sı́mbolo Tipo de punto Sı́mbolo Color Sı́mbolo


sólida - punto . azul b
discontinua – mas + verde g
punteada : estrella * rojo r
raya-punto -. circulo o negro k
Chapter 2

Errores y Aproximaciones

2.1 Introducción
Definición: Los métodos numéricos son técnicas mediante las cuales es posi-
ble formular problemas de tal forma que sean resueltos con operaciones ar-
itméticas. Aunque hay muchos tipos de métodos, todos comparten una car-
acterı́stica común, llevan a cabo un buen número de cálculos aritméticos y
producen soluciones aproximadas. La importancia de los métodos numéricos
no radica en buscar la solución exacta de un problema, sino la aproximada
pero con la precisión requerida, o sea, con un error lo suficientemente pequeño
y próximo a cero, de ahı́ la utilidad de los métodos numéricos. Es también
importante el tiempo empleado en obtener la solución y en esto ha jugado
un papel importante el enorme desarrollo de la tecnologı́a computarizada,
ya que la enorme velocidad actual de los sistemas de cómputo ha reducido
considerablemente el tiempo requerido para obtener una solución, lo que
ha motivado la popularidad, el enorme uso y aceptación que hoy tienen los
métodos numéricos. Los errores en cálculos y medidas se pueden caracterizar
con respecto a su exactitud y su precisión. La Exactitud se refiere a qué tan
cerca está el valor calculado o medido del valor verdadero. La precisión se
refiere a que tan cercanos se encuentran, unos de otros, diversos valores cal-
culados o medidos. En matemáticas, lógica y ciencias de la computación, un
algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite llevar a cabo una actividad mediante pasos
sucesivos que no generen dudas a quien deba hacer dicha actividad. Dados un
estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado

12
CHAPTER 2. ERRORES Y APROXIMACIONES 13

final y se obtiene una solución. Se entiende por convergencia de un método


numérico la garantı́a de que, al realizar un buen número de repeticiones (it-
eraciones), las aproximaciones obtenidas terminan por acercarse cada vez
más al verdadero valor buscado.
En la medida en la que un método numérico requiera de un menor número
de iteracciones que otro, para acercarse al valor numérico deseado, se dice
que tiene una mayor rapidez de convergencia.

2.2 Errores Numéricos


Los errores numéricos han hecho perder gran cantidad de dinero y vidas
humanas, a causa de la mala planificación de los recursos computacionales
o a una mala interpretación de resultados ya sea errores en la programación
o algoritmos incorrectos aparecen errores dificiles de detectar y que aunque
parezcan mı́nimos, pueden ocasionar desastres que generan graves pérdidas.
Por ejemplo podemos citar dos de estos desastres:

i) El misil Patriot que durante la guerra del Golfo no logró interceptar un


misı́l iraquı́ que alcanzó un cuartel del ejército estadounidense matando
a 28 soldados e hiriendo a 100 personas. La causa fue un cálculo in-
exacto del tiempo desde el arranque debido a errores aritméticos de la
computadora. Especı́ficamente, el tiempo en décimas, medido por el
reloj interno del sistema. Este cálculo se realizó usando un registro de
punto fijo de 24 bits. Esta conversión se traduce en una pérdida de
precisión causando un cálculo de tiempo menos precisa.

ii) Explosión del cohete Ariane 5 tan solo 40 segundos después de su de-
spegue, el error fue que un número de punto flotante de 64 bits con
respecto a la velocidad horizontal del cohete fue convertido a un entero
con signo de 16 bits. El número era mayor que 32767, el mayor número
entero que se puede almacenar en un dato de tipo entero 16 bits, asi
que al fallar la conversión se produjo el error.

Un error es una incertidumbre en el resultado de una medida. Se define


como la diferencia entre el valor real Vr y una aproximación a este valor Va :
e = Vr − Va
Existen diferentes tipos errores, cada uno se puede expresar en forma
absoluta o en forma relativa.
CHAPTER 2. ERRORES Y APROXIMACIONES 14

Error de redondeo: Se originan al realizar los cálculos que todo método


numérico o analı́tico requieren y son debidos a la imposibilidad de tomar
todas las cifras que resultan de operaciones aritméticas como los productos
y los cocientes, teniendo que retener en cada operación el número de cifras
que permita el instrumento de cálculo que se este utilizando.
Existen dos tipos de errores de redondeo:

ˆ Error de redondeo inferior: se desprecian los dı́gitos que no se pueden


conservar dentro de la memoria correspondiente.

ˆ Error de redondeo superior: este caso tiene dos alternativas según el


signo del número en particular: para números positivos, el último dı́gito
que se puede conservar en la localización de memoria incrementa en
una unidad si el primer dı́gito despreciado es mayor o igual a 5. para
números negativos, el último dı́gito que se puede conservar en la lo-
calización de la memoria se reduce en una unidad si el primer dı́gito
despreciado es mayor o igual a 5.

Por ejemplo dado π = 3.141592:


redondeado a las centésimas tenemos π = 3.14, a las milésimas π = 3.142
y a las diezmilésimas π = 3. 1416.
Error por truncamiento:
Existen muchos procesos que requieren la ejecución de un numero infinito
de instrucciones para hallar la solución exacta de un determinado problema.
Puesto que es totalmente imposible realizar infinitas instrucciones, el proceso
debe truncarse. En consecuencia, no se halla la solución exacta que se pre-
tendı́a encontrar, sino una aproximación a la misma. Al error producido por
la finalización prematura de un proceso se le denomina error de truncamiento.
Un ejemplo del error generado por este tipo de acciones es el desarrollo en
serie de Taylor. Se obtiene un error de truncamiento cuando para fines de
cálculos se reduce el número de dı́gitos a la derecha del separador decimal,
descartando los menos significativos. Por ejemplo dados los números reales:

3.14159265358979
32.438191288
6.3444444444444

Para truncar estos números a 4 dı́gitos decimales, sólo consideramos los


4 dı́gitos a la derecha del punto decimal. El resultado es:
CHAPTER 2. ERRORES Y APROXIMACIONES 15

3.1415
32.4381
6.3444

En general es preferible el redondeo al truncamiento, ya que cometemos un


error menor.
Error numérico total: Se entiende como la suma de los errores de re-
dondeo y truncamiento introducidos en el cálculo. Mientras más cálculos se
tengan que realiza para obtener un resultado, el error de redondeo se irá in-
crementando. Por otro lado, el error de truncamiento se puede minimizar al
incluir más términos en la ecuación, disminuir el paso o proseguir la iteración
(o sea mayor número de cálculos y seguramente mayor error de redondeo).

Error inherente: En muchas ocasiones, los datos con que se inician los
cálculos contienen un cierto error debido a que se han obtenido mediante la
medida experimental de una determinada magnitud fı́sica. Ası́ por ejemplo,
el diámetro de la sección de una varilla de acero presentará un error según se
haya medido con una cinta métrica o con un pie de rey. A este tipo de error
se le denomina error inherente.

Error absoluto: Es la diferencia entre el valor exacto (un número de-


terminado, por ejemplo) y su valor calculado o redondeado: Error absoluto
= |exacto - calculado|.
Debido a que la definición se dio en términos del valor absoluto, el error
absoluto no es negativo. Ası́ pues, una colección (suma) de errores siempre
se incrementan juntos, sin reducirse. Este es un hecho muy pesimista, dado
que el redondeo y otros errores rara vez están en la misma dirección, es
posible que una suma (algebraica) de errores sea cero, con aproximadamente
la mitad de los errores positiva y la otra mitad negativa. Pero también es
demasiado optimista esperar que errores con signo sumen cero a menudo.
Un enfoque realista es suponer que los errores, en especial el redondeo, están
estadı́sticamente distribuidos.
Error relativo: Es el error absoluto dividido entre un número positivo
adecuado. Generalmente, el divisor es una de tres elecciones: la magnitud del
valor exacto, la magnitud del valor calculado (o redondeado) o el promedio
de estas dos cantidades. La mayor parte de las veces utilizaremos

Error relativo= [exacto - calculado]/[exacto]


CHAPTER 2. ERRORES Y APROXIMACIONES 16

El error relativo es una mejor medida del error que el error absoluto, en
especial cuando se utilizan sistemas numéricos de punto flotante. Puesto
que los elementos de un sistema de punto flotante no están distribuidos de
manera uniforme, la cantidad de redondeos posibles depende de la magnitud
de los números que se redondean. El denominador de la ecuación de arriba
compensa este efecto.

Ejemplo: Suponga que se tiene que medir la longitud de un puente y


la de un remache y se obtuvo 9999 y 9 cm, respectivamente. Si los valores
verdaderos son 10000 y 10 calcule los errores absolutos y relativos. los errores
absolutos son :Eabs = |10000−9999| = 1cm para el puente y Eabs = |10−9| =
1cm para el remache; mientras que los errores relativos son Er = |10000 −
9999|/|10000| = 0.01% para el puente y Er = |10 − 9|/|10| = 0.1 o 10% para
el remache.
Ejercicio: Imagina que se comete un error absoluto de 1 metro al medir una
finca de 200 metros y otra de 3000. Calcule los errores relativos en ambas
mediciones, ¿en cual medición es mejor?
Chapter 3

Solución numérica de
ecuaciones algebraı́cas y
trascendentales

Uno de los problemas matemáticos que más frecuentemente aparece en apli-


caciones en ciencia y en tecnologı́a es la resolución de ecuaciones y sistemas
(ya sean polinómicas, algebraicas o trascendentes).

Llamamos raı́z o cero de la ecuación y = f (x) al punto que satisface


f (x) = 0 es decir el valor de la abscisa donde la gráfica de f corta al eje x.
Sin lugar a dudas el método más sencillo para identificar las raices de una
ecuación es el método gráfico.

Ejemplo: Supongamos √ que deseamos√ identificar las raices de la ecuación:


y = 12 e−x − x − arctan( x2 − 1 − x) + x.
Para graficarla usamos

x=1:.1:6;
y=0.5*exp(-x)-atan(sqrt(x.^2-1)-x)-x+sqrt(x);
plot(x,y);
grid on

La figura 3.1 nos muestra que hay una raı́z entre 1 y 2.

17
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

√ √
Figure 3.1: Gráfica de la función y = 12 e−x − x − arctan( x2 − 1 − x) + x

3.1 Métodos Cerrados


En los métodos cerrados suponemos que la raı́z se encuentra entre dos números
a y b, lo cual se verifica con la condición f (a)f (b) < 0. Estos métodos siem-
pre convergen puesto que a cada iteración se encierra a la raı́z en un intervalo
cada vez más pequeño.

3.1.1 Método de bisección


Consiste en dividir el intervalo [a, b] donde se asume existe una raı́z, en
2 subintervalos de igual magnitud, reteniendo el subintervalo en donde la
función f (x) cambia de signo, para conservar al menos una raı́z o cero, y
repetir el proceso varias veces. A continuación escribimos un pseudocódigo
para este método.
ENTRADA: extremos a y b, tolerancia TOL, m\’aximo n\’umero de iteraciones N
SALIDA: soluci\’on aproximada p o mensaje de error
PASO 1: Tome i=1
FA=f(a)
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

PASO 2: mientras i<=N haga pasos 3-6


PASO 3: Tome p=a+(b-a)/2
FP=f(p)
PASO 4: Si FP=0 o (b-a)/2<TOL
salida(p)
PARAR
PASO 5: Tome i=i+1
PASO 6: Si FA*FP>0 entonces tome a=p
FA=FP
si no tome b=p
PASO 7: SALIDA el m\’etodo fall\’o despues de N iteraciones

Figure 3.2: Método de bisección

3.1.2 Regla Falsa


Como en el método de bisección, se parte de un intervalo inicial [a0 , b0 ] con
f (a0 ) y f (b0 ) de signos opuestos, lo que garantiza que en su interior hay al
menos una raı́z. El algoritmo va obteniendo sucesivamente en cada paso un
intervalo más pequeño [ak , bk ] que sigue incluyendo una raı́z de la función f .
A partir de un intervalo [ak , bk ] se calcula un punto interior pk :
f (bk )ak − f (ak )bk
pk =
f (bk ) − f (ak )
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

Dicho punto es la intersección de la recta que pasa por (a, f (ak )) y (b, f (bk ))
con el eje de abscisas. Se evalúa entonces f (pk ). Si es suficientemente
pequeño, pk es la raı́z buscada. Si no, el próximo intervalo [ak+1 , bk+1 ] será:
[ak , pk ] si f (ak ) y f (pk ) tienen signos opuestos o [pk , bk ] en caso contrario.
Aunque el método de la regla falsa parece ser mejor que el de bisección, hay
casos donde funciona de una manera deficiente.
Consideremos el ejemplo y = x10 − 1.
El ejemplo ilustra una desventaja importante del método de la regla falsa:
su unilateralidad (conforme se avanza en las iteraciones, uno de los puntos
limites del intervalo tiende a permanecer fijo). Un remedio para disminuir la
unilateralidad de la regla falsa es el método de regla falsa modificado, el cual
detecta cuando se estanca uno de los lı́mites del intervalo, si esto ocurre se
divide a la mitad el valor de la función en el punto de estancamiento.

Figure 3.3: Método de regla falsa

3.1.3 Regla Falsa modificado


El siguiente código implementa en octave el método de regla falsa modificada
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

function p=reglafalsamodi(f,a,b,tol,N)
i=1;
FA=feval(f,a);FB=feval(f,b);numa=0;numb=0;
while (i<=N)
p=b-FB*(a-b)/(FA-FB)
FP=feval(f,p);
if ((FP==0) || abs(FP)<tol)
p;return;
end
i=i+1
if (FA*FP>0)
a=p;FA=FP;
numa=0;numb=numb+1;
if (numb>=2) FB=FB/2;
endif
else
b=p;FB=FP;
numb=0;numa=numa+1;
if (numa>=2) FA=FA/2;
endif
end
end

Note que numa y numb son el número de veces que se estanca un lı́mite y
por ello el valor correspondiente de f en ese punto se divide entre dos.
Ejemplo: Usando la función y=0.5*exp(-x)-atan(sqrt(x.^2-1)-x)-x+sqrt(x);
definida en un function file se procedió a calcular la raı́z que se encuentra
entre 1 y 2 usando una precisión de 10−5 con un máximo de 30 iteraciones
usando métodos cerrados obteniendose los siguientes resultados:

método iteraciones
bisección 17
regla falsa 9
regla falsa modi 5

Table 3.1: Comparación de métodos cerrados


CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

3.2 Métodos Abiertos


Los métodos abiertos utilizan una fórmula para predecir la raı́z, a partir
de uno o dos puntos iniciales que no necesariamente encierran a la raı́z. En
general podrı́an no converger, pero en el caso de converger lo hace más rápido
que los métodos cerrados.

3.2.1 Punto Fijo


El Método de Punto Fijo (también conocido como iteración de punto fijo),
es un método abierto para hallar los ceros de f (x). Para resolver f (x) = 0,
se reordena en una forma equivalente:

f (x) = 0
x − g(x) = 0
x = g(x)

Note que si c es un cero de f (x), f (c) = 0 y c = g(c). (Siempre que se tenga


c = g(c) se dice que c es un punto fijo de la función g). Para aproximar un
cero de f se utiliza la iteración de punto fijo

xn+1 = g(xn ), n = 0, 1, 2, 3, · · ·

donde x0 es una aproximación inicial del cero de f . Note que la iteración


de punto fijo converge si, en la región de interés, |g ′ (x)| < 1. Es decir si
la magnitud de la pendiente de g(x) es menor que la pendiente de la recta
y = x.
Ejemplos

1. La ecuación cos(x) − x = 0 se puede transformar en x = cos(x), es


decir g(x) = cos(x) y la convergencia se tiene puesto que |g ′(x)| < 1.

2. La ecuación tan(x) − e−x = 0 se puede transformar en x = tan(x) −


e−x + x

La figura 3.4 muestra dos casos donde se tiene convergencia en el método


de iteración de punto fijo.
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

Figure 3.4: Método de punto fijo

3.2.2 Newton Raphson


El método de Newton-Raphson es un método abierto, (no está garantizada
su convergencia global). Para obtener convergencia es necesario seleccionar
un valor inicial lo suficientemente cercano a la raı́z buscada. La relativa cer-
canı́a del punto inicial a la raı́z depende mucho de la naturaleza de la propia
función; si ésta presenta múltiples puntos de inflexión o pendientes grandes
en el entorno de la raı́z, entonces las probabilidades de que el algoritmo di-
verja aumentan. El método linealiza la función por la recta tangente en ese
valor supuesto. La abscisa en el origen de dicha recta será, según el método,
una mejor aproximación de la raı́z que el valor anterior. Se realizarán sucesi-
vas iteraciones hasta alcanzar la precisión deseada. Sea f : [a, b] → R función
derivable definida en el intervalo [a, b]. Empezamos con un valor inicial x0 y
definimos para cada número natural n

f (xn )
xn+1 = xn − , n = 0, 1, 2, 3, · · ·
f ′ (xn )

De la expresión anterior es claro que el método no funciona cuando f ′ (xn ) =


0, es decir si alcanzamos un punto crı́tico de la función f , en este caso la
pendiente es cero y ası́ la recta que usamos para hallar la aproximación es
horizontal y no se tiene intersección con el eje de las abcisas. Otra desventaja
es que además de conocer f , necesitamos conocer su derivada f ′ e implemen-
tarla en las iteraciones.
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

Figure 3.5: Método de Newton-Raphson

3.2.3 Secante
Podemos pensar este método como una variación del método de Newton-
Raphson donde en vez de calcular la derivada de la función en el punto de
estudio, se aproxima la pendiente (usando la definición de derivada) a la recta
que une la función evaluada en el punto de estudio y en el punto de la iteración
anterior. Este método es de especial interés cuando el costo computacional
de derivar la función de estudio y evaluarla es demasiado elevado, por lo que
el método de Newton no resulta atractivo. El método se define por la relación
de recurrencia:
xn − xn−1
xn+1 = xn − f (xn ), n = 0, 1, 2, 3, · · ·
f (xn ) − f (xn−1 )

Ejemplo: Usando la función y=0.5*exp(-x)-atan(sqrt(x.^2-1)-x)-x+sqrt(x);


definida en un function file se procedió a calcular la raı́z que se encuentra
entre 1 y 2, empleando métodos abiertos, usando una precisión de 10−5 con
un máximo de 20 iteraciones obteniendose los resultados siguientes:
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

método punto inicial iteraciones


punto fijo 1.0 7
regla newton 1.2 4
secante 1,1.2 6

Table 3.2: Comparación de métodos abiertos

Figure 3.6: Método de la Secante

Ejercicios:

1. La función f (x) = e−x − 3 tiene su raı́z en el intervalo [−2, −1], use tol-
erancia 10−5 y el máximo número de iteraciones 30, reporte el número
de iteraciones necesarias usando los métodos: .

(a) Bisección
(b) Regla falsa
(c) Regla falsa modificada

2. Use el método de Newton para hallar la raı́z de f (x) = e−x −3, considere
la tolerancia 10−5 y el máximo número de iteraciones 20. ¿Cuántas
iteraciones necesitó ? ¿Cuál es el valor de la raı́z encontrada?

3. El polinomio de cuarto grado f (x) = 230x4 + 18x3 + 9x2 − 221x − 9


tiene dos ceros reales, uno en [−1, 0] y el otro en [0, 1], aproxime estos
ceros con una exactitud de 10−8 por medio de
CHAPTER 3. SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAÍCAS Y TRASCENDENT

(a) El método de newton.


(b) El método de la secante.
4. La función f (x) = tan(πx) − 6 tiene un cero en (1/π)arctan(6) ≈
0.447431543. Sea p0 = 0 y p1 = 0.48 use diez iteraciones para cada uno
de los siguientes métodos para aproximar esta raı́z. ¿cuál de ellos es
más eficaz y por qué?
(a) Bisección.
(b) Secante.
5. Un circuito eléctrico con resistencia R = 200Ω, capacitancia C = 10−4 F
e indunctancia L tiene una carga inicial q0 a través del capacitor.
Cuando se cierra el circuito, la carga se disipa en un tiempo t =0.03
seg hasta un valor q definido por
s 
 2
q Rt 1 R 
= e− 2L cos t − .
q0 LC 2L

Con una tolerancia de 0.001 determine el valor de L necesario para que


q
q0
alcance un valor de 0.1, si usa un método cerrado en su respuesta
especifique los extremos del intervalo por otra parte si usa un método
abierto especifique su o sus aproximaciones iniciales.
6. La velocidad de un paracaidista que cae está dada por
gm ct
v= (1 − e− m )
c
donde g=9.81m/s2. Para un paracaidista con un coeficiente de arrastre
c=14kg/s, calcula la masa m de modo que la velocidad sea v = 35m/s
en t=8seg.
7. En un tanque esférico el volumen del lı́quido que puede contener se
calcula con
[3R − h]
V = πh2
3
3
donde V =volumen en m , h =profundidad del agua del tanque en
metros y R =radio del tanque. Si R = 3m ¿a que profundidad debe
llenarse el tanque de modo que contenga 30m3 ?
Chapter 4

Solución numérica de
Ecuaciones Lineales.

4.1 Introducción a Sistemas de Ecuaciones


lineales.
En diversas ramas de la ingenierı́a es necesario resolver sistemas de ecua-
ciones lineales, por ejemplo al resolver las corrientes en un circuito eléctrico
aplicando las Leyes de Kirchhoff, en el ajuste de curvas que pasan a través
de un conjunto de puntos en el plano, en el método de solución de ecuaciones
diferenciales por diferencias finitas, etc.

Ejemplo: Tres compuestos se combinan para formar tres tipos de fertil-


izantes. Una unidad del fertilizante del tipo I requiere 10 kg del compuesto
A, 30 kg del compuesto B y 60 kg del compuesto C. Una unidad del tipo II
requiere 20 kg del A, 30 kg del B, y 50 kg del C. Una unidad del tipo III
requiere 50 kg del A y 50 kg del C. Si hay disponibles 1600 kg del A,1200
kg del B y 3200 del C. ¿Cuántas unidades de los tres tipos de fertilizantes se
pueden producir si se usa todo el material quı́mico disponible?

Solución: Sean x el número de unidades de fertilizante del tipo I, y el


número de unidades de fertilizante del tipo II y z el número de unidades de
fertilizante del tipo III.
Para el compuesto A se tiene 10x + 20y + 50z = 1600, para el compuesto B
se tiene 30x + 30y = 1200 y para el compuesto C 60x + 50y + 50z = 3200.

27
CHAPTER 4. SOLUCIÓN NUMÉRICA DE ECUACIONES LINEALES.28

Ası́ tenemos que resolver el sistema


10x + 20y + 50z = 1600
30x + 30y = 1200
60x + 50y + 50z = 3200

4.2 Eliminación Gaussiana y Gauss-Jordan.


En el curso de álgebra se enseña a aplicar operaciones elementales de fila
para reducir la matriz aumentada a una matriz tridiagonal superior:
     
10 20 50 1600 1 2 5 160 1 2 5 160
 30 30 0 1200  ∼  1 1 0 40  ∼  0 −1 −5 −120  ∼
60 50 50 3200 6 5 5 320 0 −7 −25 −640
   
1 2 5 160 1 2 5 160
 0 1 5 120  ∼  0 1 5 120 
0 0 10 200 0 0 1 20
la última ecuación nos dice que z = 20, mientras que la segunda y la tercera
se pueden resolver hacia atrás para obtener y = 120 − 5z = 120 − 5(20) = 20,
x = 160 − 2y − 5z = 160 − 2(20) − 5(20) = 20. Este procedimiento se conoce
como eliminación gaussiana con sustitución hacia atrás.
Veamos como se realiza en general el procedimiento de eliminación Gaus-
siana, consideremos un sistema 4x4 (la matriz extendida tendra 5 columnas
pues la última columna corresponde al vector b del lado derecho del sistema
Ax = b)
   
m11 m12 m13 m14 m15 m21
F1  m11 m12 m13 m14 m15
 m21 m22 m23 m24 m25  F2 → F2 − m 11
m31 0 m22 m23 m24 m25 
 m31 m32 m33 m34 m35  F3 → F3 − m F1 
  
11
m41
 0 m32 m33 m34 m35 
F4 → F4 − m F1
m41 m42 m43 m44 m45 11 0 m42 m43 m44 m45
 
m11 m12 m13 m14 m15
F3 → F3 − m F 
m22 2  0
32
m22 m23 m24 m25 
m42

F4 → F4 − m22 F2  0 0 m33 m34 m35 
0 0 m43 m44 m45
 
m11 m12 m13 m14 m15
 0 m22 m23 m24 m25 
F4 → F4 − m 43
F 
m33 3  0

0 m33 m34 m35 
0 0 0 m44 m45
CHAPTER 4. SOLUCIÓN NUMÉRICA DE ECUACIONES LINEALES.29

Con el uso de las operaciones elementales de fila anteriores hemos logrado


reducir la matriz a una forma escalonada, ahora procedemos a resolver con
sustitución hacia atrás.

x4 = m45 /m44
x3 = (m35 − m34 x4 )/m33
x2 = (m25 − m24 x4 − m23 x3 )/m22
x1 = (m15 − m14 x4 − m13 x3 − m12 x2 )/m11
El siguiente código implementa en Octave la eliminación gaussiana con susti-
tución hacia atrás.

function x=eliminagauss(A,b)
m=[A,b];
n=length(A);
for i=1:n-1
if (m(i,i)~=0)
for k=i+1:n
m(k,:)=m(k,:)-m(i,:)*m(k,i)/m(i,i);
end
end
end
m
x(n)=m(n,n+1)/m(n,n);
for i=n-1:-1:1
sum=0;
for k=n:-1:i+1
sum=sum+m(i,k)*x(k);
end
x(i)=(m(i,n+1)-sum)/m(i,i);
end

4.3 Soluciones Iterativas


Las soluciones iterativas de sistemas lineales no siempre pueden aplicarse
a todos los problemas, pero cuando el problema lo permite es un método
muy útil. El método de eliminación gaussiana no es muy eficaz cuando el
número de incógnitas es muy grande y la matriz es esparciada (tiene una
CHAPTER 4. SOLUCIÓN NUMÉRICA DE ECUACIONES LINEALES.30

gran cantidad de elementos iguales a cero), incluso en ocasiones se excede


el lı́mite de memoria. Vamos a considerar tres de los principales métodos
iterativos: Jacobi, Gauss-Seidel y Sobre relajaciones sucesivas.
Consideremos el sistema lineal

Ax = y

donde A es una matriz cuadrada, x es el vector de incógnitas y y es el término


fuente. Todos los métodos iterativos, requieren de un vector inicial x(0) para
comenzar el proceso, este vector inicial puede ser arbitrario, pero una buena
elección puede acelerar la convergencia. Una condición necesaria para que la
solución iterada converja es:
n
X
|ai,i | > |ai,j |, para todo i
j=1,j6=i

Matrices que satisfacen esta condición se dice que son diagonalmente dom-
inantes, aparecen regularmente en problemas de ingenierı́a tales como: con-
ducción de calor, potencial magnético o eléctrico, difusión de partı́culas, etc.
El método de Jacobi se escribe como
n
!
(k) (k−1)
X
xi = yi − ai,j xj /ai,i
j=1,j6=i

el super indice k denota el conteo de la iteración, en cada ciclo de iteración


xi es evaluado en el orden creciente de i.
Veamos con un ejemplo de donde proviene la fórmula anterior:
    
a11 a12 a13 a14 x1 y1
 a21 a22 a23 a24   x2   y2 
 a31 a32 a33 a34   x3  =  y3 
    

a41 a42 a43 a44 x4 y4

despejamos las x’s en cada ecuación

x1 = (y1 − a12 x2 − a13 x3 − a14 x4 )/a11


x2 = (y2 − a21 x1 − a23 x3 − a24 x4 )/a22
x3 = (y3 − a31 x1 − a32 x2 − a34 x4 )/a33
x4 = (y4 − a41 x1 − a42 x2 − a43 x3 )/a44
CHAPTER 4. SOLUCIÓN NUMÉRICA DE ECUACIONES LINEALES.31

y ası́, obtenemos la fórmula del méetodo de Jacobi.


El método de Gauss-Seidel es un poco diferente a Jacobi y se escribe como:
i−1 n
!
(k) (k) (k−1)
X X
xi = yi − ai,j xj − ai,j xj /ai,i
j=1 j=i+1

Note que xi para j < i tiene super ı́ndice k en lugar de k − 1, esto es, siempre
que datos actualizados esten disponibles serán usados, esto ayuda a acelerar
la convergencia. Finalmente el método de sobrerelajaciones sucesivas está
dado por:
i−1 n
!
(k) (k) (k−1) (k−1)
X X
xi = ω yi − ai,j xj − ai,j xj /ai,i + (1 − ω)xi
j=1 j=i+1

donde ω es un parámetro de sobrerelajamiento que satisface 1 ≤ ω ≤ 2,


regularmente se elige ω entre 1.2 y 1.7.
Note que cuando el valor del parámetro ω es igual a 1, el método de sobrere-
lajaciones se reduce al método de Gauss-Seidel.
Más aún estos métodos iterativos solo se aplican cuando las matrices son di-
agonalmente dominantes pues esta condición garantiza su convergencia.
Ejercicios:

1. Use el código de eliminación gaussiana con sustitución hacia atrás para


resolver los sistemas:

(a)
a−b = −6
b+c =3
c + 2d =4
2a − 3d =5
(b)
6A − 6B + 4C + D = 23
A + 3B + C − D = −3
2A + B − C + 2D = 5
3A − 2B + 2C − 2D = 3
2. Resuelva los sistemas :
CHAPTER 4. SOLUCIÓN NUMÉRICA DE ECUACIONES LINEALES.32

(a)
x1 + 2x2 − x3 + 3x4 = −8
2x1 + 2x3 − x4 = 13
−x1 + x2 + x3 − x4 = 8
3x1 + 3x2 − x3 + 2x4 = −1
(b)
x1 + 2x2 − x3 + 3x4 = −8
2x1 + 2x3 − x4 = 13
−x1 + x2 + x3 − x4 = 8
2x1 + 4x2 − 2x3 + 6x4 = −16
Explique sus resultados.
3. En el código dado para la eliminación Gaussiana se supone que m(i,i)=~0.
Modifique su código para considerar el caso donde m(i,i)=0; primero
identifique en que fila se encuentra el elemento no cero de valor máximo
y a continuación intercambie las filas.
4. En el método de Gauss-Jordan las operaciones elementales se aplican
a la matriz aumentada para llevarla a la matriz identidad de esta man-
era ya no se tiene que realizar la sustitución hacia atrás. Modifique
el código de eliminación gaussiana con sustitución hacia atrás para
obtener un código que implemente el método de Gauss-Jordan.
5. Use eliminación gaussiana para resolver el sistema Ax = b, donde
   
0 0 2 1 2 1
 0 1 0 2 −1   1 
   
A=  1 2 0 −2 0  , b =  −4 
  
 0 0 0 −1 1   −2 
0 1 −1 1 −1 −1

6. Escriba un código con l implementación del método de sobrerelajaciones


sucesivas y resuelva el sistema Ax = y, con

n=10;
D = sparse(1:n,1:n,-2*ones(1,n),n,n);
E = sparse(2:n,1:n-1,0.1*ones(1,n-1),n,n);
A = E+D+E’; %define una matriz tridiagonal
y=1:10;
Chapter 5

Regresión e Interpolación

5.1 Regresión por mı́nimos cuadrados


En aplicaciones es necesario ajustar una curva (encontrar una curva que
contenga una serie de puntos y que posiblemente cumpla una serie de re-
stricciones adicionales.), si los datos exhiben un grado significativo de error o
ruido, una estrategia puede ser obtener una sola curva que represente la ten-
dencia general de los datos. Un procedimiento de este tipo se llama regresión
por mı́nimos cuadrados.

5.2 Regresión Lineal


El ejemplo más sencillo de una aproximación por mı́nimos cuadrados es ajus-
tar una lı́nea recta a un conjunto de observaciones definidas por puntos
(x1 , y1), (x2 , y2), · · · , (xn , yn ). La expresión matemática para la lı́nea recta
es y = a + bx + e, donde a y b son coeficientes que representan intersección
con el eje y y y la pendiente respectivamente, e es el error o diferencia, entre
el modelo y las observaciones. Una estrategia para ajustar una mejor lı́nea a
través de los datos sera minimizar la suma de los cuadrados de los residuos
entre la ymedida y la ymodelo calculada con el modelo lineal
n
X n
X n
X
Sr = e2i = (yi,medida − yi,modelo )2 = (yi − a − bxi )2
i=1 i=1 i=1

33
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 34

Para determinar los valores de a y b derivamos la expresión anterior con


respecto a cada uno de los coeficientes e igualamos a cero para resolver
n
∂S X
= −2 (yi − a − bxi ) = 0
∂a i=1
n
∂S X
= −2 [(yi − a − bxi )xi ] = 0
∂b i=1
X X X
0= yi − a − bxi
X X X
0= yi xi − axi − b x2i
obtenemos un sistema 2x2 para las incognitas a y b
n
X n
X
yi = an + bxi
i=1 i=1
n
X n
X n
X
yi xi = a xi + b x2i
i=1 i=1 i=1
n n
n ni=1 yi xi − ni=1 xi ni=1 yi
P P P
1X 1X
b= , a= yi − b xi
n ni=1 x2i − ( ni=1 xi )2
P P
n i=1 n i=1
Ejemplo 1: Ajuste a una lı́nea recta los valores
(1,0.5),(2,2.5),(3,2.0),(4,4.0),(5,3.5),(6,6.0),(7,5.5)
Las siguientes instrucciones en Octave nos permiten obtener los coefientes a
y b, donde además graficamos los puntos y la aproximación lineal
n=7;x=[1 2 3 4 5 6 7];y=[0.5, 2.5, 2,4.0,3.5,6.0,5.5];
b=(n*sum(x.*y)-sum(x)*sum(y))/(n*sum(x.^2)-(sum(x))^2);
a=sum(y)/n-b*sum(x)/n;
plot(x,y,’o’,...
’LineWidth’,2,...
’MarkerSize’,10,...
’MarkerEdgeColor’,’b’,...
’MarkerFaceColor’,[0.5,0.5,0.5]);
hold on;
plot(x,a+b*x,’LineWidth’, 2)
compare con el resultado obtenido por polyfit(x,y,1)
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 35

4
Y

0
1 2 3 4 5 6 7
X

Figure 5.1: Gráfica de la aproximación lineal usando minimos cuadrados

5.2.1 Linealización de relaciones nolineales


La regresión lineal es una poderosa herramienta para ajustar una mejor lı́nea
a los datos, sin embargo asume una dependencia lineal entre las variables.
Esto no siempre es cierto, es recomendable graficar los datos y asegurarnos
que existe dependencia lineal. En algunos casos es posible realizar transfor-
maciones para expresar los datos en una forma que sea compatible con la
regresión lineal

i) modelo exponencial y = α1 eβ1 x , linealización ln(y) = ln(α1 ) + β1 x

ii) modelo de potencia y = α2 xβ2 , linealización log(y) = log(α2 )+β2 log(x)


β3 1
iii) Razón de crecimiento y = α3 β3x+x , linealización 1
y
= α3 x
+ 1
α3

iv) modelo logarı́tmico y = α4 log(x)+β4 , es lineal en las variables y, log(x)

Ejemplo 2 Considere los datos

x=[1,2,3,4,5,6,7,8,9];
y=[5.7759,5.8570,6.9993,7.2091,8.4936,8.8606,10.3188,10.8777,12.5480];
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 36

Al graficarlos observamos que tienen un comportamiento de crecimiento ex-


ponencial, use el modelo y = aebx aplique una transformación para lin-
ealizarlo, a continuación use una regresión lineal y con la transformación
inversa encuentre a y b.

p=polyfit(x,log(y),1 )
ans =

0.099055 1.617355

A continuación graficamos los puntos y la aproximación usando el modelo


y = aebx

plot(x,y,’o’,’LineWidth’,2,’MarkerSize’,10,’MarkerEdgeColor’,’b’,...
’MarkerFaceColor’,[0.5,0.5,0.5]);
hold on;
plot(x,exp(p(2))*exp(p(1)*x))

5.3 Regresión Polinomial


Se puede extender el procedimiento de mı́nimos cuadrados para el ajuste de
datos con un polinomio de orden mayor. Por ejemplo ajustemos los datos a
un polinomio de grado dos

y = a + bx + cx2 + er

la suma de los cuadrados de los residuos es: Sr = ni=1 (yi − a − bxi − cx2i )2
P
Calculamos las derivadas parciales con respecto a los parámetros, igualamos
a cero y resolvemos para los parámetros
n
∂Sr X
= −2 (yi − a − bxi − cx2i ) = 0
∂a i=1

n
∂Sr X
= −2 [(yi − a − bxi − cx2i )xi ] = 0
∂b i=1
n
∂Sr X
= −2 [(yi − a − bxi − cx2i )x2i ] = 0
∂c i=1
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 37
X X X
na + ( xi )b + ( x2i )c = yi
X X X X
( xi )a + ( x2i )b + ( x3i )c = xi yi
X X X X
( x2i )a + ( x3i )b + ( x4i )c = x2i yi
al resolver este sistema para a, b, c obtenemos los coeficientes del polinomio
de grado 2.

Ejemplo 3: Considere los datos (0,2.1),(1,7.7),(2,13.6),(3,27.2),(4,40.9),(5,61.1)


, ajuste un polinomio de grado dos a estos datos.
x=0:5;
y=[2.1, 7.7, 13.6,27.2,40.9,61.1];
A=[6 sum(x) sum(x.^2);sum(x) sum(x.^2) sum(x.^3);sum(x.^2) sum(x.^3) sum(x.^4)];
w=[sum(y); sum(x.*y);sum((x.^2).*y)];
A\w
plot(x,y,’o’,...
’LineWidth’,2,...
’MarkerSize’,10,...
’MarkerEdgeColor’,’b’,...
’MarkerFaceColor’,[0.5,0.5,0.5]);
hold on;
plot(x,2.4786+2.3593*x+ 1.8607*x.^2,’b’,’LineWidth’, 2)
y obtenemos
ans =
2.4786
2.3593
1.8607
lo cual nos indica que el polinomio de grado dos que ajusta los datos es
y = 2.4786 + 2.3593x + 1.8607x2 . Compare estos valores con los obtenidos
por polyfit(x,y,2)

Ejemplo 4: Vamos a ajustar un polinomio a los datos generados a par-


tir de y = x3 − 2x2 − x + 2 donde agregaremos un error aleatorio; los errores
tienen una distribución normal con media cero y desviación estándar uno.
Las siguientes instrucciones en octave, generan el polinomio, lo evaluan y
grafican tanto los datos como el polinomio ajustado:
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 38

70

60

50

40
Y

30

20

10

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
X

Figure 5.2: Gráfica de ajuste de un polinomio de grado dos usando minimos


cuadrados

x=-2:0.2:3;
y=x.^3-2*x.^2-x+2+randn(size(x));
p=polyfit(x,y,3)
xx=-2:0.1:3;
yy=polyval(p,xx);
plot(x,y,’o’,xx,yy)
axis tight
grid on
xlabel(’x’,’FontSize’, 20)
ylabel(’y’,’FontSize’, 20)

Obteniendo

p =
1.0718 -2.1244 -1.3587 2.3982

Note que no obtenemos exactamente los coeficientes del polinomio original


ya que agregamos un error, sin embargo la figura 5.3 muestra que el polinomio
se ajusta a los datos.
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 39

0
y

−2

−4

−6

−8

−10

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3


x

Figure 5.3: Gráfica de ajuste de un polinomio de grado tres usando polyfit

Podrı́an surgir problemas cuando tratamos de ajustar funciones a datos


y donde la relación entre y y los coeficientes desconocidos de la función es no
lineal.
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 40

Ejemplo 5: Iniciemos considerando datos basados en la relación sigu-


iente:
1
y=p .
(4 − x2 )2 + 0.02
Vamos a generar datos evaluando esta función de x = 1 a x = 3 con incre-
mento de 0.05 y agregando un error aleatorio. Usando la técnica de mı́nimos
cuadrado ajustamos los datos con polinomios de grados n = 4, 8 y 12.
x=1:0.05:3;
y=1./sqrt((4-x.^2).^2+0.02)+0.01*rand(size(x));
xx=1:0.005:3;
p4=polyfit(x,y,4);y4=polyval(p4,xx);
p8=polyfit(x,y,8);y8=polyval(p8,xx);
p12=polyfit(x,y,12);y12=polyval(p12,xx);
plot(x,y,’o’,xx,y4,xx,y8,xx,y12);
legend(’datos’,’P4’,’P8’,’P12’);
axis tight xlabel(’x’,’FontSize’, 20)
ylabel(’y’,’FontSize’, 20)
Observamos que cuando incrementamos el grado del polinomio obtenemos un
mejor ajuste a los datos (en el sentido de mı́nimos cuadrados), sin embargo el
polinomio de más alto grado tiende a oscilar entre los datos como se muestra
en la figura 5.4. Vamos a ajustar nuestros datos a la expresión
1
y=p
(a1 − a2 x2 )2 + a3
la cual proponemos de acuerdo a cierta experiencia o intuición. Los coefi-
cientes deben ser ajustados para minimizar el error entre la función propuesta
y los datos.
Consideremos la siguiente transformación de datos Y = 1/y 2, X = x2 , ası́
tenemos que
Y = 1/y 2 = (a1 − a2 x2 )2 + a3 = a22 x4 − 2a1 a2 x2 + (a21 + a3 )
= a22 X 2 − 2a1 a2 X + (a21 + a3 ) = b1 X 2 + b2 X + b3 .
Ası́ Y es cuadrática en X, a manera de ejercicio transforme los datos, con re-
gresión polinomial obtenga los coeficientes b1 , b2 , b3 y grafique esta regresión.
Use las transformaciones para determinar los coeficientes a1 , a2 , a3 y grafique
su ajuste junto con los datos originales.
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 41

8
datos
P4
7
P8
P12
6

4
y

−1
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
x

Figure 5.4: Polinomios de grado 4, 8 y 12 para aproximar datos

5.4 Regresión Lineal Múltiple


Una extensión bastante útil de la regresión lineal se usa en el caso en que
y es una función lineal de dos o más variables independientes. Por ejemplo
supongamos que y es una función lineal de x1 y x2
y = a + bx1 + cx2 + er
Esta ecuación es útil cuando se ajustan datos experimentales, en este caso
bidimensional la lı́nea de regresión se convierte en un plano. Como en los
casos anteriores, los mejores valores para los coeficientes
Pnse determinan al
realizar la suma de los cuadrados de los residuos : Sr = i=1 (yi − a − bx1i −
cx2i )2 .
Calculamos las derivadas parciales con respecto a los parámetros, igualamos
a cero y resolvemos para los parámetros
n
∂Sr X
= −2 (yi − a − bx1i − cx2i ) = 0
∂a i=1
n
∂Sr X
= −2 [(yi − a − bx1i − cx2i )x1i ] = 0
∂b i=1
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 42

n
∂Sr X
= −2 [(yi − a − bx1i − cx2i )x2i ] = 0
∂c i=1
X X X
na + ( x1i )b + ( x2i )c = yi
X X X X
( x1i )a + ( x21i )b + ( x1i x2i )c = x1i yi
X X X X
( x2i )a + ( x1i x2i )b + ( x22i )c = x2i yi
al resolver este sistema para a, b, c obtenemos los coeficientes de la ecuación
del plano.

Ejemplo 6: Usando los datos siguientes, ajustelos a la ecuación y =


a + bx1 + cx2 :
x1 x2 y
85 10 4
100 20 5
95 35 8
80 30 7
180 45 10
90 25 6
110 10 6
120 15 7
80 10 4
95 15 4
160 15 6
150 45 9

x1=[85 100 95 80 180 90 110 120 80 95 160 150];


x2=[10 20 35 30 45 25 10 15 10 15 15 45];
y=[4 5 8 7 10 6 6 7 4 4 6 9];
A=[12 sum(x1) sum(x2);sum(x1) sum(x1.^2) sum(x1.*x2);
sum(x2) sum(x1.*x2) sum(x2.^2)];
w=[sum(y);sum(x1.*y); sum(x2.*y)];
A\w
ans =
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 43

1.737475
0.018763
0.108778

lo cual nos dice que el plano es y = 1.737475 + 0.018763x1 + 0.108779x2 .


Note que Octave tiene integrada la función regress que permite hacer esta
regresión. Observe que la matriz X tiene su primera columna de unos, su
segunda y tercera columnas con los vectores x1 , x2 y cuando se llama a la
función regress y’ es un vector columna.

pkg load statistics


X=[ones(size(x1’)),x1’,x2’];
b=regress(y’,X)

Para graficar el plano y los puntos usamos:


scatter3(x1,x2,y,’filled’);
hold on;
x1fit = min(x1):5:max(x1);
x2fit = min(x2):5:max(x2);
[X1FIT,X2FIT] = meshgrid(x1fit,x2fit);
YFIT=1.737475+ 0.018763*X1FIT+0.108778*X2FIT;
mesh(X1FIT,X2FIT,YFIT);
xlabel(’x1’,’FontSize’, 20)
ylabel(’x2’,’FontSize’, 20)
zlabel(’y’,’FontSize’, 20)
La figura 5.5 muestra los puntos y el plano de regresión.

5.5 Mı́nimos Cuadrados caso General para el


ajuste de funciones a datos
Dado un conjunto de datos xi , yi , i = 1, · · · , m donde la función que será
ajustada a los datos tiene la forma

y = f (x) = a1 φ1 (x) + a2 φ2 (x) + · · · + an φn (x)


CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 44

11

10

8
y

4
50
40 180
160
30 140
20 120
100
10 80
x2 x1

Figure 5.5: Plano de regresión

donde φi (x) son funciones elegidas y los ai ’s son incógnitas. Asuma que los
errores entre esta función y los datos (xk , yk ) sea ek , ası́

ek = yk − (a1 φ1 (xk ) + a2 φ2 (xk ) + · · · + an φn (xk ))

Vamos a minimizar la suma de los cuadrados de los errores


m
X
S= (yi − {a1 φ1 (xi ) + a2 φ2 (xi ) + · · · + an φn (xi )})2
i=1

∂S
ası́ ∂ak
= 0 k = 1, 2, · · · , n
m
∂S X
= 2(yi − {a1 φ1 (xi ) + a2 φ2 (xi ) + · · · + an φn (xi )})φk (xi ) = 0
∂ak i=1

y tenemos para k = 1, 2, · · · , n
m
X m
X m
X m
X
a1 φ1 (xi )φk (xi )+a2 φ2 (xi )φk (xi )+· · ·+an φn (xi )φk (xi ) = yi φk (xi )
i=1 i=1 i=1 i=1
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 45
 Pm 2
Pm Pm 
i=1 (φ1 (xi )) φ2 (xi )φ1 (xi ) · · · φn (xi )φ1 (xi ) 
i=1 i=1 a1
  
 Pm Pm 2
Pm 
i=1 φ1 (xi )φ2 (xi ) i=1 (φ2 (xi )) ··· i=1 φn (xi )φ2 (xi )

a2
  
  
 
=
  
 ··· ··· ··· ···  .. 



 . 

 Pm Pm Pm 
2
i=1 φ1 (xi )φn (xi ) i=1 φ2 (xi )φn (xi ) · · · i=1 (φn (xi ))
  
an
 Pm 
i=1 yi φ1 (xi )
 
 Pm 
i=1 yi φ2 (xi ) 
 

 
..
 
 

 . 

 
Pm
i=1 yi φn (xi )
en forma matricial
Pa=b
donde m m
X X
Pkl = φk (xi )φl (xi ), bk = yi φk (xi )
i=1 i=1
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 46

Ejercicios:

1. La función potencia y = cxa se puede trasformar en logy = alogx+logc.


Si usamos las nuevas variables X = logx e Y = logy, obtenemos la
relación lineal Y = aX + b, donde b = logc. Use los datos de las tablas
para calcular mediante regresión lineal los parámetros a y c. Grafique
sus resultados.

x 10 20 30 40 50 60 70 80
y 1.06 1.33 1.52 1.68 1.81 1.91 2.01 2.11

X=log x 1.0 1.30 1.477 1.60 1.699 1.778 1.845 1.903


Y=log y 0.025 0.124 0.182 0.225 0.258 0.281 0.303 0.324

2. La función exponencial y = ceax al aplicarle logaritmos neperianos


se transforma en lny = ax + lnc. Asumiendo X = x, e Y = lny,
obtenemos la relación lineal Y = aX + b, donde b = lnc. use las tablas
de datos y regresión lineal para calcular los parámetros a y c. Grafique
sus resultados

x 12 41 93 147 204 264 373 509 773


y 930 815 632 487 370 265 147 76 17

X=x 12 41 93 147 204 264 373 509 773


Y=ln y 6.835 6.703 6.449 6.1886 5.913 5.580 4.990 4.330 2.833

3. Se sabe que los datos tabulados abajo pueden ser modelados por la
siguiente ecuación
 √ 2
a+ x
y= √ .
b x
Use una transformación para linealizar esta ecuación y entonces use
regresión lineal para determinar los parámetros a y b. Basado en su
análisis estime el valor de y en x = 1.6.

x 0.5 1 2 3 4
y 10.4 5.8 3.3 2.4 2
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 47

4. De la semana 13 a la 21 del 2020, los casos de nuevos infectados por


catorcena de Covid 19 en el estado de Veracruz fueron:

SEMANA CASOS
13 24
15 44
17 251
19 836
21 1541

Suponga que los nuevos casos de infectados (y) dependen de forma


exponencial de las semanas (x), y = aebx linealize y aplique regresión
lineal para obtener los parámetros a y b. Grafique sus resultados.

5. Use un modelo de la curva de Gompertz y = 10 − eae para ajustar


−bx

los datos

10 0.32572
16 4.34990
22 6.25235
28 7.25851
34 7.84624
40 8.20077
46 8.43846
52 8.59747
58 8.70515
64 8.78339
70 8.84384
76 8.88645
82 8.90878
88 8.93195

Ayuda: Despeje 10 − y = eae y aplique la función logaritmo dos


−bx

veces para obtener una relación lineal entre x y log(log(10 − y)), halle
los coeficientes a, b, grafique los datos plot(x,y,’sr’) y la curva ajustada
en los puntos t=10:88;yt=10-exp(a*exp(-b*t));plot(t,yt)

6. Use un modelo logarı́tmico y = alog(x) + b para ajustar los datos


CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 48

x y
5 246.2507
15 377.9896
25 439.3733
´
35 479.7811
45 509.8649
55 533.9367
65 553.9974

Ayuda: Aplique una transformación para linealizar el modelo, a con-


tinuación use regresión lineal para determinar los parámetros a y b.
Grafique sus resultados.

7. Utilice regresión lineal múltiple para ajustar estos datos a un plano


y = a + bx1 + cx2

x1 x2 y
0 0 5
2 1 10
2.5 2 9
1 3 0
4 6 3
7 2 27

8. En un estudio sobre la población de un parásito se hizo un recuento


de parásitos en 15 localizaciones con diversas condiciones ambientales.
Los datos obtenidos son los siguientes:
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 49

Recuento Temperatura Humedad


156 15 70
157 16 65
177 24 71
145 13 64
197 21 84
184 16 86
172 22 72
187 18 84
157 20 71
169 16 75
200 28 84
193 27 79
167 13 80
170 22 76
192 23 88

Suponga que Recuento = β0 + β1 T emperatura + β2 Humedad, halle


β0 , β1 , β2 2 y grafique el plano de de aproximación con los datos.

9. El porcentaje de impurezas que se encuentra a varias temperaturas x1 y


tiempo de esterilización x2 asociada con la fabricación de cierta bebida,
está representado por los datos siguientes:

x1
x2 75 100 125
15 14.05 10.55 7.55
14.93 9.48 6.59
20 16.56 13.63 9.23
15.87 11.75 8.78
25 22.41 18.55 15.93
21.66 17.98 16.44

Estime los coeficientes de regresión lineal en el modelo y = a0 + a1 x1 +


a2 x2 + a3 x21 + a4 x22 + a5 x1 x2 . Ayuda: Use las transformaciones X1 =
x1 , X2 = x2 , X3 = x21 , X4 = x22 , X5 = x1 x2 con lo cual se obtiene un
modelo lineal múltiple.
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 50

5.6 Interpolación de Lagrange


Dado un conjunto de n + 1 puntos {(x0 , y0 ), (x1 , y1 ), · · · , (xn , yn )} estamos
interesados en encontrar un polinomio Pn (x) de grado n que aproxime estos
valores, es decir Pn (xj ) = yj , para j = 0, 1, · · · , n.
Iniciamos considerando dos puntos (x0 , y0), (x1 , y1) y un polinomio lineal
(grado 1). Para ello definimos los polinomios lineales
x − x1 x − x0
L10 (x) = , L11 (x) =
x0 − x1 x1 − x0
Note que L10 (x0 ) = 1, L10 (x1 ) = 0 y L11 (x0 ) = 0, L11 (x1 ) = 1. Ası́ el
polinomio P1 (x) = y0 L1o (x) + y1 L11 (x) satisface P1 (x0 ) = y0 y P1 (x1 ) = y1 es
el polinomio lineal que aproxima los valores (x0 , y0), (x1 , y1 ).
Antes de generalizar al caso de n + 1 puntos, veamos como seria el polinomio
de grado 2 que aproxima los valores de los puntos (x0 , y0), (x1 , y1), (x2 , y2 ),
para ello definimos
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
L20 (x) = , L21 (x) = , L22 (x) = ,
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
estos polinomios de grado 2 satisfacen
L20 (x0 ) = 1, L20 (x1 ) = 0, L20 (x2 ) = 0
L21 (x0 ) = 0, L21 (x1 ) = 1, L21 (x2 ) = 0
L22 (x0 ) = 0, L22 (x1 ) = 0, L22 (x2 ) = 1
Ası́ el polinomio P2 (x) = y0 L2o (x) + y1 L21 (x) + y2 L22 (x) satisface P2 (x0 ) = y0
, P2 (x1 ) = y1 y P2 (x2 ) = y2 , con lo cual se tiene que P2 (x) es el polinomio
lineal que aproxima los valores (x0 , y0 ), (x1 , y1 ), (x2 , y2) .
Ejemplos
1. Halle el polinomio lineal que aproxima los valores (−1, 2), (1, 4).
Haciendo x0 = −1, x1 = 1 tenemos
x−1 x−1 x+1 x+1
L10 (x) = = , L11 (x) = =
−1 − 1 −2 1 − (−1) 2
Ası́ el polinomio lineal que aproxima los valores dados es
   
1 1 x−1 x+1
P1 (x) = 2Lo (x)+4L1 (x) = 2 +4 = −x+1+2x+2 = x+3
−2 2
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 51

2. Halle el polinomio de grado 2 que aproxima los valores (−1, −2), (1, 4), (2, 2).
En este caso, x0 = −1, x1 = 1, x2 = 2 y tenemos que

(x − 1)(x − 2) x2 − 3x + 2 (x + 1)(x − 2) x2 − x − 2
L20 (x) = = , L21 (x) = =
(−1 − 1)(−1 − 2) 6 (1 + 1)(1 − 2) −2

(x + 1)(x − 1) x2 − 1
L22 (x) = = ,
(2 + 1)(2 − 1) 3
−5x2 + 9x + 8
P2 (x) = −2L20 (x) + 4L21 (x) + 2L22 (x) =
3
3. Halle el polinomio de grado 3 que aproxima los valores (−2, −2), (−1, 1), (1, −1), (2, 3)
Se tiene que x0 = −2, x1 = −1, x2 = 1, x3 = 2 y los polinomios son:

(x + 1)(x − 1)(x − 2) x3 − 2x2 − x + 2


L30 (x) = = ,
(−2 + 1)(−2 − 1)(−2 − 2) −12

(x + 2)(x − 1)(x − 2) x3 − x2 − 4x + 4
L31 (x) = =
(−1 + 2)(−1 − 1)(−1 − 2) 6
(x + 2)(x + 1)(x − 2) x3 + x2 − 4x − 4
L32 (x) = =
(1 + 2)(1 + 1)(1 − 2) −6
(x + 2)(x + 1)(x − 1) x3 + 2x2 − x − 2
L33 (x) = =
(2 + 2)(2 + 1)(2 − 1) 12
y ası́

9x3 + 2x2 − 21x − 2


P3 (x) = −2L30 (x) + L31 (x) − L32 (x) + 3L33 (x) =
12

4. Conforme aumenta el número de puntos, aumenta el grado del poli-


nomio y los cálculos se hacen mas tediosos, afortunadamente usando
octave podemos hallar los coeficientes de los polinomios de interpo-
lación de Lagrange de los ejemplos 1 al 3.

x=[-1 1];y=[2,4];
p=polyfit(x,y,1)
p = 1.00000 3.00000
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 52

x=[-1 1 2];y=[-2,4,2];
p=polyfit(x,y,2)
p = -1.6667 3.0000 2.6667

x=[-2 -1 1 2];y=[-2,1,-1,3];
p=polyfit(x,y,3)
p = 0.75000 0.16667 -1.75000 -0.16667

Para este polinomio cúbico, vamos a graficar los datos usando un mar-
cador cuadrado, asi como evaluaremos el polinomio de Lagrange en
un conjunto mayor de puntos y lo graficaremos usando los siguientes
comandos:

xx=-2:0.01:2;
yy=polyval(p,xx);
plot(xx,yy,’-b’,x,y,’sr’,’LineWidth’,2,’MarkerSize’,10)
axis equal;grid on
xlabel(’x’)
ylabel(’y’)

La figura 5.6 muestra los puntos en rojo y el polinomios en Lagrange


en azul. Note que el polinomio pasa a través de los puntos.

Ejercicios:
Nota: Para calcular el error absoluto tome a:0.1:b, donde a y b son los
extremos del intervalo.

1. Considere la función y = 3 x − 1 en el intervalo [1, 2]

(a) Calcule el polinomio de Lagrange de primer grado y grafique el


error absoluto |f (x) − P1 (x)|, ¿Cual es el máximo error absoluto?
(b) Calcule el polinomio de Lagrange de segundo grado y grafique los
errores absolutos |f (x)−P1 (x)|, |f (x)−P2 (x)|, ¿Cual es el máximo
error absoluto para P2 (x)?
(c) Repita los cálculos anteriores con el polinomio de Lagrange de
grado tres, compare los errores absolutos.
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 53

2.5

1.5

y 0.5

−0.5

−1

−1.5

−2
−3 −2 −1 0 1 2 3
x

Figure 5.6: Polinomio cúbico de interpolación

1
2. Considere la función f (x) = 1+25x 2 , use nodos igualmente espaciados

en el intervalo [−1, 1] grafique los errores absolutos usando polinomios


de orden 5 , 9 y 17. ¿Qué observa?
El fenómeno de Runge es un problema que sucede cuando se usa in-
terpolación polinómica con polinomios de alto grado utilizando nodos
equidistantes. El error entre la función y el polinomio interpolante
es cero (por definición se anula en los nodos o datos). Pero en los
puntos interiores (especialmente cerca de los extremos -1 y 1) el error
entre la función y el polinomio interpolante incrementa conforme el
polinomio aumenta de orden.

3. Realice nuevamente los cálculos del ejercicio anterior, esta vez considere
los nodos de Chebyshev en el intervalo [−1, 1]
 
(2i − 1)π
xi = cos , i = 1, 2, · · · n + 1
2(n + 1)

Nota Para definir los nodos de Chebyshev en cualquer intervalo [a, b] usamos
la transformación zi = b−a
2
xi + a+b
2
.

Teorema Si x0 , x1 , · · · , xn son n + 1 números distintos y si f es una


función cuyos valores están dados en estos números, entonces existe un único
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 54

polinomio Pn (x) de grado máximo n que satisface f (xk ) = P (xk ), k =


0, 1, · · · , n y está dado por

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

donde para cada k = 0, 1, · · · , n

(x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn )


Lnk (x) =
(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn )

El teorema anterior solo nos dice como construir el polinomio de interpo-


lación, sin embargo el siguiente teorema nos muestra la forma que tiene el
error de interpolación.

Teorema Supongamos que x0 , x1 , · · · , xn son n + 1 números distintos en


el intervalo [a, b] y que f ∈ C n+1 [a, b], entonces para cada x ∈ [a, b] existe
ξ(x) ∈ (a, b) tal que

f (n+1) (ξ(x))
f (x) = Pn (x) + (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!

5.7 Interpolación usando Splines Cúbicos


Cuando el número de puntos (nodos) aumenta, se requiere un grado más alto
del polinomio de aproximación con lo cual aparecen oscilaciones entre los
puntos; ası́ el error en la interpolación de Lagrange aumenta rápidamente.
Un remedio para esto es usar polinomios cúbicos en cada subintervalo de
puntos consecutivos. Se pueden usar splines de diferentes grados, sin embargo
en nuestro caso solo consideraremos splines cúbicos. Ası́ tenemos que un
spline es una serie de polinomios cúbicos que unen puntos consecutivos del
conjunto de datos. Suponga que tenemos n puntos de datos, unidos por n-1
polinomios. Cada polinomio cúbico tiene 4 incógnitas (sus coeficientes), ası́
se deben hallar las 4(n-1) incógnitas. Cada polinomio debe pasar a través
de los puntos extremos del subintervalo que lo define, esto nos da 2(n-1)
ecuaciones que se deben satisfacer. Para que la unión de los polinomios sea
suave, requerimos continuidad de su pendiente y ′ y de su curvatura y ′′ en
los n-2 puntos interiores, esto nos aporta otras 2(n-2) ecuaciones, con lo
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 55

cual se tiene un total de 4n-6 ecuaciones. Para obtener una solución única
necesitamos contar con el mismo número de ecuaciones que de incógnitas, ası́
requerimos otras dos ecuaciones. Las condiciones que faltan pueden elegirse
entre algunas de las siguientes:

i) Si la pendiente de la curva requerida es conocida en los puntos extremos,


podemos usar estas condiciones.

ii) Podemos tomar la curvatura igual a cero en los puntos extremos y1′′ = 0,
yn′′ = 0. A estos se les llama splines naturales.

iii) Podemos hacer que las curvaturas en x1 y xn sean iguales a las curvat-
uras en x2 y xn−1 respectivamente.

iv) Podemos hacer la curvatura en x1 usando una extrapolación lineal de


las curvaturas en x2 y x3 . Similarmente hacer la curvatura en xn usando
una extrapolación lineal de las curvaturas en xn−1 y xn−2 .

v) Podemos hacer y ′′′ continua en x2 y xn−1 , esta es la condición que usa


la función spline en Octave.
Ejemplo Usamos

x=[0 1 2 3 4];y=[3,0,1,2,4];
xval=1.5;
yval=spline(x,y,xval)

para hallar el valor interpolado en xval = 1.5. Podemos también cono-


cer los coeficientes de los polinomios cúbicos en cada subintervalo usando
p=spline(x,y)
p =
scalar structure containing the fields:
form = pp
breaks =
0 1 2 3 4
coefs =
-0.87500 4.62500 -6.75000 3.00000
-0.87500 2.00000 -0.12500 0.00000
0.37500 -0.62500 1.25000 1.00000
0.37500 0.50000 1.12500 2.00000
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 56

pieces = 4
order = 4
dim = 1

Más aún podemos graficar los datos y el spline de interpolación usando

xx=0:0.1:4;yy=spline(x,y,xx);
plot(x,y,’o’,xx,yy);

Ejercicios

1. x=[-6 -4 -1.5 -0.5 0.5 1.5 2 4 6];


y=[0.60000 0.40000 0.15989 0.52681 3.47319 3.84011 3.79866 3.60000 3.40000]
Compare las interpolaciones usando un polinomio de grado 8 y un
spline.

2. En la sección anterior se usaron polinomios de Lagrange con nodos


1
igualmente espaciados para aproximar la función f (x) = 1+25x 2 , con-

sidere 18 puntos igualmente x=-1:2/17:1 espaciados y use un spline


para aproximar la función. Grafique los datos y su aproximación en
xx=-1:0.01:1.

3. Considere los puntos x = 0:2:25; y = besselj(1,x); use un spline


para aproximar la función. Grafique los datos y su aproximación en
xx=min(x):0.01:max(x).
Chapter 6

Derivación e integración

6.1 Derivación Numérica


En principio, dada una función en forma analı́tica siempre es posible deter-
minar una forma analı́tica de su derivada. Sin embargo en algunos casos la
forma analı́tica es demasiado complicada y para el objetivo buscado puede
ser suficiente una aproximación numérica de la derivada. Para funciones de-
scritas sólo en términos de datos tabulados (por ejemplo resultados de un
experimento) la diferenciación numérica es el único medio para calcular
una derivada.

Consideremos una función f (x) de la cual tan solo se conoce un conjunto


discreto de valores (x0 , f0 ), (x1 , f1 ), · · · , (xn , fn ). El problema que vamos a
estudiar es el de calcular la derivada de la función en un punto x que en
principio no tiene porqué coincidir con alguno de los datos de que disponemos.
La forma más sencilla de resolver el problema de la diferenciación numérica
consiste en estimar la derivada utilizando fórmulas obtenidas apartir de la
aproximación usando polinomios de Lagrange.
Iniciamos la discusión tomando dos puntos (x0 , f (x0 )), (x1 , f (x1 )), asumimos
que f ∈ C 2 [a, b], x1 = x0 + h y h es lo suficiente pequeña para que x1 ∈ [a, b].
Construimos el polinomio lineal de Lagrange con su término de error
(x − x1 ) (x − x0 ) (x − x0 )(x − x1 ) ′′
f (x) = f (x0 ) + f (x1 ) + f (ξ(x))
(x0 − x1 ) (x1 − x0 ) 2!
(x − x0 − h) (x − x0 ) (x − x0 )(x − x1 ) ′′
f (x) = f (x0 ) + f (x0 + h) + f (ξ(x))
−h h 2!

57
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 58

derivando obtenemos
f (x0 + h) − f (x0 ) 2x − (x0 + x1 ) ′′ (x − x0 )(x − x1 )
f ′ (x) = + f (ξ(x))+ Dx [f ′′ (ξ(x))]
h 2! 2!
Note que si evaluamos en x = x0 el coeficiente de Dx [f ′′ (ξ(x))] se anula y ası́
tenemos la fórmula
f (x0 + h) − f (x0 ) h
f ′ (x0 ) = − f ′′ (ξ(x0 ))
h 2!
la cual se conoce como fórmula de diferencia progresiva si h > 0 o
fórmula de diferencia regresiva si h < 0, donde notamos que el error
el proporcional a h. Para obtener fórmulas de aproximación a la derivada
más generales calculamos la derivada de la aproximación obtenida usando
polinomios de Lagrange.
n
X (x − x0 ) · · · (x − xn ) (n+1)
f (x) = f (xk )Lnk (x) + f (ξ(x))
(n + 1)!
k=0

derivando obtenemos
n
X (x − x0 ) · · · (x − xn ) (n+1)
f ′ (x) = f (xk )Dx [Lnk (x)] + Dx [ ]f (ξ(x))
k=0
(n + 1)!

(x − x0 ) · · · (x − xn )
+ Dx [f (n+1) (ξ(x))]
(n + 1)!
Nuevamente notamos que si evaluamos en alguno de los puntos xj para j =
0, · · · n el coeficiente de Dx [f (n+1) (ξ(x))] se anula y obtenemos la fórmula de
n + 1 puntos
n n
X f (n+1) (ξ(xj )) Y
f ′ (xj ) = f (xk )Dx [Lnk (xj )] + (xj − xk ) (6.1)
(n + 1)!
k=0
k=0
k 6= j

Al aumentar el número de puntos la fórmula anterior produce mayor


exactitud,sin embargo al aumentar el número de evaluaciones aumentamos
el error por redondeo. Las fórmulas más comunes son las de 3 y 5 puntos.
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 59

6.1.1 Fórmulas de tres puntos


(x−x1 )(x−x2 ) (x−x0 )(x−x2 ) (x−x0 )(x−x1 )
Consideremos L0 (x) = (x0 −x1 )(x0 −x2 )
, L1 (x) = (x1 −x0 )(x1 −x2 )
, L2 (x) = (x2 −x0 )(x2 −x1 )
y sus derivadas

2x − x1 − x2 2x − x0 − x2 2x − x0 − x1
L′0 (x) = , L′1 (x) = , L′2 (x) =
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )

usando la ecuación 6.1 tenemos


   
′ 2xj − x1 − x2 2xj − x0 − x2
f (xj ) = f (x0 ) + f (x1 ) ,
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )
2
f (3) (ξj )
 
2xj − x0 − x1 Y
+f (x2 ) + (xj − xk ), para j = 0, 1, 2
(x2 − x0 )(x2 − x1 ) 6
k=0
k 6= j
evaluremos esta ecuación en xj = x0 , x1 , x2 , usando nodos equidistantes
x1 = x0 + h, x2 = x0 + 2h para obtener primero para xj = x0
   
′ 2x0 − x1 − x2 2x0 − x0 − x2
f (x0 ) = f (x0 ) + f (x1 ) ,
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 )

f (3) (ξ(x0 ))
 
2x0 − x0 − x1
+f (x2 ) + (x0 − x1 )(x0 − x2 )
(x2 − x0 )(x2 − x1 ) 6
f (x0 + 2h) h2 (3)
   
′ −3h 2
f (x0 ) = f (x0 ) + f (x0 + h) − + f (ξ0 )
2h2 h 2h 3
−3f (x0 ) + 4f (x0 + h) − f (x0 + 2h) h2 (3)
f ′ (x0 ) = + f (ξ0 )
2h 3
Ahora evaluamos para xj = x1 para obtener
   
′ x1 − x2 2x1 − x0 − x2
f (x1 ) = f (x0 ) + f (x1 ) ,
(−h)(−2h) (h)(−h)

f (3) (ξ1 )
 
h
+f (x2 ) + (x1 − x0 )(x1 − x2 )
(2h)(h) 6
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 60

f (x0 + 2h) h2 (3)


 
′ −1
f (x0 ) = f (x0 ) + − f (ξ1 )
2h 2h 6
f (x0 + 2h) − f (x0 ) h2 (3)
f ′ (x0 + h) = − f (ξ1 )
2h 6
Finalmente evaluamos para xj = x2
   
′ x2 − x1 x2 − x0
f (x2 ) = f (x0 ) + f (x1 ) ,
2h2 −h2

f (3) (ξ2 )
 
2x2 − x0 − x1
+f (x2 ) + (x2 − x0 )(x2 − x1 )
2h2 6
h2 (3)
     
′ 1 −2 3h
f (x2 ) = f (x0 ) + f (x0 + h) + f (x0 + 2h) + f (ξ2 )
2h h 2h2 3
h2
 
1 1 3

f (x0 + 2h) = f (x0 ) − 2f (x0 + h) + f (x0 + 2h) + f (3) (ξ2 )
h 2 2 3
Podemos usar cambios de variable para escribir las fórmulas anteriores todas
centradas en x0 y obtener

−3f (x0 ) + 4f (x0 + h) − f (x0 + 2h) h2 (3)


f ′ (x0 ) = + f (ξ0 )
2h 3

f (x0 + h) − f (x0 − h) h2 (3)


f ′ (x0 ) = − f (ξ1 )
2h 6
f (x0 − 2h) − 4f (x0 − h) + 3f (x0 ) h2 (3)
f ′ (x0 ) = + f (ξ2 )
2h 3
Podemos notar que la primera y la tercera son practicamente la misma
fórmula solo intercambiando h por −h. A la primera se le conoce como
fórmula de tres puntos del punto extremo, mientras que a la segunda
es la fórmula de tres puntos del punto medio y su error es aproximada-
mente la mitad de la fórmula de tres puntos del punto extremo.
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 61

6.1.2 Fórmulas de cinco puntos


De manera similar a las fórmulas de tres puntos se tienen las f’ormulas de
cinco puntos las cuales requieren la evaluación en dos puntos más y cuyos
términos de error tienen la forma O(h4 ).
Fórmula de cinco puntos del punto medio

f (x0 − 2h) − 8f (x0 − h) + 8f (x0 + h) − f (x0 + 2h) h4 (5)


f ′ (x0 ) = + f (ξ),
12h 30
ξ ∈ (x0 − 2h, x0 + 2h).

Fórmula de cinco puntos de puntos extremos

−25f (x0 )+48f (x0 +h)−36f (x0 +2h)+16f (x0 +3h)−3f (x0 +4h) h4 (5)
f ′ (x0 ) = 12h
+ 5
f (ξ),

ξ ∈ (x0 , x0 + 4h).

Es posible obtener fórmulas para derivadas de orden más alto, en partic-


ular vamos a obtener una fórmula para la segunda derivada:
Consideremos el polinomio de Taylor para una función f (x) y lo evaluaremos
en x0 + h y x0 − h
1 1 1
f (x0 + h) = f (x0 ) + f ′ (x0 )h + f ′′ (x0 )h2 + f ′′′ (x0 )h3 + f (4) (ξ1 )h4
2 6 24
1 1 1
f (x0 − h) = f (x0 ) − f ′ (x0 )h + f ′′ (x0 )h2 − f ′′′ (x0 )h3 + f (4) (ξ−1 )h4
2 6 24
sumando las expresiones anteriores el término f ′ (x0 ) se anula, ası́ pues re-
solviendo para f ′′ (x0 ) obtenemos
1 h2 (4)
f ′′ (x0 ) =
2
[f (x0 − h) − 2f (x0 ) + f (x0 + h)] − [f (ξ1 ) + f (4) (ξ−1 )]
h 24
que podemos reescribir como

1 h2 (4)
f ′′ (x0 ) = [f (x0 − h) − 2f (x0 ) + f (x0 + h)] − f (ξ1 )
h2 12
Para ξ ∈ (x0 − h, x0 + h).
Ejercicios:
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 62

1. Escriba códigos para las fórmulas de aproximación progresiva, de tres y


cinco puntos extremos, use la función f (x) = ex y compare los errores
absolutos.

2. Considere la función f (x) = xe−x aproxime su derivada en el intervalo


[0, 2] tomando un incremento de 10−3 , use fórmulas de diferencia pro-
gresiva y de tres puntos. ¿Cuál es el error absoluto máximo en cada
caso?

3. Considere la función f (x) = xe−x aproxime su segunda derivada en el


intervalo [0, 2], tome un incremento de 10−3 ¿Cuál es el error absoluto
máximo ?

6.2 Integración Numérica


Rb
A menudo es necesario calcular la integral definida a f (x)dx de una función
f (x) que no tiene una antiderivada explı́cita, o cuya antiderivada no es fácil
de obtener. Un método básico para calcular esta integral Pnes aproximarla us-
ando una cuadratura numérica o suma de la forma i=0 ai f (xi ).
Las primeras fórmulas de cuadraturas que usaremos están basadas en los
polinomios de interpolación, es decir las obtendremos integrando los poli-
nomios de primer y segundo grado con nodos igualmente espaciados.
Consideremos n + 1 nodos distintos {x0 , x1 , · · · , xn } del intervalo [a, b], su
polinomio de interpolación de Lagrange es
n
X
Pn (x) = f (xi )Li (x)
i=0

Integrando a f (x) aproximado por Pn (x) con su respectivo término de error


tenemos
Z b Z bXn Z b Yn
f (n+1) (ξ(x))
f (x)dx = f (xi )Li (x)dx + (x − xk ) dx
a a i=0 a (n + 1)!
k=0
n b n
1
X Z Y
= ai f (xi ) + (x − xk )f (n+1) (ξ(x))dx
i=0
(n + 1)! a
k=0
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 63
Rb
Para ξ(x) ∈ [a, b] y ai = a Li (x)dx para i = 0, 1, · · · , n. La fórmula de
cuadratura es Z b n
X
f (x)dx = ai f (xi )
a i=0

y el término de error es
b n
1
Z Y
E(f ) = (x − xk )f (n+1) (ξ(x))dx
(n + 1)! a
k=0

Usaremos el polinomio de primer grado para obtener la regla del trapecio,


sea x0 = a, x1 = b, h = b − a

(x − x1 ) (x − x0 )
P1 (x) = f (x0 ) + f (x1 )
(x0 − x1 ) (x1 − x0
Z b Z x1 
1 x1 ′′

(x − x1 ) (x − x0 )
Z
f (x)dx = f (x0 ) + f (x1 ) dx+ f (ξ(x))(x−x0 )(x−x1 )dx
a x0 (x0 − x1 ) (x1 − x0 ) 2 x0
Como (x−x0 )(x−x1 ) no cambia de signo en (x0 , x1 ) podemos usar el teorema
de valor medio ponderado para integrales con ξ ∈ (x0 , x1 ) y escribir
Z x1 Z x1
′′ ′′
f (ξ(x))(x − x0 )(x − x1 )dx = f (ξ) (x − x0 )(x − x1 )dx
x0 x0
 x1
x3 (x0 + x1 ) 2 h3

′′
= f (ξ) − x + x0 x1 x = − f ′′ (ξ)
3 2 x0 6
Ası́ obtenemos la cuadratura
Z x1  x1
(x − x1 )2 (x − x0 )2 h3

f (x)dx = f (x0 ) + f (x1 ) − f ′′ (ξ)
x0 2(x0 − x1 ) 2(x1 − x0 ) x0 12

(x1 − x0 ) h3 ′′
= [f (x0 ) + f (x1 )] − f (ξ)
2 12
o regla del trapecio
x1
h h3
Z
f (x)dx = [f (x0 ) + f (x1 )] − f ′′ (ξ)
x0 2 12
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 64

Note que puesto que la expresión del error involucra f ′′ (x) se tiene que
la fórmula da el resultado exacto para polinomios constantes y lineales (la
segunda derivada se anula).
Para obtener la regla de Simpson usemos tres puntos, sean x0 = a, x2 = b,
x1 = a+h con h = (b−a)/2, en lugar de integrar el polinomio de Lagrange de
segundo orden consideraremos un polinomio de Taylor de orden tres centrado
en x1 .

f ′′ (x1 ) f ′′′ (x1 ) f (4) (ξ(x))


f (x) = f (x1 )+f ′(x1 )(x−x1 )+ (x−x1 )2 + (x−x1 )3 + (x−x1 )4
2 6 24

x2 x2
f ′ (x1 ) f ′′ (x1 ) f ′′′ (x1 )
Z 
2 3 4
f (x)dx = f (x1 )(x − x1 ) + (x − x1 ) + (x − x1 ) + (x − x1 ) +
x0 2 6 24 x0

x2
1
Z
f (4) (ξ(x))(x − x1 )4 dx
24 x0
4
el término (x − x1 ) nunca es negativo en [x0 , x2 ] y por el teorema del valor
medio ponderado tenemos para algún ξ1 ∈ (x0 , x2 )
Z x2 x2
1 f (4) (ξ1 ) x2 f (4) (ξ1 )(x − x1 )5
Z
(4) 4 4
f (ξ(x))(x−x1 ) dx = (x−x1 ) dx =
24 x0 24 x0 120
x0

h = x2 −x1 = x1 −x0 = h, (x2 −x1 )2 −(x0 −x1 )2 = (x2 −x1 )4 −(x0 −x1 )4 = 0
obtenemos
x2
f ′′ (x1 ) 3 f (4) (ξ1 )h5
Z
f (x)dx = 2hf (x1 ) + h +
x0 3 60

vamos ahora a utilizar la fórmula de aproximación de la segunda derivada


2
evaluada en x1 , f ′′ (x1 ) = h12 [f (x0 ) − 2f (x1 ) + f (x2)] − h12 f (4) (ξ2 ) y ası́ obtener
la regla de Simpson

x2
h h5
Z
f (x)dx = [f (x0 ) + 4f (x1 ) + f (x2 )] − f (4) (ξ)
x0 3 90
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 65

Note que: x2 − x0 = 2h, x1 es el punto medio del intervalo (x0 , x2 ).


EjemploR Usaremos las reglas del trapecio y de Simpson para aproximar la
1
integral 0 x2 dx.
R1
Usando el trapecio 0 x2 dx ≈ 12 [0 + 1] = 21 .
R1
Usando Simpson con h = 21 , 0 x2 dx ≈ 13 21 [0 + 4 41 + 1] = 26 = 13 (note que es
el valor exacto dela integral).
Definición El grado de exactitud o precisión de una fórmula de cuadratura
es el entero positivo más grande n, tal que la fórmula sea exacta para
xk , k = 0, 1, · · · n.

Note que la regla del trapecio es exacta para funciones lineales (f (x) =
mx + c) ya que el término de error contiene f ′′ (x) y este caso f ′′ (x) = 0 y el
error serı́a cero. La regla de Simpson es exacta para funciones polinómicas
de grado menor o igual a 3, ya que el error contiene f (4) y la cuarta derivada
de un polinomio de grado menor o igual que 3 es cero.
Las reglas del trapecio y Simpson pertenecen al grupo de fórmulas de Newton-
Cotes. Hay dos categorı́as las fórmulas cerradas (que incluyen los extremos
del intervalo) y las fórmulas abiertas que no incluyen los extremos del in-
tervalo y sólo usan puntos interiores. Para tres puntos se tiene también la
fórmula cerrada conocida como regla de tres octavos

x3
3h 3h5 (4)
Z
f (x)dx = [f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )] − f (ξ), ξ ∈ (x0 , x3 )
x0 8 80
donde x3 − x0 = 3h. Una fórmula abierta muy común es la regla del punto
medio
Z x1
h3
f (x)dx = 2hf (x0 ) + f ′′ (ξ), ξ ∈ (x−1 , x1 ), x1 − x−1 = 2h
x−1 3
Ejemplo: La fórmula de cuadratura
Z 1
f (x)dx = c0 f (−1) + c1 f (0) + c2 f (1)
−1

es exacta para todos los polinomios de grado menor o igual a 2. Determine


c0 , c1 , c2 .
Z 1
f = 1, dx = 2 = c0 + c1 + c2
−1
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 66

1
1
x2
Z
f = x, xdx = = 0 = −c0 + c2
−1 2 −1
Z 1 1
x3 2
f = x2 , 2
x dx = = = c0 + c2
−1 3 −1 3

resolviendo para c0 , c1 , c2 obtenemos c0 = c2 = 13 , c1 = 43 .


Ejercicios:

1. Use
R 1 2las reglas del trapecio y punto medio para aproximar la integral
0
x dx; compare sus errores absolutos fabs(valor_exacto-valor_aproximado) y
relativos fabs(valor_exacto-valor_aproximado)/fabs(valor_exacto).

2. Use las
R 1 reglas de Simpson y de los tres octavos para aproximar la inte-
gral 0 x4 dx; compare sus errores absolutos y relativos.
R2
3. Considere la integral I = 1 x1 dx

(a) Aproxime el valor de I usando la fórmula del punto medio.


(b) Aproxime el valor de I usando la fórmula del trapecio.
(c) Aproxime el valor de I usando la fórmula de Simpson.
(d) Calcule los errores absolutos y relativos.

4. Obtenga el grado de precisión de la fórmula de cuadratura


Z 1 √ ! √ !
3 3
f (x)dx = f − +f
−1 3 3

Respuesta: Grado 3

5. Encuentre las constantes x0 , x1 y c1 de modo que la fórmula de cuadratura


Z 1
1
f (x)dx = f (x0 ) + c1 f (x1 )
0 2
tenga el grado de precisión más√ alto posible.√
Respuesta: c1 = 21 , x0 = 21 − 63 , x1 = 12 + 63
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 67

6. Halle las constantes A0 , A1 , x1 de modo que la fórmula de cuadratura


Z 1
f (x)dx = A0 f (0) + A1 f (x1 )
0

tenga el grado de precisión más alto posible.

7. Obtenga x0 y x1 de modo que la fórmula de cuadratura


Z 1
f (x)dx = f (x0 ) + f (x1 )
−1

tenga:

(a) grado de precisión al menos 2.


(b) máximo grado de precisión.

La siguiente tabla resume las fórmulas de integración discutidas.


Fórmulas de integración
 
Rb f (a)+f (b) (b−a)3 ′′
Trapecio a
f (x)dx = (b − a) 2
− 12
f (ξ)

Rb a+b
 (b−a)3 ′′
Punto¸ a
f (x)dx = (b − a)f 2
+ 24
f (ξ)
Medio
Rb (b−a)
f (a) + 4f ( a+b 1 b−a 5 (4)
 
Simpson a
f (x)dx = 6 2
) + f (b) − 90
( 2 ) f (ξ)

Rb 5
f (x)dx = (b−a) f (a) + 3f ( 2a+b ) + 3f ( a+2b ) + f (b) − (b−a)
 
3/8 a 8 3 3 6480
f (4) (ξ)

6.2.1 Integración Compuesta


Cuando el intervalo de integración es grande, las fórmulas de Newton-Cotes
no son adecuadas, pues requieren fórmulas de grado superior donde los co-
eficientes son difı́ciles de calcular, además estas fórmulas se basan en los
polinomios de interpolación con nodos igualmente espaciados, lo cual en in-
tervalos grandes es inexacto por la naturaleza oscilatoria de los polinomios
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 68

de grado superior. Una manera de mejorar la aproximación de una integral


definida de una función f en un intervalo [a, b], consiste en dividir el inter-
valo [a, b] en varios subintervalos y aplicar en cada subintervalo la regla del
punto medio, o la regla del trapecio o la regla de Simpson. Estos métodos
se conocen como regla compuesta o extendida del punto medio, del trapecio
y de Simpson respectivamente. Los siguientes teoremas presentan las reglas
compuestas de integración para los métodos del punto medio, del trapecio y
Simpson:
Teorema: Sean f ∈ C 2 [a, b], h = (b − a)/n y xj = a + jh para cada
j = 0, 1, · · · , n. Existe una µ ∈ (a, b) para la cual la regla compuesta del
punto medio para n subintervalos puede escribirse con su término de error
como: Z b n  
X xj−1 + xj b − a 2 ′′
f (x)dx = h f + h f (µ).
a j=1
2 24
Teorema: Sean f ∈ C 2 [a, b], h = (b − a)/n y xj = a + jh para cada
j = 0, 1, · · · , n. Existe una µ ∈ (a, b) para la cual la regla compuesta del
trapecio para n subintervalos puede escribirse con su término de error como:
Z b " n−1
#
h X b − a 2 ′′
f (x)dx = f (a) + 2 f (xj ) + f (b) − h f (µ).
a 2 j=1
12

Teorema: Sean f ∈ C 4 [a, b], n par, h = (b − a)/n y xj = a + jh


para cada j = 0, 1, · · · , n. Entonces existe una µ ∈ (a, b) para la cual la
regla compuesta de Simpson para n subintervalos puede escribirse con
su término de error como:
 
Z b (n/2)−1 n/2
h X X b − a 4 (4)
f (x)dx = f (a) + 2 f (x2j ) + 4 f (x2j−1 ) + f (b)− h f (µ)
a 3 j=1 j=1
180

Veamos como se obtiene la fórmula compuesta de Simpson; para ello consid-


eramos el intervalo (a, b) dividido en N ( un número par) de subintervalos y
aplicamos en cada subsugrupo de dos subintervalos la fórmula de Simpson:
Para clarificar las ideas, tomamos como ejemplo el caso N = 6, ası́ obtenemos
los nodos
b−a
x0 , x1 , x2 , x3 , x4 , x5 , x6 , h =
6
Z b Z x2 Z x4 Z x6
f (x)dx = f (x)dx + f (x)dx + f (x)dx
a x0 x2 x4
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 69

h h h
[f (x0 )+4f (x1 )+f (x2 )]+ [f (x2 )+4f (x3 )+f (x4 )]+ [f (x4 )+4f (x5 )+f (x6 )]
3 3 3
5 5 5
h h h
− f (4) (ξ1 ) − f (4) (ξ2 ) − f (4) (ξ3 )
90 90 90
reagrupando términos tenemos

h h5
= [f (x0 ) + 4(f (x1 ) + f (x3 ) + f (x5 )) + 2(f (x2 ) + f (x4 )) + f (x6 )]−3 f (4) (ξ)
3 90

 
6/2 (6/2)−1  5
h X X 6 b−a
= f (a) + 4 f (x2j−1 ) + 2 f (x2j ) + f (b) − f (4) (ξ)
3 j=1 j=1
180 6
 
(6/2)−1 6/2
h X X b − a 4 (4)
= f (a) + 2 f (x2j ) + 4 f (x2j−1 ) + f (b) − h f (ξ)
3 j=1 j=1
180

El siguiente pseudocódigo implementa la regla de integración compuesta


de Simpson

ENTRADA: Extremos a y b, entero positivo par N


SALIDA: Aproximacion XI de la integral
PASO 1: Tome h=(b-a)/N
PASO 2: Tome XI0=f(a)+f(b)
XI1=0; suma de los f(x(2i-1))
XI2=0; suma de los f(x(2i))
PASO 3: Para i=1,...,N-1 efectue pasos 4,5
PASO 4: Tome X=a+ih
PASO 5: Si i es par entonces tome XI2=XI2+f(X)
si no tome XI1=XI1+f(X)
PASO 6: Tome XI=h(XI0+2XI2+4XI1)/3
PASO 7: salida(XI);
PARAR

Ejercicio: Escriba pseudocódigos para las reglas compuestas del punto


medio y del trapecio.

Ejemplo:
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 70
R2 3
Determine los valores de n y h que se requieren para aproximar 0 4−x dx
−4
con un error no mayor de 10 usando la regla compuesta de Simpson. La
cota de error está dada por

b − a 4 (4)
E= h f (µ) , a < µ < b, h = (b − a)/n
180
3 72
a = 0, b = 2, f (µ) = , f (4) =
4−µ (4 − µ)5
2 4
(n) 72 1 1
E= 2 5
, 0 < µ < 2, 2 ≤ (4 − µ), 5
≤ 5
180 (4 − µ) (4 − µ) 2
4 3

2 2 9 · 2 2
E = 4 2 5
= 4 ≤ 10−4 , n ≥ 7.95, n = 8, h = 2/8 = 0.25
n 2 ·9·5 2 5n
Ejercicios
1. Implemente la regla compuesta del trapecio en un código en octave,donde
los datos x,y son dados y calcule la integral a partir de los puntos
x=0:0.1:2;y=sqrt(x); ¿Cuál es el error relativo?
2. Implemente la regla compuesta de Simpson en un código en octave y
calcule las integrales
Z 4 Z 4 Z 4
2
xdx, x dx, x3 dx
0 0 0

compruebe sus resultados con los valores exactos de las integrales.


R2 3
3. Aproxime la integral 0 4−x dx use reglas compuestas de trapecio y
Simpson con 10 y 12 puntos. ¿Cuáles son los errores relativos?
R2 3
4. Determine los valores de n y h que se requieren para aproximar 0 4−x dx
con un error no mayor de 10−4 usando:
(a) La regla compuesta del punto medio.¸
(b) La regla compuesta del trapecio.
5. Determine los valores de n y h que se requieren para aproximar
Z π
sen(x)dx
0

con una exactitud de 2 × 10−5


CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 71

(a) Aplique la regla compuesta del punto medio.


(b) Aplique la regla compuesta del trapecio.
(c) Aplique la regla compuesta de Simpson.

6. Calcule el valor aproximado de la integral


Z 1
xdx
0 (x + 1)(x + 2)

utilizando las reglas compuestas del punto medio y trapecio con n = 8


subintervalos. Evalúe exactamente el valor de la integral y calcule los
errores absolutos y relativos.

6.2.2 Integración de Romberg


Cuando se usan reglas de cuadraturas como la de Simpson o del trapecio,
inicialmente no conocemos el número de intervalos necesarios para obtener
una exactitud dada. Una forma de atacar este problema es duplicar suce-
sivamente el número de intervalos y comparar los resultados obtenidos. El
método de Romberg nos brinda una forma ordenada de hacer esto. A con-
tinuación usaremos los resultados obtenidos con la regla de Simpson con
diferentes tamaños de intervalos para reducir el error. Sea I el valor exacto
de la integral y Ti el valor aproximado de la integral obtenido usando la regla
de Simpson con i intervalos

I = Ti + c1 h4 + c2 h8 + c3 h12 + · · ·

Si duplicamos el número de intervalos, h es dividido por la mitad


 4  8  12
h h h
I = T2i + c1 + c2 + c3 +···
2 2 2
podemos eliminar el término que contiene h4 para obtener

I = (16T2i − Ti )/15 + k2 h8 + k3 h12 + · · ·


el término dominante es ahora de orden h8 . En general de esta manera
obtenemos un mejor aproximación para I. Supongamos que generamos un
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 72

conjunto inicial de aproximaciones dividiendo a la mitad el intervalo y denote-


moslo por T0,k , con k = 0, 1, 2, 3, 4, · · · , estos resultados pueden combinarse
en una forma similar a la relación anterior usando la fórmula general
Tr,k = (16r Tr−1,k+1 −Tr−1,k )/(16r −1), para k = 0, 1, 2, 3, · · · y r = 1, 2, 3, · · ·
A continuación damos un código para el método de Romberg
function W=romberg(f,a,b,d)
%function W=romberg(f,a,b,d)
T=zeros(d+1,d+1);
for k=1:d+1
n=2^k;T(1,k)=simpsoncomp(f,a,b,n);
end
for p=1:d
q=16^p;
for k=0:d-p
T(p+1,k+1)=(q*T(p,k+2)-T(p,k+1))/(q-1);
end
end
% for i=1:d+1
% table=T(i,1:d-i+2);disp(table)
% end
%
W=T(d+1,1);

6.2.3 Integración de ecuaciones diferenciales ordinar-


ias
El problema de valor inicial
dy
= f (t, y), y(t0 ) = y0
dt
puede escribirse como:
Z t
y(t) − y(t0 ) = f (s, y)ds
t0
Z t
y(t) = y0 + f (s, y)ds
t0
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 73

donde para calcular la integral del lado derecho usamos una fórmula de
cuadratura.

6.2.4 Método de Euler


Supongamos que deseamos resolver el p.v.i. para t = tf , consideremos una
partición del intervalo [t0 , tf ] en n+1 subintervalos de tamaño h = (tf −t0 )/n.
Buscamos
R t1 los valores de y en estos nodos, y(t0 ) = y0 es conocido y1 =
y0 + t0 f (s, y)ds. El método de Euler utiliza una aproximación de la integral
(área bajo la curva) empleando el valor de f en el extremo izquierdo del
intervalo multiplicado por la longitud del intervalo: y1 = y0 + hf (t0 , y0) y ası́
sucesivamente para obtener el algoritmo del Método de Euler-Cauchy o de
punto pendiente.

yi+1 = yi + hf (ti , yi ), i = 0, 1, · · · n − 1

El siguiente código implementa el método de Euler en octave

function [t y]=Euler(f,t0,tf,y0,n)
% [t,y]=Euler(f,t0,tf,y0,n) f(t,y)
h=(tf-t0)/n;
t(1)=t0;y(1)=y0;
for i=1:n
y(i+1)=y(i)+h*feval(f,t(i),y(i));
t(i+1)=t0+i*h;
end

Ejemplo: Usando el código del método de Euler vamos a estimar numéricamente


el error global de truncamiento del método, la literatura dice que este error
es proporcionar a h (tamaño del paso).
Vamos a resolver el p.v.i.
dy
= y, y(0) = 1, x ∈ (0, 1),
dx
supongamos que el error es de la forma E = hr , si definimos la sucesión de
errores Ei = hri , i = 1, 2, 3 y tomando h2 = h1 /2, h3 = h2 /2, la estimación
para el orden de convergencia global esta dada por la sucesión E1 /E2 = 2r ,
E2 /E3 = 2r , es decir r ≈ log2(Ei /Ei+1 )
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 74

[t,sol]=Euler(’yf’,0,1,1,10);
exac=exp(t);
er(1)=max(abs(exac-sol));
[t,sol]=Euler(’yf’,0,1,1,20);
exac=exp(t);
er(2)=max(abs(exac-sol));
[t,sol]=Euler(’yf’,0,1,1,40);
exac=exp(t);
er(3)=max(abs(exac-sol));
[t,sol]=Euler(’yf’,0,1,1,80);
exac=exp(t);
er(4)=max(abs(exac-sol));
log2([er(1)/er(2), er(2)/er(3),er(3)/er(4)])

obtenemos 0.93844, 0.96812, 0.98377 lo que nos dice que r converge a 1 y ası́
el error es proporcional a h.

6.2.5 Método de Euler Mejorado


El método de Euler mejorado utiliza el método de Euler para predecir un

valor yi+1 = yi + hf (ti , yi ) y a continuación usando este valor aplica un
corrector ∗
f (ti , yi ) + f (ti+1 , yi+1 )
yi+1 = yi + h
2
es decir se aproxima la integral usando el método del trapecio con los puntos

(ti , yi ) y (ti+1 , yi+1 ).

6.2.6 Métodos de Runge-Kutta


El Runge-Kutta de orden 4, es uno de los métodos más usados en la aprox-
imación de soluciones de ecuaciones diferenciales. Se puede ver como resul-
tado de la aplicación de la regla de Simpson como fórmula de cuadratura
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 75

numérica. Se define por:

k1 = hf (ti , yi )
k2 = hf (ti + h/2, yi + k1 /2)
k3 = hf (ti + h/2, yi + k2 /2)
k4 = hf (ti + h, yi + k3 )
yi+1 = yi + (k1 + 2k2 + 2k3 + k4 )/6

Ejemplo: Consideremos el p.v.i. y ′ = 3y − 4e−x , y(0) = 1


vamos a resolver este problema para x ∈ [0, 1] usando un tamaño de paso
de 10−1 comparando los métodos de Euler, Euler mejorado y Runge-Kutta.
Definimos function files para el lado derecho de la ecuación diferencial yf1.m
y para la solución exacta ye.m que en este caso es y(t) = e−t

[t,sol1]=Euler(’yf1’,0,1,1,10);
[t,sol2]=Eulermej(’yf1’,0,1,1,10);
[t,sol3]=Runge(’yf1’,0,1,1,10);
max(abs(sol1-ye(t)))
max(abs(sol2-ye(t)))
max(abs(sol3-ye(t)))

Para obtener los errores 0.16426, 0.034756 y 1.3842e-04. Para graficar las
soluciones usamos:

plot(t,ye(t),’LineWidth’,2);
hold on
plot(t,sol1,’--k’,’LineWidth’,2)
hold on
plot(t,sol2,’--g’,’LineWidth’,2)
hold on
plot(t,sol3,’--r’,’LineWidth’,2)
legend(’exacta’,’euler’,’euler mejorado’,’runge’)

La figura 6.1 muestra el comparativo de la solución exacta y las soluciones


numéricas obtenidas con los métodos de Euler, Euler mejorado y Runge-
Kutta.
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 76

1
exacta
euler
0.9 euler mejorado
runge
0.8

0.7

Y 0.6

0.5

0.4

0.3

0.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
X

Figure 6.1: Comparación de los métodos de Euler, Euler mejorado y Runge-


Kutta

Ejercicios
R √π
1. Use el método de Romberg para calcular 0 sen(x2 )dx ¿Cuantas it-
eraciones requiere para que la diferencia entre dos aproximaciones con
n y n − 1 veces la regla de Romberg sea menor o igual a 10−7 ?

2. Use el método de Romberg para calcular la integral 0 x2 sen(x)dx
¿Cuantas iteraciones requiere para que el error absoluto sea menor o
igual a 10−7 ?
3. Implemente el método de Euler mejorado y verifique numericamente
que el error global del método es 2.
4. Implemente el método de Runge-Kutta y verifique numericamente que
el error global del método es 4.
5. Considere el método (Runge-Kutta orden 3)
k1 = hf (ti , yi )
k2 = hf (ti + h/2, yi + k1 /2)
k3 = hf (ti + h, yi − k1 + 2k2 )
yi+1 = yi + (k1 + 4k2 + k3 )/6
implementelo en un código y estime numéricamente su error global.
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 77

6. Considere el problema de valor inicial



y ′ = xy + y, y(0) = 1

Use los métodos de Euler y Euler mejorado para hallar una aproxi-
mación de y(0.5), considere primero h = 0.1 y después h = 0.01.

7. Resuelva el problema de valor inicial dy


dt
= y 2 t, y(0) = 1 para 0 ≤ t ≤
1, use RK4 con h = 0.05 y grafique su solución.

8. Resolviendo una ecuación diferencial ordinaria de segundo orden.

Considere el p.v.i.

y ′′ + p(t)y ′ + q(t)y = g(t), y(t0 ) = y0 , y ′ (t0 ) = y1

(a) Convierta la ecuación de segundo orden a un sistema equivalente


de primer orden. Haga x1 = y; x2 = y ′ para obtener:
 ′
x1 = x2
x′2 = −q(t)x1 − p(t)x2 + g(t)

donde x1 (t0 ) = y0 ; x2 (t0 ) = y1 .


(b) Cree y grabe un mfile que defina una función vectorial de variable
vectorial.
Veamos un ejemplo
 ′
x1 = x2
x1 (0) = 2; x2 (0) = 8
x′2 = −tx1 + et x2 + 3sin(2t)

Defina la siguiente función y guardela como F.m


function xp=F(t,x)
xp=zeros(2,1);%la salida debe ser vector
xp(1)=x(2);
xp(2)=-t*x(1)+exp(t)*x(2)+3*sin(2*t);

En el prompt de Octave teclea [t,sol]=Rungev(’F’,[t0,tf],[x10,x20],n);


Donde F es el mfile de la función vectorial, t0 y ft valores inicial y
final del tiempo, x10 es el valor inicial de x1 al tiempo t0 y ,x20 es el
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 78

valor inicial de x2 al tiempo t0 .


Para el ejemplo anterior [t,sol]=Rungev(’F’,[0,1],[2,8],20);
Nota: Asegurate que tu programa Rungev.m este vectorizado.
Puesto que x1 (t) = y, para mostrar los valores de la solución y para
t0 ≤ t ≤ tf en el prompt de octave teclea: [t, sol(:,1)], para
mostrar la gráfica de la solución t contra y, teclea: plot(t,sol(:,1))
Para graficar x1 contra x2 (el plano fase) teclea: plot(sol(:,1),sol(:,2))
9. Resuelva el sistema
x′ = 2x + 4y x(0) = −1,
y ′ = −x + 6y y(0) = 6

10. Resuelva numericamente el p.v.i. para x ∈ (1, 2)

x2 y ′′ − 2xy ′ + 2y = 0, y(1) = 4, y ′(1) = 9

La solución exacta es y(x) = −x + 5x2 .

11. La solución del problema de valor inicial

x2 y ′′ + xy ′ + x2 y = 0, y(0) = 1, y ′(0) = 0

se conoce como la función de Bessel de orden cero. Resuelva numéricamente


el problema para x ∈ (0, 5), grafique su solución.
12. Resuelva numéricamente el sistema
dx1
dt
= −4x1 − 4x2 x1 (0) = 2

dx2
dt
= 10x1 + 9x2 + x3 x2 (0) = 1

dx3
dt
= −4x1 − 3x2 + x3 x3 (0) = −1

13. Las ecuaciones de Lorenz


x′ = −sx + sy
y ′ = −xz + rx − y
z ′ = xy − bz
son una simplificación de un modelo atmosférico para estudiar la con-
vección de Rayleigh-Bénard, movimiento del calor en un fluı́do, como
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 79

el aire, a partir de un medio de calentamiento inferior (como el suelo)


hacia un medio fresco más alto (atmósfera superior). Aquı́ s, b y r son
parámetros. La figura 6.2 muestra trayectorias obtenidas resolviendo
el sistema con un método de Runge-Kutta con diferentes condiciones
iniciales

[t,sol]=Rungev(’FL’,[0,10],[1,0,0],100);
plot3(sol(:,1),sol(:,2),sol(:,3))
hold on
[t,sol]=Rungev(’FL’,[0,10],[-1,0,0],100);
plot3(sol(:,1),sol(:,2),sol(:,3))
[t,sol]=Rungev(’FL’,[0,10],[0,1,0],100);
hold on
plot3(sol(:,1),sol(:,2),sol(:,3))
[t,sol]=Rungev(’FL’,[0,10],[0,-1,0],100);
hold on
plot3(sol(:,1),sol(:,2),sol(:,3))

donde se asumen los valores s = 10, b = 8/3 y r = 28 para sus


parámetros. Escriba un mfile FL.m para el lado derecho del sistema
de ecuaciones, resuelva y grafique usando los comandos dados.
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 80

Figure 6.2: Trayectorias soluciones de las ecuaciones de Lorenz para difer-


entes condiciones iniciales con s = 10, b = 8/3 y r = 28

14. Un modelo simple para estimar el número de infectados I, S suscep-


tibles y recuperados R por la epidemia de covid-19 está dado por las
ecuaciones:
dS
dt
= −βSI

dI
dt
= βSI − γI

dR
dt
= γI.
Usando datos de infectados en el estado de Veracruz de la semana
12 a la semana 18 del 2020 se lograron estimar los valores β = 1.33 y
γ = 0.69. Los siguientes comandos resuelven el sistema de la semana 12
a la 52, donde se asume una población total N de 8112505, inicialmente
7 infectados, 0 recuperados y el resto susceptibles.

[t,sol]=Rungev(’FISR’,[12,52], [8112498/8112505,7/8112505,0],200);
plot(t,sol)
plot(t,sol,’LineWidth’,4)
legend(’S’,’I’,’R’)
CHAPTER 6. DERIVACIÓN E INTEGRACIÓN 81

xlabel(’semanas’)
ylabel(’fraccion de susceptibles, infectados, recuperados’)

Note que para que el método converja los datos iniciales son las frac-
ciones de susceptibles S(ti )/N, infectados I(ti )/N y recuperados R(ti )/N.
Escriba un mfile FISR.m para el lado derecho del sistema de ecua-
ciones, resuelva y grafique usando los comandos dados.

Figure 6.3: Curvas epidemicas de un modelo SIR Covid-19 para el Estado


de Veracruz
Bibliography

[1] Richard Burden, J. Douglas Faires, Numerical Analysis 10ed, Cengage


Learning, 2016.

[2] Steven C. Chapra, Raymond P. Canale, Numerical methods for engineers


7Ed, Mc Graw Hill, 2014.

[3] Antonio Nieves, Metodos númericos Aplicados a la Ingenieria, 2014,


Grupo Editorial Patria.

[4] Ramin S. Esfandiari, Numerical Methods for Engineers and Scientists


Using MATLAB, CRC Press 2013.

[5] Jaan Kiusalaas ,Numerical methods in engineering with matlab, 3d ed,


Cambridge University Press, 2016.

82

También podría gustarte