Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Notasmetnum
Notasmetnum
con Octave
2 Errores y Aproximaciones 12
2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Errores Numéricos . . . . . . . . . . . . . . . . . . . . . . . . 13
1
CONTENTS 2
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
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
≫ 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]
Ejercicio
+ 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
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
371 = 33 + 73 + 13 .
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);
function y=f(x)
y1=x.*(x<0);
y2=x.^ 2.*((x<2)-(x<0));
y3=4*(1-(x<2));
y=y1+y2+y3;
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
0.6
0.4
0.2
0
y
−0.2
−0.4
−0.6
−0.8
0 1 2 3 4 5 6
x
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
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.
3.14159265358979
32.438191288
6.3444444444444
3.1415
32.4381
6.3444
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.
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.
Solución numérica de
ecuaciones algebraı́cas y
trascendentales
x=1:.1:6;
y=0.5*exp(-x)-atan(sqrt(x.^2-1)-x)-x+sqrt(x);
plot(x,y);
grid on
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
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.
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
f (x) = 0
x − g(x) = 0
x = g(x)
xn+1 = g(xn ), n = 0, 1, 2, 3, · · ·
f (xn )
xn+1 = xn − , n = 0, 1, 2, 3, · · ·
f ′ (xn )
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 )
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?
Solución numérica de
Ecuaciones Lineales.
27
CHAPTER 4. SOLUCIÓN NUMÉRICA DE ECUACIONES LINEALES.28
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
Ax = y
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
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
(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
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
33
CHAPTER 5. REGRESIÓN E INTERPOLACIÓN 34
4
Y
0
1 2 3 4 5 6 7
X
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
p=polyfit(x,log(y),1 )
ans =
0.099055 1.617355
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))
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.
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
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
0
y
−2
−4
−6
−8
−10
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
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.
1.737475
0.018763
0.108778
11
10
8
y
4
50
40 180
160
30 140
20 120
100
10 80
x2 x1
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ı́
∂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:
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
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
SEMANA CASOS
13 24
15 44
17 251
19 836
21 1541
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
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)
x y
5 246.2507
15 377.9896
25 439.3733
´
35 479.7811
45 509.8649
55 533.9367
65 553.9974
x1 x2 y
0 0 5
2 1 10
2.5 2 9
1 3 0
4 6 3
7 2 27
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
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 + 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ı́
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’)
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]
2.5
1.5
y 0.5
−0.5
−1
−1.5
−2
−3 −2 −1 0 1 2 3
x
1
2. Considere la función f (x) = 1+25x 2 , use nodos igualmente espaciados
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
.
Pn (x) = f (x0 )Ln0 (x) + f (x1 )Ln1 (x) + · · · + f (xn )Lnn (x)
f (n+1) (ξ(x))
f (x) = Pn (x) + (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)!
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:
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.
x=[0 1 2 3 4];y=[3,0,1,2,4];
xval=1.5;
yval=spline(x,y,xval)
pieces = 4
order = 4
dim = 1
xx=0:0.1:4;yy=spline(x,y,xx);
plot(x,y,’o’,xx,yy);
Ejercicios
Derivación e integración
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
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 )
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 (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
−25f (x0 )+48f (x0 +h)−36f (x0 +2h)+16f (x0 +3h)−3f (x0 +4h) h4 (5)
f ′ (x0 ) = 12h
+ 5
f (ξ),
ξ ∈ (x0 , x0 + 4h).
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
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
(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 .
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
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 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
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
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
Respuesta: Grado 3
tenga:
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) (ξ)
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
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
I = Ti + c1 h4 + c2 h8 + c3 h12 + · · ·
donde para calcular la integral del lado derecho usamos una fórmula de
cuadratura.
yi+1 = yi + hf (ti , yi ), i = 0, 1, · · · n − 1
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
[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.
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
[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’)
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
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 ?
Rπ
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
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.
Considere el p.v.i.
x2 y ′′ + xy ′ + x2 y = 0, y(0) = 1, y ′(0) = 0
dx2
dt
= 10x1 + 9x2 + x3 x2 (0) = 1
dx3
dt
= −4x1 − 3x2 + x3 x3 (0) = −1
[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))
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.
82