Professional Documents
Culture Documents
NUMERICOS
Texto gua de aprendizaje para estudiantes de Ingeniera
Autor:
Washington Medina G *
OCTUBRE
2013
*Ingeniero Civil
*Master en Docencia Universitaria e investigacin educativa
*Master en Tecnologa de la Informacin y Multimedia Educativa
Mtodos Numricos
METODOS NUMERICOS
Introduccin.
Las matemticas, desde las grandes culturas creadoras de los grandes teoremas
aplicados en la actualidad, han estado por lo general sujetas a procesos recursivos
con la demora que su calculo implica y el riesgo de cometer errores en el proceso
numrico.
Considerando que los mtodos numricos son tcnicas mediante las cuales es posible
formular problemas de tal forma que puedan resolverse usando operaciones. Aunque
hay muchos tipos de mtodos numricos, todos comparten una caracterstica comn:
llevan a cabo un buen nmero de tediosos clculos aritmticos. Es por ello que la
computacin es una herramienta que nos facilita el uso y desarrollo de ellos.
Mtodos Numricos
CAPITULO I
Teora del error y Sistemas de ecuaciones lineales
Siempre que se desea dar solucin a un problema matemtico, se utilizan ciertos
mtodos o procedimientos que implican obtener datos en procesos iterativos, los
mismos que desde su origen acarrean un error, error que se lo puede clasificar as.
1. Errores por apreciacin
2. Errores por obtencin de resultados
(2.1)
Mtodos Numricos
a a
x
x
(2.2)
Ax = b
Donde
A es la matriz de coeficientes,
b es el vector de trminos independientes, y,
x es el vector solucin.
(3.1)
Mtodos Numricos
xk
bk
i k 1
ki
a kk
xi
(3.3)
para k = n - 1, n - 2,......... , 1
Podemos ver que los sistemas triangulares son fciles de tratar, por lo que se
recomienda buscar mtodos para reducir cualquier sistema a un sistema triangular
(superior o inferior).
Mtodos Numricos
La idea general como se explic anteriormente es hacer cero todos los elementos que
se encuentren debajo de la diagonal principal.
Mtodos Numricos
aij
actual
aij
D*aij
anterior - multiplicador*referencia
tomando como ejemplo el hecho de que se va a modificar la segunda fila, los trminos
indicados tienen el siguiente significado:
actual: nuevos coeficientes de la segunda fila
anterior: coeficientes originales de la segunda fila
multiplicador: primer coeficiente de la segunda fila (en general son los coeficientes
bajo cada nmero de la diagonal)
referencia: coeficientes de la primera fila (en general, son los coeficientes de la fila
anterior a la que se est analizando).
Ejemplo 2
1
2
1
4
3
5
2
6
4
Mtodos Numricos
5
3
a 24 a 24 a 21 * a14
16
4
Multiplicador = a31 = 2
3 1 a31 a31 a31 * a11 0
a a32 a32 a31 * a12
1
3
k i J
2 2 2
a 23
a 22
a a 22 a 1 a23 a 1
22
22
4
Multiplicador = a32 = 1/3
3 2 a32 a32 a32 * a 22 0
a a a a *a 2
33
33
32
a 24
23
a34
a34 8
a33 10
1
0
0
1/3
1
0
4/3
1
1
2/3
16/5
8/10
a 24 16
a 22 3
4
k i J
3 3 3
a33
a
1
33
a
a33
4
8
5
Mtodos Numricos
Una vez obtenida la matriz triangular superior, se realiza un proceso regresivo para
calcular las soluciones, aplicando las siguientes frmulas tomando en cuenta que el k
de inicio es: k = n y que la variable b corresponde a los trminos independientes:
b
xn n
a nn
xk
bk
i k 1
ki
xi
a kk
La solucin es:
x1 = 0.8
X2 = 2.4
X3 = -1.2
Ejercicios:
Construir las matrices correspondientes y resolver los siguientes ejercicios:
Realizar 2 ejercicios bsicos de suma y resta
Multiplicar las siguientes matrices:
A(3*4), B(4*2)
A(3*2), B(2*3)
Transformar dos matrices de 4*4 a matriz triangular superior
Calcular el determinantes de dos matrices de 4*4
Calcular las inversas de: una matriz de 3*3 y de una matriz de 4*4
Resolver los siguientes sistemas de ecuaciones:
Sistema de 3 ecuaciones con 3
incgnitas
Sistema de 4 ecuaciones con 4
incgnitas
Mtodos Numricos
N
M=N
i =1,N
J = 1, N
A[i,J]
i =1,N
C(i,i) = A (i,i)
J = i, N
no
si
i=N
a
k=i+
b
DD = 1
L=k ,N
D = A(L,
i)
i= 1,N
J = i, M
J = i, M
DD = DD*C(i,i)
A(L,J) = A(L,J) D*A(i,J)
Imprimir
DD
10
Mtodos Numricos
inicio
M = N+1
I=1,N
J = 1, M
A[i,J]
I=1, M
C(i,i) = A (i,i)
J = i, M
A(i,j)= A(i,j)/ A(i, i )
no
si
i=n
k=i+1
L=k ,N
DD = 1
i= 1,N
D = A(L, i )
J = i, N
J = i, M
A(L,J) = A(L,J) D*A(i,J)
DD = DD*C(i,i)
BB
11
Mtodos Numricos
BB
BB
NO
SI
DD=0
X(N)=A(N,M)/A(N,N)
i= N-1,
El sistema no tiene
solucin o puede tener
infinito
nmero
de
soluciones
S(i) = 0
J = i+1, N
C(J) = X(J)*A(i,J)
S(i) = s(i) + c(J)
i= 1, N
x(i)
12
Mtodos Numricos
>> A =[1 2 3 ; 4 2 1 ; 4 3 1]
A=
1
4
4
2
2
3
3
1
1
>> B = [1 ; 5 ; 2]
B=
1
5
2
>> C = det(A)
C = 11
>> C = inv(A) % Calculo de la matriz inversa de A
C=
-0.0909 0.6364 -0.3636
0 -1.0000 1.0000
0.3636 0.4545 -0.5455
>> S = C*B
S=
2.3636
-3.0000
1.5455
Mtodos Numricos
13
Mtodos Numricos
14
CAPITULO II
clc
clear
a=input('Ingrese el coeficiente 1');
b=input('Ingrese el coeficiente 2');
c=input('Ingrese el coeficiente 3');
delta=b*b - 4*a*c;
if delta==0
x1=-b/(2*a);
x2=-b/(2*a);
fprintf('\n\nLa solucion 1 es: %2.2f\n\n',x1);
fprintf('\n\nLa solucion 2 es: %2.2f\n\n',x2);
break;
else
if delta>0
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
fprintf('\n\nLa solucion 1 es: %2.2f\n\n',x1);
fprintf('\n\nLa solucion 2 es: %2.2f\n\n',x2);
break;
else
x1=(-b+sqrt(delta)*(-1))/2*a;
x2=(-b-sqrt(delta)*(-1))/2*a;
% disp. De las lneas siguientes visualizan la parte imaginaria de la respuesta
fprintf('\n\nLa solucion 1 es: %2.2f\n\n'),disp(x1)
fprintf('\n\nLa solucion 2 es: %2.2f\n\n'),disp(x2)
end
end
15
Mtodos Numricos
-4
>> polyval(p,5)
ans =
931
roots(p)
ans =
-4.1654
0.9235 + 1.1227i
0.9235 - 1.1227i
-0.6816
Cdigo para el clculo del valor de un polinomio para un valor de x
% Evaluacion de un polinomio en puntos dados por el usuario
clc
clear
n = input ('Grado del polinomio: ');
for j=n:-1:0
fprintf(1,'Coeficiente de x^%d : ',j);
coef(n-j+1)=input ('');
end
while 1
x = input ('Punto a evaluar: ');
if x == -999
break;
end
fprintf(1,'p(%f) = %f\n',x,polyval(coef,x));
end
Mtodos Numricos
16
Mtodos Numricos
17
18
Mtodos Numricos
max
a2 2 a3
a1
a1
(5.1)
Divergencia. En el anlisis de los mtodos nos encontraremos con este trmino, por lo
que es conveniente entender que la divergencia de un mtodo es la imposibilidad de
encontrar la solucin con la aplicacin de dicho mtodo.
Siendo el polinomio:
a1 x n a2 x n1a3 x n2 a4 x n3 ........ an 0
(6.1)
19
Mtodos Numricos
x1
x2
x3
x4
x5
x6
FIG. 6.1.1
De lo indicado se anota que: en una tabla de valores X-Y para graficar una funcin, la
solucin del polinomio se encuentra entre loas valores de x cuyos valores respectivos
de y cambien de signo, como lo muestra la siguiente tabla:
X
1
3
6
Y
4
7
-5
Una forma fcil de iniciar la construccin de las tablas de valores es contar con un
valor tentativo de x, el cual se lo puede calcular aplicando la frmula indicada a
continuacin que representa el valor mximo al que pueden llegar las soluciones del
polinomio, frmula que presenta coherencia en los resultados si las races del
polinomio son reales.
2
a2
a3
r
2
mx
a1
a1
(5.1)
Para una mejor organizacin del mtodo, se sugiere el uso de una tabla de datos
donde:
K
nmero de iteraciones
20
Mtodos Numricos
X1
X2
F(X1)
F(X2)
F(X1)*F(X2) = "-"
20
19
-306
19
18
-306
-544
TABLA 6.1.1
r max
a 2 2 a3
a1
a1
mx
4.25 2 4.75
1
1
r
2.93 3
mx
K
1
2
3
4
5
6
7
8
9
10
x1
3,00000
2,50000
2,00000
1,50000
1,00000
0,50000
0,00000
-0,50000
-1,00000
-1,50000
x2
2,50000
2,00000
1,50000
1,00000
0,50000
0,00000
-0,50000
-1,00000
-1,50000
-2,00000
f x1
1,00000
0,37500
0,25000
0,62500
1,50000
2,87500
4,75000
7,12500
10,00000
13,37500
TABLA 6.1.2
fx2
0,37500
0,25000
0,62500
1,50000
2,87500
4,75000
7,12500
10,00000
13,37500
17,25000
fx1*fx2
+
+
+
+
+
+
+
+
+
+
21
Mtodos Numricos
En el ejemplo no existe solucin alguna puesto que son races imaginarias y por ende el
mtodo diverge, adems, rmx no es aplicable porque funciona slo para soluciones
reales.
ejemplo 5: resolver
k
1
2
3
4
5
6
7
8
9
10
11
12
3.75 x 4.375 0
x1
5,00000
4,50000
4,00000
3,50000
3,00000
2,50000
2,00000
1,50000
1,00000
0,50000
0,00000
-0,50000
r max 4.78 5
x2
4,50000
4,00000
3,50000
3,00000
2,50000
2,00000
1,50000
1,00000
0,50000
0,00000
-0,50000
-1,00000
f x1
1,87500
-1,00000
-3,37500
-5,25000
-6,62500
-7,50000
-7,87500
-7,75000
-7,12500
-6,00000
-4,37500
-2,25000
TABLA 6.1.3
fx2
fx1*fx2
-1,00000
-3,37500
+
-5,25000
+
-6,62500
+
-7,50000
+
-7,87500
+
-7,75000
+
-7,12500
+
-6,00000
+
-4,37500
+
-2,25000
+
0,37500
-
22
Mtodos Numricos
Rm(0)=0
X1(L)=Rmx-Rm(L-1)
L=1,k
X2(L)=x1(L)-Rm
P=Q=A(N+1); J =N
I =1,N
J
P=P+A(i)*x1(L)
J
Q=Q+A(i)*x2(L)
J=N-1
F1(L)=P; F2(L)=Q
M(L)=F1(L)*F(L)
si
M(L)
<0
No hay
solucin
Si hay
X1(L)=X2(L)
L=1,
Imprimir:
K,x1,x2,f1,f2,solucin
solucin
Mtodos Numricos
23
Mtodos Numricos
24
x2=x-delta;
f1=inline(f);
f2=inline(f);
n=1;
fx1=f1(x);
fx2=f2(x2);
while fx1*fx2>=0
fprintf('\t\t%10.2f\t\t%10.2f\t\t%10.2f\t\t%10.2f\n',x,x2,fx1,fx2);
x=x2;
x2=x-delta;
if n<50
else
fprintf('\n\nno se encuentran intervalos solucion');break
end
fx1=f1(x);
fx2=f2(x2);
n=n+1;
end
fprintf('\t\t%10.2f\t\t%10.2f\t\t%10.2f\t\t%10.2f\n',x,x2,fx1,fx2);
fprintf('\n\nel numero de iteracciones fue: %d\n',n);
fprintf('hay solucion en el ultimo intervalo');break
end
ACTIVIDADES DE REPASO DEL TALLER 7:
Visualizar la tabla de resultados incluyendo las iteraciones (k) y la multiplicacin
fx1*fx2
En la tabla de resultados se visualice el rotulado de las columnas (como en los
resultados del taller 6)
Visualizar la grfica de la funcin
Rectifique los errores una vez obtenida la pantalla de resultados
Rectifique el cdigo de tal manera que permita iniciar el clculo en cualquier valor (no
solo Rmx) y de esta manera visualizar una tabla de resultados.
25
Mtodos Numricos
F(X2)
x1
x3
x2
F(x1)
FIG. 6.2.1
F ( x1)
F ( x 2)
( x 2 x1)
F ( x1) ( x 2 x1) F ( x 2)
F ( x1)( x 2 x1) F ( x 2) F ( x1)
F ( x1) ( x 2 x1)
(6.1)
F ( x 2) F ( x1)
F(x1
)
F(X2
)
E
x1
x3
x2
F(X2
)
F(x1
)
F(X2
)
F(x1
)
F(x1
)
F(X2
)
FIG 6.2.2
26
Mtodos Numricos
El valor x3 ser el nuevo lmite por lo tanto el intervalo ha sido reducido y se acerca a
la respuesta.
Anlisis de concavidades.- Se debe considerar adems la concavidad de la funcin en
el intervalo, esto se obtiene analizando el valor de la funcin Fx3 calculado al
reemplazar x3 en la funcin; asi, Fx3 nos indicar si es cncavo hacia abajo o hacia
arriba segn su signo:
Si Fx3 es positivo, la funcin en el intervalo es cncava hacia abajo
Si Fx3 es negativo, la funcin en el intervalo es cncava hacia arriba.
De este anlisis se obtienen cuatro posibilidades (fig. 6.2.2) resueltas en el siguiente
flujo grama:
Si
No
Fx3
>0
No
Si
No
Si
Fx1
>0
F[1]
>0
X1=X1+E
X2=X1+E
X2=X1+E
X1=X1+E
FIG. 6.2.3
Para fines de programacin podemos aplicar el siguiente criterio:
Si
No
Fx1*Fx3
>0
X2=X1+E
FIG. 6.2.4
X1=X1+E
27
Mtodos Numricos
error asumido
Es recomendable tambin comparar con los valores absolutos de fx1 y fx2:
|fx1| |fx2|
Ejemplo 5.
Encontrar la solucin de x2 3.75x 4.375 = 0 en el intervalo: 4.5 < Xso l < 5.
k
1
2
3
4.5000
4.6739
4.6835
4.6840
x2
5.0000
5.0000
5.0000
5.0000
fx1
-1.0000
-0.0567
-0.0030
-0.0002
fx2
1.8750
1.8750
1.8750
1.8750
TABLA 6.2.1
0.1739
0.0096
0.0005
0.0000
28
Mtodos Numricos
a) Clculo de r mx.
mx
a 2 2 a 3
a1
a1
mx
2.71 2 5.095
1
r
4.187 4.2
mx
k
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4.2000
3.7000
3.2000
2.7000
2.2000
1.7000
1.2000
0.7000
0.2000
-0.3000
-0.8000
-1.3000
-1.8000
-2.3000
x2
fx1
3.7000
3.2000
2.7000
2.2000
1.7000
1.2000
0.7000
0.2000
-0.3000
-0.8000
-1.3000
-1.8000
-2.3000
-2.8000
13.5346
3.3516
-2.6364
-5.1794
-5.0274
-2.9304
0.3616
4.0986
7.5306
9.9076
10.4796
8.4966
3.2086
-6.1344
fx2
3.3516
-2.6364
-5.1794
-5.0274
-2.9304
0.3616
4.0986
7.5306
9.9076
10.4796
8.4966
3.2086
-6.1344
-20.2824
fx1*fx2
45.3626
-8.8362
13.6550
26.0389
14.7323
-1.0596
1.4821
30.8649
74.6102
103.8277
89.0410
27.2622
-19.6828
124.4204
TABLA 6.2.2.
c) Clculo de raices por el mtodo de interpolacin
k
1
2
3
4
5
6
k
1
2
3
3.2000
3.4201
3.4545
3.4592
3.4599
3.4600
1.2000
1.2000
1.2000
x2
3.7000
3.7000
3.7000
3.7000
3.7000
3.7000
x2
1.7000
1.2549
1.2500
fx1
-2.6364
-0.4688
-0.0663
-0.0091
-0.0012
-0.0002
fx1
0.3616
0.3616
0.3616
fx2
3.3516
3.3516
3.3516
3.3516
3.3516
3.3516
fx2
-2.9304
-0.0353
-0.0002
0.2201
0.0343
0.0048
0.0006
0.0001
0.0000
0.0549
0.0500
0.0500
29
Mtodos Numricos
k
1
2
3
4
5
Soluciones:
x2
-2.3000
-2.3000
-2.3000
-2.3000
-2.3000
-2.3000
X1 = 3.4600
X2 = 1.2500
X3 = -2.0000
fx1
-1.8000
-1.9717
-1.9962
-1.9995
-1.9999
-2.0000
fx2
-6.1344
-6.1344
-6.1344
-6.1344
-6.1344
-6.1344
3.2086
0.4950
0.0669
0.0089
0.0012
0.0002
0.3283
0.3038
0.3005
0.3001
0.3000
0.3000
yf(x1) en la
Diagrama de flujo del mtodo de interpolacin para calcular una solucin conociendo
el intervalo por el mtodo de investigacin.
N, x1, x2
i=1,N+1
METODO
DE
INTERPOLACION
A(i)
J=N, P=Q=R=A(N+1)
i=1,N
P=P+A(i)*x1(1)J
Q=Q+A(i)*x2(1)J
x 2 (1) x1(1)
P Q
x 3 x1(1)
J N
i=1,N
R=R+A(i)*x3(1)J
no
si
P*Q>0
L=1,K
L=1,K
P=Q=A(N+1), J=N
P=Q=A(N+1), J=N
i=1,N
i=1,N
A
J=J-1
P=P+A(i)*x1(L)J
Q=Q+A(i)*x2(L)J
B
J=J-1
P=P+A(i)*x1(L)J
Q=Q+A(i)*x2(L)J
2
1
30
Mtodos Numricos
no
E<=0.001
x1(L)=x1(1)
x2(L)=x1(L)+E(L)
si
no
solucin
X2(L)
x2(L)=x2(1)
x1(L)=x1(L)+E(L)
A
E<=0.001
si
solucin
X1(L)
imprimir
no
fin
otro clculo
si
inicio
31
Mtodos Numricos
while k<20
e= (abs(fx1)*(x2-x1))/(abs(fx2)+abs(fx1));
fprintf('\t%2d\t\t%4.4f\t\t%4.4f\t\t%4.4f\t\t%4.4f\t\t%4.4f\n',k,x1,x2,fx1,fx2,e)
x2=x1+e;
fx2= f1(x2);
if abs(fx2)<0.0001
fprintf('\n\n la solucion es ');disp(x2);break;
end
if k==20
fprintf('\n\n en el intervalo escogido no hay solucion ');break;
end
k=k+1;
end
end
x=-5:0.01:5;
fplot(f1,[-5 5],'b');
grid
end
6.3. Mtodo de Newton Raphson
f(xo)
solucin
x3
x2
FIG. 6.3.1
tg
F ( x0 )
x0 x1
(6.2)
x1
xO
32
Mtodos Numricos
F'
F ( x0 )
x0 x1
(6.3)
x1 x0
F ( x0 )
F ' ( x0 )
(6.4)
x n 1
F (x )
xn ' n
F ( xn )
Frmula
de
Newton
Raphson para el clculo de
races aproximadas de un
polinomio.
(6.5)
fx er
(6.6)
33
Mtodos Numricos
nmero de iteraciones
Solucin:
1. Derivamos la funcin
f(x) = x4 - 1.3x3 - 10.24x2 + 4.83x + 19.42
f(x) =4x3 3.9x2 20.48x + 4.83
Xi
Fx
F x
fx/fx
x(i+1)
3.75000
22.73172
84.12375
0.27022
3.47978
3.47978
4.08030
54.88455
0.07434
3.40544
3.40544
0.26479
47.82997
0.00554
3.39990
3.39990
0.00141
47.32110
0.00003
3.39987
3.39987
0.00000
47.31837
0.00000
3.39987
3.39987
0.00000
47.31837
0.00000
3.39987
TABLA 6.3.1
Se puede chequear el resultado al
mismo tiempo con fx/fx y f(x)
34
Mtodos Numricos
Xi
fx
f x
fx/fx
x(i+1)
3.25000
-6.10266
34.38875
-0.17746
3.42746
3.42746
1.34056
49.87662
0.02688
3.40058
3.40058
0.03362
47.38351
0.00071
3.39987
3.39987
0.00002
47.31842
0.00000
3.39987
3.39987
0.00000
47.31837
0.00000
3.39987
3.39987
0.00000
47.31837
0.00000
3.39987
TABLA 6.3.2
La solucin aproximada es 3.39987
Ejemplo 9. Calcular una de las soluciones del siguiente polinomio
x3 - 10.24x2 + 4.83x + 19.42 = 0
rmax
a
a
2 2 3
a1
a1
rmax
10.24
2(4.83) 9.76 10
1
x1
10,00000
9,50000
9,00000
8,50000
8,00000
7,50000
7,00000
6,50000
6,00000
5,50000
x2
9,50000
9,00000
8,50000
8,00000
7,50000
7,00000
6,50000
6,00000
5,50000
5,00000
f x1
43,72000
-1,48000
-37,55000
-65,24000
-85,30000
-98,48000
-105,53000
-107,20000
-104,24000
-97,40000
fx2
-1,48000
-37,55000
-65,24000
-85,30000
-98,48000
-105,53000
-107,20000
-104,24000
-97,40000
-87,43000
fx1*fx2
Solucin
+
+
+
+
+
+
+
+
+
35
Mtodos Numricos
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
5,00000
4,50000
4,00000
3,50000
3,00000
2,50000
2,00000
1,50000
1,00000
0,50000
0,00000
-0,50000
-1,00000
-1,50000
-2,00000
4,50000
4,00000
3,50000
3,00000
2,50000
2,00000
1,50000
1,00000
0,50000
0,00000
-0,50000
-1,00000
-1,50000
-2,00000
-2,50000
-87,43000
-75,08000
-61,10000
-46,24000
-31,25000
-16,88000
-3,88000
7,00000
15,01000
19,40000
19,42000
14,32000
3,35000
-14,24000
-39,20000
-75,08000
-61,10000
-46,24000
-31,25000
-16,88000
-3,88000
7,00000
15,01000
19,40000
19,42000
14,32000
3,35000
-14,24000
-39,20000
-72,28000
+
+
+
+
+
+
Solucin
+
+
+
+
+
Solucin
+
+
TABLA 6.3.3
Como podemos observar en la tabla en x1, en la iteracin 1 va el valor aproximado de
rmax, se ha aproximado el valor para que sea ms sencillo ir restando el valor de 0.5,
que ha sido un valor escogido por conveniencia, no necesariamente tiene que ser este
valor, como tampoco era necesario aproximar el valor de rmax.
En x2 en la iteracin 1 se coloca el valor de rmax 0.5.
En las siguientes iteraciones el valor de x2 pasa a ser el valor de x1, y a la nueva x1 se le
resta 0.5 para colocar este valor en x2.
Este proceso se realiza hasta cuando en el producto F(x1)* F(x2) sea negativo. Cada
vez que aparezca un producto negativo quiere decir que en este intervalo esta una de
las soluciones.
En este caso hemos encontrado tres intervalos para efectos de comprensin del lector,
aunque solo era necesario encontrar un intervalo, puesto que slo necesitamos una de
las soluciones.
3. Escogemos uno de los intervalos donde est una de las soluciones.
En este caso vamos a elegir el primer intervalo y con estos valores realizamos el
mismo procedimiento descrito en el ejemplo 8.
F(x) =X3 10.24x2 + 4.83x + 19.42 = 0
F(x)=3x2 - 20.48x + 4.83
K
1
2
3
x1
10,00000
9,56293
9,51863
f x1
43,72000
3,69124
0,03611
TABLA 6.3.4
Fx
100,03000
83,33013
81,70157
fx/f ' x
0,43707
0,04430
0,00044
36
Mtodos Numricos
inicio
N,
I=1,N+
1
A[i]
Z=1,k
Fx=0; p=N
I=1,N+
1
Fx=Fx+A[i].x
P=N-1
F<0.0
01
Xsol=x
fin
si
Fx1=0; n=N
J=1,
N
Fx1=Fx1+n*A[J]x
(n-1)
n=n-1
x=x - (Fx/Fx1)
Mtodos Numricos
37
Mtodos Numricos
38
Mtodos Numricos
39
Mtodos Numricos
40
41
Mtodos Numricos
df=diff(f,'x');
fprintf('la derivada de la funcion es');disp(df)
df1=inline(df);
fprintf('\t\t k\t\t\t x\t\t\t\t fx\t\t\t\t dfx\t\t\t fx/dfx\n')
for k=1:n
fx=f1(xo*pi/180);
dfx=df1(xo*pi/180);
if dfx==0
xo=xo+0.75; %sugerencia del programador
end
dfx=df1(xo*pi/180);
w=(fx/dfx);
if abs(fx)<er,break,end
fprintf('\t\t%2d\t\t%10.4f\t\t%10.4f\t\t%10.4f\t\t%10.4f\n',k,xo,fx,dfx,w)
x1=xo-w;
xo=x1;
end
y=f1(xo);
fprintf('la solucion x es');disp(xo)
fprintf('el valor de la funcion para la solucion es');disp(y)
fplot(f1,[-5 5],'b');
grid
6.4 Mtodo de Birge Vieta .
Este mtodo encuentra todas las soluciones reales que tenga un polinomio, es el
resultado de la combinacin del mtodo de Newton Raphson y la aplicacin de la
divisin sinttica doble (teora de Ruffini para bajar de grado un polinomio con dos
divisiones continuas).
xn1 xn
F ( xn )
F ' ( xn )
(6.5)
Se sugiere como punto de inicio un valor cercano a rmx; aunque, para automatizacin
del mtodo se puede iniciar con cualquier valor.
42
Mtodos Numricos
P
R
Q
D
D
P QD R
P( X ) ( X Xn )Qx R
X Xn
si
P( X ) R
P'( X ) Q( X ) ( X Xn )Q'( X )
x xn
si
Q( X ) R'
P'( X ) Q( X )
P'( X ) R'
-2
7
5
35
-7
200
5
7
40
84
273
12
124
X=7
X=7
X 7
273
124
x 7 2.202 4.798
-2
4.8
5
13.44
-7
88.51
2.8
4.8
18.44
36.44
81.51
X=4.8
X=4.8
7.6
54.92
X 4.8
81.51
54.92
1
X=3.32
-2
1
X=3.32
1.32
3.32
4.64
5
-7
3.32 4.38
9.38 24.14
15.41
24.78
31.15
(6.7)
43
Mtodos Numricos
Se continua con el mismo proceso hasta lograr la solucin, los valores los resumimos
en la siguiente tabla, misma que es factible obtenerla con mayor facilidad
R/R
273
124
2.20
4.8
81.51
54.92
1.48
3.32
24.14
24.78
0.97
2.35
6.68
12.17
0.55
1.8
1.35
7.52
0.18
1.62
0.1
6.38
0.016
1.6
0.02
6.28
0.003
TABLA 6.4.1
44
Mtodos Numricos
i=1,N+1
A(i)
a
a
X (1) 2 2 3
a1
a1
2
K=1
A
no
si
K<soluciones
b(1)=a(1)
c(1)=b(1)
divergencia
i=2,N+1
b(i)=a(i)+b(i-1)*x(k)
J=2,N
c(J)=b(J)+b(J-1)*x(k)
E(k)=b(i) / c(j)
1
1
no
K<0.001
K=K+1
si
X(k)=solucin(N)
X(k)=X(k)-E(k-1)
i=2,N+1
a(i)=b(i)
N=N-1
no
N=1
si
Solucin(1)=-a(2)/a(1)
imprimir soluciones
fin
45
Mtodos Numricos
Sol :
14.
x1 8
x 4 5 1 i
x 2 0.1779
x 3 0.2727
x1 5.0937
x 2 2.8370
x 3 0.0690
x 5x 4x 2 0
x1 3.81
x 2 1.5293
x 3 0.3429
x 2 0.8989
x 3 1.6419
x 4x 5x 7 0
x1 4.74
x 2 x 3x 2 x 1 0
x1 2 0.5 1.732i
3 4
0.5 0.866i
x 2x 7 0
x1 2 1 2.449i
Sol :
22.
x 1
x 8 x 15 x 1 0
Sol :
21.
x2 2
x1 20.5947
Sol :
20.
Sol :
19.
x3 2
2 x 41x 4 x 2 0
Sol :
18.
x1 5
Sol :
17.
x2 4
x 8 x 17 x 8 x 14 x 20 0
Sol :
16.
x 3 4 1.631 0.34i
x 14 x 56 x 64 0
Sol :
15.
x 2 1.2814
x 3x 7 x 5 0
Sol : x 1 x 2 3 1 2i
1
Consulta, investigacin:
1.
2.
3.
46
Mtodos Numricos
CAPITULOIII
APROXIMACIN POLINOMIAL
7. Interpolacin Matemtica
En las aplicaciones en general, es frecuente trabajar con funciones expresadas en
forma tabular, o valores que provienen de un experimento.
Interpolar un valor implica calcular el valor de Y para una valor especfico de X, este
problema es factible resolverlo aplicando mtodos aproximados que permiten calcular
el valor a interpolarse a la vez definir la ecuacin que contiene a todos y cada uno de
los puntos dados.
La interpolacin polinomial se puede expresar por series de potencias, por
interpolacin de Newton y por interpolacin de Lagrange, concentraremos nuestro
estudio en los dos ltimos mtodos.
La aproximacin polinomial tiene gran utilidad cuando los valores reflejados en la
tabla tienen el comportamiento de una funcin desconocida y que en muchas ocasiones
el encontrar la antiderivada de la misma resulta una imposibilidad matemtica.
Y=f(x)
Y=P(x
)
y0
Xo
X1
y1
y2 ..........yn
X2.............Xn
FIG. 7.1
yi
yo
y1
y2
..
...
yn
TABLA 7.1.1
47
Mtodos Numricos
Xi
yi
x0
yo
x1 = x0 + h
y1
x2 = x0 + 2h
y2
x3 = x0 + 3h
y3
x4 = x0 + 4h
.....
.......
y4
..
...
xn = x0 + nh
yn
2y
a0 = y1 yo
b0 = a1 a0
a1 = y2 y1
a2 = y3 y2
a3 = y4 y3
.
.
.
.
a(n-1)=y(n) y(n-1)
b1 = a2 - a1
b2 = a3 a2
.
.
.
b(n-2)=a(n-1) - a(n-2)
TABLA 7.1.2
b0 = a1 a0
y1 = a0 + y0
(1)
y2 = a1 + y1
(2)
a1 = b0 + a0 (3)
(7.1)
y2 = y0 +2a0 + b0
y3 = a2 y2
a2 = a1 + b1
b1 = b0 + c4
y3 = a1 + b1 + a2 + y1
y3 = a1 + b1 + (b0 + a0) + a0 + y0
y3 = (a0 + b0) + b0 + c0 + b0 + a0 + a0 + y0
y3 = yo + 3a0 + 3b0 + c0
.......
........
y4 = yo + 4a0 + 6b0 + 4c0 + d0
(7.2)
3y
c0 = b1 b0
c1 = b2 b1
.
c(n-3)=b(n-2)-b(n-3)
48
Mtodos Numricos
Podemos observar que las diferencias se ven afectadas por los coeficientes del binomio
de Newton, por lo que puede generalizarse con la siguiente frmula:
y k y 0 ka o
k ( k 1)
2
bo
k ( k 1)( k 2)
3
co
k ( k 1)( k 2)( k 3)
4
d o ... ..
x0
xk
xk = x0 +kh
x1 = x0 + h
x k xo
h
(7.3)
k ( k 1) 2
k ( k 1)( k 2) 3
yo
yo
2
3
k ( k 1)( k 2)( k 3) 4
y o ...
4
(7.4)
la funcin representativa
X
2y
3y
0
2
4
6
8
10
1
13
81
253
577
1101
12
68
172
324
524
56
104
152
200
48
48
48
TABLA 7.1.3
Solucin.
observamos que es un polinomio de tercer grado entonces aplicamos las formulas:
xk = 3.2
49
Mtodos Numricos
x0 = 2
h=2
k = (xk x0) / h
k = (3.2 - 2) / 2
k = 0.6
y k 13 0.6 * 68
0.6 * (0.6 1)
0.6 * (0.6 1)(0.6 2)
*104
* 4 44.008
2
6
Para calcular la funcin representativa de una tabla dada podemos utilizar el mismo
mtodo de la forma siguiente
k
x2
2
y 13 (
x2
(
)68
x2
x2
el
)(
1)
(
* 104
x2
2
)(
x2
1)(
x2
2
2)
* 48
y x3 x 2 1
polinomio es
2 4 6
8
10 12
14
16
8 43 158 401 820 1463 2378 3616
Sol. Y = 585.5
1
2
2
5
3
10
Sol. Y = 12.22
Y = 20.803
Y = 46.56
4
17
5
26
x = 6.75
6
37
7
50
50
Mtodos Numricos
TALLER 12: Cdigo para la tabla de diferencias finitas del mtodo de interpolacin
de Newton ARCHIVO: INTERPOLACIONDENEWTON.m
clc
clear
n=input('Ingrese numero de datos');
for i=1:n
fprintf('A(%d,%d)=',i,1);
A(i,1)=input('');
end
%end
for i=1:n
% for j=1:n
fprintf('B(%d,%d)=',i,2);
A(i,2)=input('');
end
k=1;
%for i=1:n
for j=3:n
for i=1:n-k
A(i,j)=A(i+1,j-1)-A(i,j-1);
end
k=k+1;
end
A
%end
%for i=1:n
% for j=1:n
%fprintf('\t%3d\t\t%10.4f\t\t%10.4f\n',i,A,B)
% fprintf('\t\t%10.4f\t\t%10.4f\n',A(i,j))
%end
%end
7.2. Interpolacin de Lagrange ( interpolacin con incrementos variables)
Esto mtodo de interpolacin conocido tambin como interpolacin con incrementos
variables, nos permite: dada una funcin tabular (tabla de valores con incrementos
constantes o variables), interpolar un valor.
y
i 1
(X X
j 1
* yi
(X
j 1
XJ)
donde
ji
(7.5)
51
Mtodos Numricos
x x2 x x3 x x4 ...........x xn
y
x1 x2 x1 x3 x1 x4 .........x1 xn 1
x x1 x x3 x x4 ...........x xn
y
x2 x1 x2 x3 x2 x4 .........x2 xn 2
x x1 x x2 x x4 ...........x xn
y .......
x3 x1 x3 x2 x3 x4 .........x3 xn 3
x x1 x x2 x x3 ...........x xn1
y
xn x1 xn x2 xn x3 .........xn xn1 n
y
(7.6)
X
0
2
4
6
8
10
Y
2
8
62
212
506
992
Solucin:
.
4 04 24 64 84 10
3.2 03.2 23.2 43.2 83.2 10 * 212
6 06 26 46 86 10
3.2 03.2 23.2 43.2 63.2 10 * 506
8 08 28 48 68 10
3.2 03.2 23.2 43.2 63.2 8 * 992 31.568
10 010 210 410 610 8
y
Mtodos Numricos
52
26. Interpolar x =5
X 1 3
4
7
10
12
Y 1.8 51.4 136.2 846.6 2619 4630.6
Sol. Y = 287.02
4
7
10
13
16
151 622 1579 3184 5599
Sol. Y = 2034
53
Mtodos Numricos
inicio
Interpolacin de
Lagrange para
intervalos constantes
y variables
N, X
i=1,N+1
X(i), Y(i)
Y=0
i=1,N
i=N
si
NUM=1
DEN=1
J=1,N
si
J=N
Sugerencia:
co m p le te e l
p ro g ra m a p a ra
q u e i n c lu ya e n
lo s resul tado s el
p o l i n o m i o
re p re s e n ta ti vo
de los datos
tabulados
si
i=J
NUM=NUM*(X-X(J)
DEN=DEN*(X(i)-X(J)
Y Y
NUM
* Y (i )
DEN
Y=solucin
fin
54
Mtodos Numricos
X
0
1
1.5
2
3
La solucin est entre 1 < x < 2 por lo que se trabaja en ese intervalo .
-3
1
Y=0
1.75 1.5
5
( 0 1.75)(0 5)
( 3 1.75)(3 5)
*0
( 0 3)(0 5)
(1.75 3)(1.75 5)
* 1.5
( 0 3)(0 1.75)
(5 3)(5 1.75)
*2
1.25
55
Mtodos Numricos
(x
5)dx
(x
5)dx 205.33
Ahora vamos a ver como de la misma funcin pero expresada en forma tabular,
calculamos el rea aproximada, utilizando rectngulos y trapecios :
14
21
30
FIG. 8.1
Para conocer el rea aproximada bajo la curva , tomamos en cuenta los rectngulos
que se forman entre cada intervalo de par ordenado
Entonces :
A=B*h
A = 1( 6 + 9 + 14 + 21 ) = 50
Esto ocurre porque no estamos tomando en cuenta las pequeas reas casi triangulares
que se forman entre los rectngulos y la grafica de la funcin.
Para solucionar este error no tolerable se recomienda deducir frmulas con el criterio
de trapecios que se acercan ms a la grfica.
56
Mtodos Numricos
La frmula del rea del trapecio nos permite plantear varios mtodos para el clculo
de integrales definidas.
Area
( Basemayor+ Basemenor ) * h
(8.1)
2
9. Mtodos de clculo de integracin numrica.
xo x1 x2 x3 x4 x5 x6
FIG. 9.1
Aplicando la frmula del trapecio, y sumando todos los trapecios indicados en el
grfico se obtiene:
A = h ( Y0 + Y1 ) / 2 + h ( Y1 + Y2 ) / 2 + h ( Y2 + Y3 ) / 2 + ..........(9.1)
Realizando las operaciones correspondientes no queda :
A
h
( y0 y n 2 resto de ordenadas)
2
(9.2)
Una forma sencilla de definir frmulas ms exactas es considerando que una funcin es
expresable como una serie (binomio de Newton) con diferencias finitas:
f ( x ) y 0 ky o
k ( k 1) 2
k ( k 1)( k 2) 3
yo
yo
2
3
k ( k 1)( k 2)( k 3) 4
y o ...
4
(9.3)
x xo
h
x x0 hk
Si x = xo entonces k = 0
Si x = xn = xo + hk entonces k = n
Si derivamos x con respecto a k dx = hdk
(9.4)
57
Mtodos Numricos
xo
xn
xo
n
f ( x ) dx
(y
ky o
k 2
k
yo
2
3k
6
2k 3
y o .....) hdk
n2
n3 n 2 2
n 4 n3 n 2 3
f ( x ) dx h ny
y (
) y (
) y ......
o
o
o
o
2
6
4
24
6
6
(9.5)
FIG. 9.2
n2
f ( x ) dx h nyo 2 yo
xo
x1
x1
f ( x ) dx
xo
h
2
( yo
y1 )
como y y y
o
1
o
(9.5)
58
Mtodos Numricos
x2
xo
n2
n3 n 2 2
f ( x ) dx h ny
y (
) y
o
o
o
2
6
4
como y y y Y
o
1
o
x2
f ( x ) dx
xo
h
3
( yo
2 y y 2 y y
o
2
1
o
4 y1 y 2 )
(9.6)
x3
xo
n2
n3 n 2 2
n 4 n3 n 2 3
f ( x ) dx h ny
y (
) y (
) y
o
o
o
o
2
6
4
24
6
6
como y y y Y
o
1
o
x3
f ( x ) dx
xo
3
8
h( y
2 y y 2 y y
o
2
1
o
3
y o y 3 3 y 2 3 y1 y o
3y 3y y )
1
2
3
(9.7 )
Si en cada uno de los anlisis se considera los trapecios de cero a n, se definen tres
frmulas:
h
( y0 y n 2 resto de ordenadas)
2
(9.8)
Frmula de Simpson del 1/3: Se considera que n debe ser siempre par pues el
anlisis se lo realiz con dos trapecios.
h
( y0 y n 2 ordenadaspares 4 orden.impares)
3
(9.9)
Frmula de Simpson del 3/8: Se considera que n debe ser siempre mltiplo de 3
pues el anlisis se lo realiz con tres trapecios. (9.10)
A
3
8
59
Mtodos Numricos
Ejemplo 15.
Resolver la integral indicada utilizando todas las frmulas y encontrar el error de cada
una de ellas en relacin con la solucin exacta.
8
(x
5)dx
Sol 205.33
Y
6
9
14
21
30
41
54
69
Sol
6 69 2 * (9 14 21 30 41 54) 206.5
Y
6
8.516
12.56
18.14
25.25
33.89
44.06
55.77
69
Sol
Sol 205.33
Y
6
8.16
11.53
16.16
21.91
28.91
37.13
46.6
57.13
69
Sol
* 0.778
8
Sol 205.48
60
Mtodos Numricos
Conclusin del ejercicio: se puede observar que las dos frmulas de Simpson presentan
el menor error, en igual forma, el resultado es ms cercano al real mientras ms
intervalos existan.
Error con el trapecio:
0.6%
Error con Simpson 1/3:
0%
Error con Simpson 3/8: 0.1%
i ni ci o
N, K
Integraci n numr ic a por
di v er sos mtodos
i =0,N -1
X( i ), Y( i)
h=X( 2) -X(1)
si
Tr apec ios
si
s=0
si mpson 1/3
i =1,N -1
N es
par
si
S=S+y( i)
no es
apl ic able
N es
mlti pl o de 3
si
SP=0,
SIP=0
A(
Y (o) Y ( N )
i =2,N -2,2
no es
apl ic able
SP=SP+y (i )
i =1,N -1,2
SIP=SIP+y( i)
(Y (o) Y ( N ) 2 * S P 4 * S IP)
S) * h
61
Mtodos Numricos
1
SP=0,
SIP=0
i=1,N -1
i es
mltiplo de 3
SIP=SIP+y (i
)
si
SP=SP+y( i)
2
imprimir res ultados
fin
TALLER 13: Cdigo para integracin numrica por el mtodo del trapecio
ARCHIVO: integracin1.m
clc
clear
f=input('ingrese la funcion : ','s');
x1=input('ingrese el valor inicial de x : ');
x2=input('ingrese el valor final de x : ');
n=input('ingrese pares ordenados: ');
x11=x1;
h=(x2-x1)/n;
f1=inline(f);
yo=f1(x1);
yn=f1(x2);
integral=int(f,'x')
fprintf('\t\t k\t\t x1\t\t\t fx\t\t \n')
area=0;
for k=1:n-1
x1=x1+h;
fx=f1(x1);
area=area+fx;
end
for k=0:n
fx=f1(x11);
x11=x11+h;
fprintf('\t\t%3d\t\t%4.2f\t\t%4.2f\t\n',k,x11,fx)
end
Mtodos Numricos
62
x=-5:0.01:5;
fplot(f1,[-5 5],'b');
grid
integral=(yo+yn+2*area)*h/2;
fprintf('el valor de la integral es' ),disp(integral)
ACTIVIDADES PARA EL TALLER 13:
Desarrollar el programa para el mtodo de integracin de Simpson 1/3, se recomienda
usar if mod(k,2)==0 que permite identificar los nmeros pares.
Desarrollar el programa para el mtodo de integracin de Simpson 3/8, se recomienda
usar if mod(k,3)==0 que permite identificar los nmeros mltiplos de 3.
Desarrollar el programa para el mtodo de integracin de Simpson 3/8, que permita
resolver funciones trigonomtricas.
TALLER 14: Cdigo para integracin numrica por el mtodo de Simpson 1/3
ARCHIVO: integracin13.m
clc
clear
f=input('ingrese la funcion : ','s');
x1=input('ingrese el valor inicial de x : ');
x2=input('ingrese el valor final de x : ');
n=input('ingrese pares ordenados: ');
if mod(n,2);
n=n+1;
end
x11=x1;
h=(x2-x1)/n;
f1=inline(f);
integral=int(f,'x')
fprintf('\t\t k\t\t x1\t\t\t fx\t\t \n')
for k=0:n
fx=f1(x11);
fprintf('\t\t%3d\t\t%4.2f\t\t%4.2f\t\n',k,x11,fx)
x11=x11+h;
end
yo=f1(x1);
yn=f1(x2);
area=0;
area1=0;
for k=1:n-1
x1=x1+h;
fx=f1(x1);
if mod(k,2) == 0
area1=area1+fx;
else
area=area+fx;
end
end
Mtodos Numricos
63
x=-5:0.01:5;
fplot(f1,[-5 5],'b');
grid
integral=(yo+yn+2*area1+4*area)*h/3;
fprintf('el valor de la integral es' ),disp(integral)
TALLER 15: Cdigo para integracin numrica por el mtodo de Simpson 3/8
ARCHIVO: integracin38.m
clc
clear
f=input('ingrese la funcion : ','s');
x1=input('ingrese el valor inicial de x : ');
x2=input('ingrese el valor final de x : ');
n=input('ingrese pares ordenados: ');
if mod(n,3)
fprintf('el valor de n debe ser multiplo de 3, rectifique\n\n')
n=input('ingrese pares ordenados: ');
else
n=n;
end
x11=x1;
h=(x2-x1)/n;
f1=inline(f);
fprintf('\t\t k\t\t x1\t\t\t fx\t\t \n')
for k=0:n
fx=f1(x11);
fprintf('\t\t%3d\t\t%4.2f\t\t%4.2f\t\n',k,x11,fx)
x11=x11+h;
end
yo=f1(x1);
yn=f1(x2);
integral=int(f,'x')
area=0;
area1=0;
for k=1:n-1
x1=x1+h;
fx=f1(x1);
if mod(k,3) == 0
area1=area1+fx;
else
area=area+fx;
end
Mtodos Numricos
64
end
x=-5:0.01:5;
fplot(f1,[-5 5],'b');
grid
integral=(yo+yn+2*area1+3*area)*3*h/8;
fprintf('el valor de la integral es' ),disp(integral)
ACTIVIDAD PARA EL TALLER 15:
Observe que si ingresa para n un nmero que no sea mltiplo de 3, el programa se
ejecuta, pero no cumple con la condicin del mtodo en el sentido de que funcione para
un valor n mltiplo de 3; rectifique el cdigo para que cumpla dicho requisito.
TALLER 16: Cdigo para integracin numrica por el mtodo de Simpson 3/8 para
funciones trigonomtricas ARCHIVO: integracin38contrigonometricas.m
clc
clear
f=input('ingrese la funcion : ','s');
x1=input('ingrese el valor inicial de x : ');
x2=input('ingrese el valor final de x : ');
n=input('ingrese pares ordenados: ');
if mod(n,3)
fprintf('el valor de n debe ser multiplo de 3, rectifique\n\n')
n=input('ingrese pares ordenados: ');
else
n=n;
end
x11=x1;
h=(x2-x1)/n;
f1=inline(f);
fprintf('\t\t k\t\t x1\t\t\t fx\t\t \n')
for k=0:n
fx=f1(x11*pi/180);
fprintf('\t\t%3d\t\t%4.4f\t\t%4.4f\t\n',k,x11,fx)
x11=x11+h;
end
yo=f1(x1*pi/180);
yn=f1(x2*pi/180);
%integral=int(f,'x')
area=0;
area1=0;
for k=1:n-1
x1=x1+h;
fx=f1(x1*pi/180);
if mod(k,3) == 0
area1=area1+fx;
65
Mtodos Numricos
else
area=area+fx;
end
end
x=-10:0.01:10;
fplot(f1,[-10 10],'b');
grid
integral=(yo+yn+2*area1+3*area)*3*h*(pi/180)/8;
fprintf('el valor de la integral es' ),disp(integral)
ACTIVIDAD PARA EL TALLER 16:
Observe que si ingresa para n un nmero que no sea mltiplo de 3, el programa se ejecuta, pero no
cumple con la condicin del mtodo en el sentido de que funcione para un valor n mltiplo de 3;
rectifique el cdigo para que cumpla dicho requisito.
28.
2.67
(x
2 x 1)dx
Sol : 0.7762
2 1
10
29.
(x
3x 2)dx
Sol 292.5
3x 2 5 x 6)dx
5
20
30.
(x
Sol 32880
0
2
31.
2 (4 x x 2 ) 1 (4 2 x) 2 dx
Sol 5.4088
1.79
7
32.
cos x
1
1 sen 2 x dx
Sol 0.1047
Mtodos Numricos
66
CAPITULO IV
APROXIMACIN FUNCIONAL (AJUSTE DE CURVAS)
Permite encontrar la ecuacin de la curva que aunque no pase por todos los puntos de
una tabla de datos, tenga variaciones cercanas.La aproximacin se basa en el mtodo
de los mnimos cuadrados. La aproximacin puede emplearse en muchos casos
prcticos, como por ejemplo en el tratamiento de resultados de observacin, ya que ella
compensa las incorrecciones locales aisladas de la funcin f(x) (por ejemplo errores
producidos en la observacin) y tambin proporciona una representacin lo
suficientemente exacta en el transcurso del proceso correspondiente. la aproximacin
funcional permite definir una funcin que est cercana a una tabla de datos.
Para definir el grado del polinomio al que se desea ajustar el conjunto de puntos se
puede optar por construir el cuadro de diferencias finitas, pero, es ms recomendable
graficar los puntos y observar que tipo de curvatura es para escoger el correspondiente
grado, tambin es recomendable que en lo posible se relacione a los puntos con una
ecuacin de grado tres como mximo (aceptar este criterio como una recomendacin,
puesto que con el uso de computadoras al facilitar los clculos, la ecuacin puede
relacionarse con un polinomio de n grado).
Aproximacin polinomial
Aproximacin funcional
FIG. 9.3
Se trata de obtener los coeficientes de la funcin:
67
Mtodos Numricos
y f ( x) ao a1 x a2 x 2 a3 x 3 .... am x m
(9.11)
Luego del proceso matemtico basado en los residuos o faltantes localizado entre el
punto Y conocido y el punto de la funcin a calcularse, se obtiene el siguiente sistema
de ecuaciones:
Na0 a1 x a2 x 2 ....am m y
a0 x a1 x 2 a2 x 3 .....am m 1 xy
a0 x 2 a1 x 3 a3 x 4 .....an1 n 2 x 2 y
......................................
(9.12)
.........................................
a0 x m 1 a1 x m 1 ....am m n 1 x m 1y
Ejemplo 16.
Encontrar la ecuacin de la curva que mejor se ajuste a la tabla de valores (ejercicio
x
1
2
3
4
5
6
7
y
4
7
9
10
9
7
4
FIG. 9.4
68
Mtodos Numricos
Solucin:
Para encontrar la funcin que mejor represente a la tabla de valores dada debemos
saber el grado de la funcin, para ello procedemos a graficar los valores de la tabla.
Como se puede observar, los datos obtenidos representar a una ecuacin de segundo
grado, entonces para encontrar la solucin formaremos tres ecuaciones:
Nao a1 x a2 x 2 y
ao x a1 x 2 a2 x 3 xy
(9.13)
a0 x a1 x a2 x x y
2
x
1
2
3
4
5
6
7
28
y
4
7
9
10
9
7
4
50
x
1
4
9
16
25
36
49
140
x3
x4
xy
1
1
4
8
16
14
27
81
27
64
256
40
125 625
45
216 1296 42
343 2401 28
784 4676 200
xy
4
28
81
160
225
252
196
946
TABLA 9.4
0.57421
a 5.14286 a
1
0.64285
69
Mtodos Numricos
ejemplo 17.
x
1
2
3
4
5
6
7
8
Nao a1 x a2 x 2 a3 x 3 y
y
1
7
25
61
121
211
337
505
ao x a1 x 2 a2 x 3 a3 x 4 xy
a0 x 2 a1 x 3 a2 x 4 a3 x 5 x 2 y
a0x3 a1x4 a2x5 a3x6 x3y
x
y
1
1
2
7
3
25
4
61
5 121
6 211
7 337
8 505
36 1268
x
x
1
1
4
8
9
27
16
64
25 125
36 216
49 343
64 512
204 1296
x4
1
16
81
256
625
1296
2401
4096
8772
x5
x6
xy
xy
1
1
1
1
32
64
14
28
243
729
75
225
1024
4096
244
976
3125 15625 605 3025
7776 46656 1266 7596
16807 117649 2359 16513
32708 262144 4040 32320
61716 446964 8604 60684
xy
1
56
675
3904
12125
45576
115591
258560
436488
a1 0.99 a2 0
a3 1
aproximadamente se tiene :
f(x) = x - x + 1
70
Mtodos Numricos
1 x1
x12
x13
1 x2
x 22
x 23
x 2m
1 x3
x32
x33
x3m
x1m
2
n
3
n
1 xn
x nm
X=
x0
1
1
1
1
1
1
1
x1
1
2
3
4
5
6
7
x2
1
4
9
16
25
36
49
1
1
1
1
2
4
1
3
9
Y=
1
4
16
4
7
9
10
9
7
4
1
5
25
7
28
28 140
140 784
V=X *Y
50
200
946
1
6
36
1
7
49
140
784
4676
y1
y
2
y3
(10.1)
y
n
71
Mtodos Numricos
Resolvemos el siguiente sistema y los resultados son los mismos que el ejercicio 16
a0
a1
a2
7
28
28 140
140 784
0.57421
140
784
4676
50
200
946
a 5.14286 a
1
0.64285
inicio
Apr oximacin
funcional
N, G
(G= grado
escogido
para el polinomio
i=1,N
X(i), Y(i)
J=0,G
i=1,N
i=1,N
y( i,1) =y( i )
i=1,N
J=1,G+1
XT(J,i) =X(i,J)
72
Mtodos Numricos
1
k=N
i= 1,G+ 1
J= 1,N
Z(i ,J)= 0
L= 1,K
Z(L,J) =Z( i,J) + XT( i,L) *X( L,J)
k=N
i= 1,G+ 1
J= 1,1
W( i,J) =0
L= 1,K
W( L,J) = W(i ,J)+ XT(i ,L)*Y(L,J)
RESUEL VA EL
SISTEMA DE
ECUACI O NES
Z = W
i= 1,G+ 1
a(i)
fi n
TALLER
18:
Cdigo
APROXIMACIONfuncional.m
para
clc
clear
n=input('Ingrese numero de datos: ');
for i=1:n
fprintf('X(%d)=',i);
x(i)=input('');
%A(i,1)=input('');
A(i,1)=x(i);
end
for i=1:n
fprintf('Y(%d)=',i);
%A(i,2)=input('');
y(i)=input('');
A(i,2)=y(i);
end
spline(x,y);
plot(x,y)
aproximacin
funcional
ARCHIVO:
73
Mtodos Numricos
grid
g=input('Ingrese grado: ');
e=0;
for i=1:g+1
for j=1:n
if A(j,1)==0
B(j,i)=0;
end
B(j,i)=A(j,1)^e;
end
e=e+1;
end
B
for i=1:n
C(i,1)=A(i,2);
end
C
U=B' * B;
V=B' * C;
U
V
S=inv(U)*V;
S
0
2
Solucin :
34.
X
Y
0
2
Solucin :
35.
X
Y
0
3
Solucin :
1
4
2
3
3
6
4
5
5
7
6
9
7
8
1
4
3
6
4
9
7
11
9
14
1
6
2
9
3
15
4
18
5
21
6
25
74
Mtodos Numricos
36.
X
Y
0
-1
1
0
3
20
4
99
5
304
y x 4 3x 3 2 x 2 x 1
Solucin :
37.
X
Y
2
1
1
3
2
19
3
53
4
111
5
304
7
323
Solucin :
38
y ' 0.5(5 x) y 2
39
y ' ( x 3x 5 x 1)
40
y ' (3x 5 x 1) * y
41
y ' ( x 3 3x 2 5 x 1) * y 2
42.
y ' (3x 2 5 x 1) y 2
x 0, y 1, h 0.1
x 1, y 2, h 1
x 0, y 1, h 0.5
x 0, y 2, h 0.2
x 0, y 1, h 0.1
75
Mtodos Numricos
CAPTULO V
Un problema de valores iniciales est gobernado por una ecuacin diferencial de orden
n y un conjunto de n condiciones independientes (x, y, y, y, y, ...) todas ellas vlidas
para el mismo punto inicial.
y
F(x,y)=0
G(x,y)
X1 X2 X3 ....... X
Condiciones iniciales
X=a
X=b
condiciones de frontera
FIG. 10.1
En este capitulo nos centraremos en tres mtodos para poder resolver las ecuaciones
diferenciales ordinarias, estas son:
Con Integracin.
76
Mtodos Numricos
Para resolver utilizando ste mtodo, debemos separar las variables independientes de
las dependientes en la ecuacin original.
77
Mtodos Numricos
(12.1)
1 x2 x
C
y
4 2
1 x 2 2x C
y
4
4
y 2
x 2x C
integracin.
Reemplazando x = 0 ; y = 1 en la solucin, se obtiene C = -4.
Por tanto la solucin particular es:
4
4 2x x 2
f(1)
=0
f (x) = 1/x
f (x) = -1/x2
f (1) = -1
f (x) = 2/x3
f (1) = 2
(1)
=1
78
Mtodos Numricos
1
1
ln( x) x 1 ( x 1) 2 ( x 1) 3 ...........
2
3
Una vez que nos hemos familiarizado con la serie de Taylor, apliquemos estos criterios
a la solucin de ecuaciones diferenciales ordinarias; con la siguiente formula:
y y0
( x x0 )
( x x0 ) 2
( x x0 ) 3
y'0
y' '0
y' ' ' 0 ........(12.2)
1!
2!
3!
Ejemplo 20
Resolver la siguiente ecuacin diferencial ordinaria, utilizando la serie de Taylor.
y = ( 1 + x ) y2 ; y(0) = 1
x=0
y=1
y = (1+x)y2 =
y = y2 + (1+x)yy = 1
y = yy + yy + (1+x)(y)2 + (1+x)yy = 9/4
12.3. Solucin por el mtodo de Runge Kutta.- El mtodo sugiere que mediante
procesos iteractivos, se encuentre la solucin de una ecuacin diferencial ordinaria,
expresada en forma tabular. La base terica del mtodo es el de aproximaciones
sucesivas; y, luego del correspondiente anlisis se obtienen las siguientes formulas.
79
Mtodos Numricos
y (0) t y (0) i
h
( k1 2 k 2 2 k 3 k 4 )
6
k1 f ( x , y )
kh
h
k2 f (x , y 1 )
2
2
k h
h
k3 f ( x , y 2 )
2
2
k 4 f ( x h, y k 3 h)
(12.3)
Se debe tomar en cuenta que este proceso se lo puede hacer varias veces sin considerar
ningn valor lmite.
Ejemplo 21.
Resolver la siguiente ecuacin diferencial ordinaria, utilizando el mtodo de Runge
Kutta.
y = ( 1 + x ) y2 ; y(0) = 1
para x 0
k1
k2
k3
k3
(1 0 )(1)
y 1
2
0.5
1 (0
0.1
0.1 * 0.5
) 1
2
2
1 (0
0.1
0.1 * 0.5516
) 1
2
2
0.5516
0.1
6
0.5544
0.6127
80
Mtodos Numricos
f ( 0.1) 1.0554
f ( 0.15) 1.086
f ( 0.15,1.0893)
f ( 0.2,1.1236 )
y 1.05541
0.1
k1
1
k2
k3
(1 0.1)(1.0554)
0.6126
2
2
0.6782
0.6823
(1 0.15)(1.086 )
(1 0.15)(1.0893)
2
1
k4
(1 0.2 )(1.1236 )
0.7575
x
0
0,1
0,2
0,3
0,4
0,5
y
1,0000
1,0554
1,1236
1,2085
1,3158
1,4545
k1
0,5000
0,6126
0,7575
0,9492
1,2119
1,5868
k2
0,5516
0,6782
0,8431
1,0647
1,3735
1,8234
k3
0,5544
0,6823
0,8494
1,0745
1,3896
1,8517
k4
0,6127
0,7575
0,9494
1,2121
1,5872
2,1509
TABLA 12.3.1
X
0
0,1
0,2
0,3
0,4
0,5
Integracin Taylor
Y
Y
1,0000
1,0000
1,0554
1,1375
1,1236
1,2750
1,2085
1,4125
1,3158
1,5500
1,4545
1,6875
TABLA 12.3.2
Runge k.
Y
1,0000
1,0554
1,1236
1,2085
1,3185
1,4545
81
Mtodos Numricos
inicio
Solucin de la ecuacin
diferencial
y ' = 0.5(1+X)Y2
para X=0 , Y=1
por el mtodo de Runge
Kutta
X,Y
i=1,5
x(i,1)=X , y(i,2)=Y ,
h=0.1
K1(i,3)=0.5*{1+X(i,1)}*Y(i,2)2
K2(i,4)=0.5*{1+X(i,1)+0.5h}*{Y(i,2)+K1(i,3)*0.5h}2
K3(i,5)=0.5*{1+X(i,1)+0.5h}*Y(i,2)+K2(i,4)*0.5h}2
K4(i,6)=0.5*{1+X(i,1)}*{Y(i,2)+K3(i,5)*h}2
X=X(i,1)+h
Y=Y(i,2)+(h/
6)*{K1(i,3)+2K2(i,4)+2K(i,5)+K(i,6)
i=1,5
fin
El mto do d e Ru ng e Kutta po r s us
c a r ac te rs ti ca s e s a pl i ca bl e a
p ro bl e mas e sp ec fi c os , p or l o q ue n o
p ermi te g en era li zar u n pro ce so de
a utom ati za ci n , p or e sto s e su gi ere
u ti l i za r u na h oj a el e ctrn ic o pa ra su
s ol uc i n po r l a fa ci l i da d qu e e sta
p re se nta
TALLER 19: Cdigo para el mtodo de Runge Kutta para una sola funcin
ARCHIVO:rungekuttasimple.m
clc
clear
f=input('ingrese la funcion : ','s');
%g=input('ingrese la funcion : ','s');
x1=input('ingrese el valor de x : ');
y1=input('ingrese el valor y : ');
h=input('ingrese el valor de h : ');
n=input('ingrese pares ordenados: ');
Mtodos Numricos
82
f1=inline(f);
%g1=inline(g);
fprintf('\t\t\t x\t\t\t\t y\t\t\t\t k1\t\t\t\t k2\t\t\t\t k3\t\t\t k4\t\t \n')
for k=1:n
k1=f1(x1);
x2=x1+h/2;
y2=y1+k1*h/2;
k2=f1(x2);
x3=x1+h/2;
y3=y1+k2*h/2;
k3=f1(x3);
x4=x1+h;
y4=y1+k3*h;
k4=f1(x4);
fprintf('\t\t%9.4f\t\t%9.4f\t\t%9.4f\t\t%9.4f\t\t%9.4f\t\t%9.4f\t\n',x1,y1,k1,k2,k3,k4)
x1=x1+h;
y1=y1+h*(k1+2*k2+2*k3+k4)/6;
end
83
Mtodos Numricos
Consultas e investigacin:
1. Resolver tres ejercicios de integracin cada uno con los
diferentes
mtodos
involucrando
en
estos
ejercicios
EJERCICIO UNIFICADO
CODIFICACIONES
La matriz triangular superior
La multiplicacin de dos matrices
Intercambio de filas de una matriz
La matriz triangular inferior
la multiplicacin de una matriz por un escalar
La transpuesta de una matriz
Generacin de un tabla de datos X/Y de un polinomio
clculo los coeficientes de la segunda derivada de un polinomio.
Definicin de la concavidad del intervalo de un polinomio
Mtodos Numricos
84