Vous êtes sur la page 1sur 84

METODOS

NUMERICOS
Texto guía de aprendizaje para estudiantes de Ingeniería

Autor:
Washington Medina G *
OCTUBRE 2013

*Ingeniero Civil
*Master en Docencia Universitaria e investigación educativa
*Master en Tecnología de la Información y Multimedia Educativa
CAPITULO I. Teoría del error y sistemas de ecuaciones lineales

1. Errores por apreciación........................................................................ 2


2.Errores por obtención de resultados..................................................... 2
3. Solución de sistemas de ecuaciones lineales....................................... 3
4. Método de solución de Gauss............................................................. 5
CAPITULO II. Solución numérica de ecuaciones no lineales.
5. Ecuaciones polinómicas.........................................................................8
6. Métodos de solución de ecuaciones.................................................... 8
6.1. Método de investigación................................................................8
6.2. Método de interpolación...............................................................11
6.3. Método de Newton Raphson.......................................................15
6.4. Método de Birge Vieta.................................................................20
CAPITULO III. Aproximación Polinomial
7. Interpolación matemática.....................................................................23
7.1. Interpolación de Newton..............................................................23
7.2. Interpolación de Lagrange...........................................................26
7.4. Interpolación inversa....................................................................27
8. Integración Numérica...........................................................................28
9. Métodos cálculo de integración numérica............................................30
9.1. Fórmula del trapecio....................................................................32
9.2. Fórmula de Simpson del 1/3........................................................32
9.3. Fórmula de Simpson del 3/8........................................................32
CAPITULO IV. Aproximación funcional (ajuste de curvas).....................34
10. Sugerencia de creación del sistema.. ..........................................37
CAPITULO V. Ecuaciones Diferenciales Ordinarias................................39
11. Solución numérica de una E.D.O.................................................39
12. Métodos de solución de EDO con valores iniciales......................40
12.1. Solución por integración..................................................40
12.2. Solución por serie de Taylor............................................41
12.3. Solución por el método de Runge Kutta...........................42
CAPITULO VI. Ejercicios generales...........................................................45
CAPITULO VII. Diagramas de flujo............................................................49
BIBLIOGRAFÍA............................................................................................60
ANEXOS.......................................................................................................61
Métodos Numèricos 1 Ing. Washington Medina MSc

METODOS NUMERICOS

Introducción.

Las matemáticas, 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 cálculo implica y el riesgo de cometer errores en el proceso
numérico.

Considerando que los métodos numéricos son técnicas mediante las cuales es posible
formular problemas de tal forma que puedan resolverse usando operaciones. Aunque
hay muchos tipos de métodos numéricos, todos comparten una característica común:
llevan a cabo un buen número de tediosos cálculos aritméticos. Es por ello que la
computación es una herramienta que nos facilita el uso y desarrollo de ellos.

Los métodos numéricos, al ser material de apoyo en las diferentes profesiones,


específicamente en las carreras técnicas, deben volverse en el estudiante y futuro
profesional una herramienta de uso diario en sus diferentes aplicaciones, y hoy con
mucho más razón, cuando las exigencias buscan soluciones inmediatas a los diversos
problemas.
Ya lo menciona Nakamura: “La importancia de los métodos numéricos ha aumentado
de forma drástica en la enseñanza de la ingeniería y la ciencia, lo cual refleja el uso
actual y sin precedentes de las computadoras. Al aprender los métodos numéricos,
nos volvemos aptos para:
1. Entender esquemas numéricos a fin de resolver problemas matemáticos, de
ingeniería y científicos en una computadora;
2. Deducir esquemas numéricos básicos;
3. Escribir programas y resolverlos en una computadora, y,
4. Usar correctamente el software existente para dichos métodos.

El aprendizaje de los métodos numéricos no solo aumenta nuestra habilidad para el


uso de las computadoras, también amplía la pericia matemática y la comprensión de
los principios científicos básicos.” (Nakamura, 1993)
Métodos Numèricos 2 Ing. Washington Medina MSc

CAPITULO I
Teoría del error y Sistemas de ecuaciones lineales
Siempre que se desea dar solución a un problema matemático, se utilizan ciertos
métodos 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 apreciación
2. Errores por obtención de resultados

1. Errores por apreciación

Estos se presentan en la toma de datos o en los cálculos, ya sea por defectos de


máquina o por apreciación de valores, siendo estos

Errores inherentes: Estos se deben a la lectura, mediciones, toma de cifras


significativas que no se las puede evitar, es decir errores de carácter
humano o defectos de equipo.

Errores por redondeo Obedecen a un criterio matemático en el uso de


cifras significativas.

Errores por truncamiento Se presentan especialmente en una serie infinita,


la cual es suspendida o truncada con fines de obtener el resultado, este
truncamiento provoca un error en el resultado final.

2. Errores por obtención de resultados

Se presentan cuando al obtener un resultado, este está muy aproximado a la solución


real, se clasifican en

Errores absolutos Es el valor resultante de restar el valor verdadero con el


valor aproximado.

Ea  x  x (2.1)
Métodos Numèricos 3 Ing. Washington Medina MSc

Error relativo Representa el tanto por uno y se lo obtiene dividiendo el


error absoluto para el valor real o aproximado

a a
r    (2.2)
x x

3. Solución de sistemas de ecuaciones lineales

La solución de sistemas de ecuaciones se facilita si a estos sistemas los expresamos en


forma matricial y los resolvemos sobre la base del cálculo de matrices equivalentes
por medio del uso de las reglas de transformaciones elementales de fila.
La expresión matricial del sistema es Ax = b
Donde
A es la matriz de coeficientes,
b es el vector de términos independientes, y,
x es el vector solución.

Método de sustitución regresiva


Los métodos directos para la resolución de ecuaciones se basan en la obtención de un
sistema triangular superior, cuya resolución es más sencilla. Decimos que una matriz
es triangular superior cuando aij = 0 siendo i > j.

(3.1)
Métodos Numèricos 4 Ing. Washington Medina MSc

De la última ecuación del sistema equivalente obtenido, podemos despejar xn siempre


que se cumpla que ann  0. Una vez obtenido xn, podemos sustituirlo en la ecuación
inmediatamente superior para obtener x (n-1) y así sucesivamente hasta resolver el
sistema completo.

Concluyendo, las fórmulas para la sustitución inversa ó sustitución regresiva son:


n

b
bk  a ki xi
xn  n xk  i  k 1
(3.3)
a nn a kk

para k = n - 1, n - 2,......... , 1

Podemos ver que los sistemas triangulares son fáciles de tratar, por lo que se
recomienda buscar métodos para reducir cualquier sistema a un sistema triangular
(superior o inferior).

Ejemplo 1 Resolver el siguiente sistema triangular superior:

Las matrices de coeficientes y de términos independientes son:


Métodos Numèricos 5 Ing. Washington Medina MSc

El primer paso es obtener el valor de X3 . Se obtiene directamente de la última fila de la


matriz:

A continuación, comienza el bucle desde la fila k = 2 hasta la fila k = 1 sustituyendo las


demás variables, de lo que se obtiene los resultados:
x = 1, y = 1, z = 1.

4. Método de eliminación de Gauss

Se lo conoce también como método de eliminación gaussiana, y consiste en formar la


matriz ampliada con los coeficientes y los términos independientes, transformar luego a
matriz triangular superior de preferencia y por eliminación calculamos las incógnitas,
recomendando tomar en cuenta las siguientes observaciones:

1. El primer coeficiente a11 debe ser diferente de cero.


2. multiplicación de una ecuación por una constante  0.
3. suma de un múltiplo de una ecuación a otra ecuación.
4. intercambio de ecuaciones.
5. Se obtendrá una matriz triangular superior, cuyos elementos de la diagonal deben
ser de preferencia iguales a UNO (1).

La idea general como se explicó anteriormente es hacer cero todos los elementos que
se encuentren debajo de la diagonal principal.

El algoritmo va recorriendo cada una de las filas de la matriz de coeficientes. Para


cada fila k, modifica todas las filas que están por debajo de manera que se obtengan
ceros en la columna k. El resto de los elementos de la fila (del elemento k + 1 hasta el
final) se verán afectados en el proceso de aplicación del siguiente algoritmo:
Métodos Numèricos 6 Ing. Washington Medina MSc

1. se divide a todos los coeficientes de la primera fila para el coeficiente a 11.


2. Se definen como multiplicadores a cada uno de los elementos bajo la diagonal que
serán transformados a ceros utilizando la siguiente fórmula:

aij = aij - D*aij

actual = anterior - multiplicador*referencia


tomando como ejemplo el hecho de que se va a modificar la segunda fila, los términos
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 número 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

Sea el sistema de ecuaciones indicado, transformarlo a un sistema triangular superior


por el método de eliminación de Gauss y resolver el sistema:
3x + y + 4z = 2
x + 2y + 3z = 6
2x + y + 5z = 4

1. Expresamos el sistema en forma matricial

3 1 4 2
1 2 3 6
2 1 5 4
Métodos Numèricos 7 Ing. Washington Medina MSc

2. Realizamos las siguientes iteracciones

k i J
1 1 1 a11 a12 1 a13 4 a 2
a a11  a  1 a12  a  3 a13  a  3 a14  14 
a11 3
11 11 11
4
Multiplicador = a21 = 1
2 1 a 21  a 21  a 21 * a11  0 5
a 23  a 23  a 21 * a13 
5 3
a a 22  a 22  a 21 * a12  16
3
a 24  a 24  a 21 * a14 
3
4
Multiplicador = a31 = 2
3 1 a31  a31  a31 * a11  0 7
a33  a33  a31 * a13 
1 3
a a32  a32  a31 * a12  8
3
a34  a34  a31 * a14 
3
4

k i J
2 2 2 a 22 a 23 a 24 16
a a 22  a  1 a 23  a  1 a 24  
a 22 3
22 22
4
Multiplicador = a32 = 1/3
3 2 a32  a32  a32 * a 22  0 8
a a  a  a *a  2 a34  a34  a32 * a 24 
5
33 33 32 23

k i J
3 3 3 a33 a34 8
a a 33  1 a34  
a33 a33 10
4

Luego de este proceso, la matriz triangular superior será:

1 1/3 4/3 2/3


0 1 1 16/5
0 0 1 8/10
Métodos Numèricos 8 Ing. Washington Medina MSc

Una vez obtenida la matriz triangular superior, se realiza un proceso regresivo para
calcular las soluciones, aplicando las siguientes fórmulas tomando en cuenta que el k
de inicio es: k = n y que la variable b corresponde a los términos independientes:

b
bk  a ki xi
xn  n xk  i  k 1

a nn a kk

La solución es:

x1 = 0.8
X2 = 2.4
X3 = -1.2

Ejercicios:

Construir las matrices correspondientes y resolver los siguientes ejercicios:

 Realizar 2 ejercicios básicos 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
incógnitas
Sistema de 4 ecuaciones con 4
incógnitas
Métodos Numèricos 9 Ing. Washington Medina MSc

Diagrama de flujo para el cálculo del determinante de una matriz de N*N

inicio

M=N

i =1,N

J = 1, N

A[i,J]

i =1,N

C(i,i) = A (i,i)

J = i, N

A(i,j)= A(i,j)/ A(i,i)

no si
a i=N b

a b

k=i+ 1 DD = 1

L=k ,N i= 1,N

D = A(L, i) J = i, M

J = i, M
DD = DD*C(i,i)

A(L,J) = A(L,J) –D*A(i,J)

Imprimir
DD
Métodos Numèricos 10 Ing. Washington Medina MSc

Diagrama de flujo para la solución de sistemas de ecuaciones lineales de N*N

inicio El diagrama planteado


incluye el análisis para
definir si existe o no
solución de un sistema
de ecuaciones, por lo
N que se recomienda
incluir en un programa
final el cálculo del
determinante,
M = N+1 recordando que cuando
el determinante es
diferente de cero el
I=1,N sistema tiene solució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

DD = 1
k=i+1

L=k ,N i= 1,N

D = A(L, i )
J = i, N
J = i, M

DD = DD*C(i,i)
A(L,J) = A(L,J) –D*A(i,J)

BB
Métodos Numèricos 11 Ing. Washington Medina MSc

BB

BB
NO SI
DD=0

X(N)=A(N,M)/A(N,N)
El sistema no tiene
solución o puede tener
i= N-1, infinito número de
soluciones
S(i) = 0

J = i+1, N

C(J) = X(J)*A(i,J)
S(i) = s(i) + c(J)

X(i) ={ A(iM) – s(i) } / A(ii)

i= 1, N

x(i)

Código en Matlab para el cálculo de sistemas de ecuaciones lineales:

% Calculo de un sistema de ecuaciones

clc
clear
n=input('ingrese número de ecuaciones');
for i=1:n
for j=1:n
fprintf('A(%d,%d)=',i,j);
A(i,j)=input('');
end
end
A
for i=1:n
fprintf('B(%d,%d)=',i,1);
B(i,1)=input('');
end
end
B
C=inv(A);
D=C*B;
for i=1:n
fprintf('X(%d)=',i);D(i)
end
Métodos Numèricos 12 Ing. Washington Medina MSc

TALLER 1: Aplicación en matlab a cálculos matriciales

>> A =[1 2 3 ; 4 2 1 ; 4 3 1]

A=
1 2 3
4 2 1
4 3 1

>> B = [1 5 2]' % ingreso de una matriz y cálculo de su transpuesta

B=

1
5
2

>> B = [1 ; 5 ; 2] % Ingreso de una matriz de 3*1

B=

1
5
2

>> C = det(A) % Calculo del determinante de la matriz 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 % solución de un sistema de ecuaciones con aplicación de la inversa

S=
2.3636
-3.0000
1.5455

ACTIVIDADES DE REPASO DEL TALLER 1: Codificar el proceso para:

Suma de matrices
Resta de matrices
Multiplicación de matrices
Transpuesta de una matriz
Multiplicación de una matriz por un escalar
Métodos Numèricos 13 Ing. Washington Medina MSc

CAPITULO II

SOLUCIÓN NUMÉRICA DE ECUACIONES NO LINEALES:


Uno de los problemas más conocidos y más utilizados de las matemáticas es la
determinación de las raíces o soluciones de una ecuación no lineal (polinomio)
Su proceso manual es bastante extenso aunque no tan complicado, por lo que es
conveniente acudir al uso de procesos iterativos que permitan su solución, y, a la vez
utilizar las computadoras para facilitar su solución por medio de la automatización de
dichos procesos.
Para aplicar los procesos iterativos es conveniente conocer algunos de los métodos
numéricos conocidos como de iteración sucesiva los mismos que parten de una solución
aproximada.
TALLER 2: Aplicación de matlab a la solución de una ecuación de segundo grado
con uso de la formula general, código para el cálculo de una ecuación de segundo
grado por la fórmula general

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 líneas 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
Métodos Numèricos 14 Ing. Washington Medina MSc

TALLER 3: Aplicación de matlab para el cálculo de las raíces de un polinomio y


cálculo del polinomio para un valor de x.

% INGRESO DE UN POLINOMIO
>>
>> p =[1 3 -4 5 6] % polinomio de 4 grado

p=

1 3 -4 5 6

>> polyval(p,5) % calculo de la funcion f(x) para x = 5

ans =

931

roots(p) % Cálculo de las raices de un polinomio

ans =

-4.1654
0.9235 + 1.1227i
0.9235 - 1.1227i
-0.6816

Código para el cálculo 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
Métodos Numèricos 15 Ing. Washington Medina MSc

TALLER 4: Gráfica de una función


x=-4:0.01:4; y =sin(x); plot(x,y), grid, title ('Funcion seno (x)')

Preparacion de peliculas o "movies": ARCHIVO: movimiento

M =moviein(17);
x=[-2*pi:0.1:2*pi]';
for j=1:17
y=sin(x+j*pi/8);
plot(x,y);
M(:,j)=getframe;
End
Métodos Numèricos 16 Ing. Washington Medina MSc

Taller 5: Código para la generación de tabla de datos de pares ordenados de una


función y = f(x):

clc
clear
f=input('ingrese la funcion:','s');
xo=input('ingrese el valor inicial de x:');
h=input('ingrese el intervalo');
n=input('ingrese el numero de pares ordenados:');
f1=inline(f);
fprintf('\t x\t\t y\n')
for k=1:n
y=feval(f1,xo);
fprintf('\t\t%4.2f\t\t%4.2f\n',xo,y)
xo=xo+h;
end

Código para la graficación de un función algebraica

x=-5:0.01:5;
y= x.^3-5*x.^2+11;
plot(x,y)

Código para la gráfica de un polinomio por medio de una tabla de datos x,y

clc
clear
n=input('ingrese el numero de pares ordenados');
for i=1:n
fprintf('x(%d)=',i);
x(i)=input('');
end
for i=1:n
fprintf('y(%d)=',i);
y(i)=input('');
end
fprintf('\t\t x\t\t\t y\n')
for i=1:n
fprintf('\t\t%4.2f\t\t%4.2f\n',x(i),y(i))
end
plot(x,y)
end
x y
-1.00 6.00
0.00 5.00
1.00 3.00
2.00 7.00
3.00 1.00
4.00 2.00
5.00 3.00
Métodos Numèricos 17 Ing. Washington Medina MSc

5. Ecuaciones polinómicas. Una ecuación o función polinómica se la expresa en la


siguiente forma:

a1 x n  a2 x n1a3 x n2  a4 x n3  ........  an  0

este polinomio puede tener raíces reales e imaginarias o complejas.


Newton dedujo una fórmula que permite encontrar un valor muy aproximado a la
solución de mayor valor que tenga la polinómica, esta fórmula es aplicable siempre y
cuando el polinomio tenga exclusivamente raíces reales.

2
 
r   a 2   2 a3 (5.1)
 
 a1  a1
max

Divergencia. En el análisis de los métodos nos encontraremos con este término, por lo
que es conveniente entender que la divergencia de un método es la imposibilidad de
encontrar la solución con la aplicación de dicho método.

6. Métodos de solución de ecuaciones no lineales


6.1. Método de investigación

Siendo el polinomio:

a1 x n  a2 x n1a3 x n2  a4 x n3  ........  an  0 (6.1)

en el desarrollo matemático del análisis, para gráficamente identificar las soluciones


de un polinomio, el método identifica el intervalo donde está la solución, recordando
que su solución es el punto de cruce de la gráfica con el eje x.

x1 x2 x3 x4 x5 x6

FIG. 6.1.1
Métodos Numèricos 18 Ing. Washington Medina MSc

De lo indicado se anota que: en una tabla de valores X-Y para graficar una función, la
solución del polinomio se encuentra entre loas valores de x cuyos valores respectivos
de y cambien de signo, como lo muestra la siguiente tabla:

X Y
1 4
3 7
6 -5

Al producirse un cambio de signo entre y = 7 a y = -5, la solución estará en el


siguiente intervalo: 3  x  6.

Una forma fácil de iniciar la construcción de las tablas de valores es contar con un
valor tentativo de x, el cual se lo puede calcular aplicando la fórmula indicada a
continuación que representa el valor máximo al que pueden llegar las soluciones del
polinomio, fórmula que presenta coherencia en los resultados si las raíces del
polinomio son reales.
2
r
 a2   a3 
    2  (5.1)
máx  a1   a1 

Para una mejor organización del método, se sugiere el uso de una tabla de datos
donde:
K número de iteraciones
x1, x2 valores de la variable x que pertenecen al intervalo
fx1, fx2 valores de la función o polinomio al reemplazar el valor de x
En la tabla se aplica el siguiente criterio: Si la multiplicación de dos valores fx1, fx2
da como resultado un valor negativo, en el intervalo de sus correspondientes
valores de x se encuentra la solución.
ejemplo 3:
k X1 X2 F(X1) F(X2) F(X1)*F(X2) = "-"

1 20 19 1 -306 Si hay solución ("-")

2 19 18 -306 -544 No hay solución ("+")

TABLA 6.1.1
Métodos Numèricos 19 Ing. Washington Medina MSc

Causas de divergencia en el método

1. Cuando el intervalo es muy grande o muy pequeño.


2. Cuando el gráfico no corta el eje “ x ” (raíces imaginarias).
ejemplo 4: Encontrar los intervalos de solución del polinomio: x2 – 4.25x + 4.75 = 0
Decidimos los valores de x con un intervalo de 0.5.
1) Calculamos rmáx para determinar el valor en el que se debe iniciar

2 2
 a 2   2 a3    4.25 
 
 4.75 
  2 
r max       2.93  3
 a1   a1   1   1 
K x1 x2 f x1 fx2 fx1*fx2
1 3,00000 2,50000 1,00000 0,37500 +
2 2,50000 2,00000 0,37500 0,25000 +
3 2,00000 1,50000 0,25000 0,62500 +
4 1,50000 1,00000 0,62500 1,50000 +
5 1,00000 0,50000 1,50000 2,87500 +
6 0,50000 0,00000 2,87500 4,75000 +
7 0,00000 -0,50000 4,75000 7,12500 +
8 -0,50000 -1,00000 7,12500 10,00000 +
9 -1,00000 -1,50000 10,00000 13,37500 +
10 -1,50000 -2,00000 13,37500 17,25000 +

TABLA 6.1.2

En el ejemplo no existe solución alguna puesto que son raíces imaginarias y por ende el
método diverge, además, rmáx no es aplicable porque funciona sólo para soluciones
reales.

Ejemplo 5: resolver x -3.75x – 4.375 = 0 ,

El rmax calculado es 4.78, por lo que se asume 5


k x1 x2 f x1 fx2 fx1*fx2
1 5,00000 4,50000 1,87500 -1,00000 -
2 4,50000 4,00000 -1,00000 -3,37500 +
3 4,00000 3,50000 -3,37500 -5,25000 +
4 3,50000 3,00000 -5,25000 -6,62500 +
5 3,00000 2,50000 -6,62500 -7,50000 +
6 2,50000 2,00000 -7,50000 -7,87500 +
7 2,00000 1,50000 -7,87500 -7,75000 +
8 1,50000 1,00000 -7,75000 -7,12500 +
9 1,00000 0,50000 -7,12500 -6,00000 +
10 0,50000 0,00000 -6,00000 -4,37500 +
11 0,00000 -0,50000 -4,37500 -2,25000 +
12 -0,50000 -1,00000 -2,25000 0,37500 -

TABLA 6.1.3

Las soluciones se encuentran en los intervalos: 4.5 < X < 5 y -1 < X < -0.5
Métodos Numèricos 20 Ing. Washington Medina MSc

Diagrama de flujo para el cálculo de intervalos de solución de un polinomio.

inicio

N,
K
I=1,N+
1
A[i]

Rm(0)=0
X1(L)=Rmáx-Rm(L-1)

1 L=1,k

X2(L)=x1(L)-Rm

P=Q=A(N+1); J =N

I =1,N

P=P+A(i)*x1(L)J
Q=Q+A(i)*x2(L)J

J=N-1

F1(L)=P; F2(L)=Q
M(L)=F1(L)*F”(L)
1
si
M(L)
<0
No hay solución Si hay solución

X1(L)=X2(L)

L=1,

Imprimir:
K,x1,x2,f1,f2,solución
Métodos Numèricos 21 Ing. Washington Medina MSc

TALLER 6: Método de investigación utilizando ciclos for

clc
clear
f=input('Ingrese la funcion: ','s');
input('el ingreso de los siguientes datos permite el calculo de rmax')
a1=input('Ingrese el coeficiente 1: ');
a2=input('Ingrese el coeficiente 2: ');
a3=input('Ingrese el coeficiente 3: ');
delta=input('Ingrese el intervalo de disminucion');
n=input('Ingrese el numero de iteracciones');
rmax=sqrt((a2/a1)^2-2*a3/a1);
%x=5;
x=rmax;
x2=x-delta;
f1=inline(f);
fxl=f1(x);
f2=inline(f);
fx2=f2(x2);
fprintf('\t k\t\t\t x1\t\t\t\t x2\t\t\t\t fx1\t\t\t fx2\t\t fx1*fx2\n')
for k=1:n
fx1=f1(x);
fx2=f2(x2);
fxm=fx1*fx2;

fprintf('\t%3d\t\t%10.4f\t\t%10.4f\t\t%10.4f\t\t%10.4f\t\t%10.4f\n',k,x,x2,fx1,fx2,fxm)
x=x2;
x2=x-delta;

end
end
fplot(f,[-15 15],'r')
grid

ACTIVIDADES DE REPASO DEL TALLER 6:

Rectifique el código para iniciar el cálculo con otro valor diferente a Rmax, bajo un
algoritmo de decisión if-else.

TALLER 7: Método de investigación utilizando ciclos while

clc
clear
f= input('Ingrese la funcion: ','s');
a1=input('Ingrese el coeficiente 1: ');
a2=input('Ingrese el coeficiente 2: ');
a3=input('Ingrese el coeficiente 3: ');
delta=input('Ingrese el intervalo de disminucion');
rmax=sqrt((a2/a1)^2-2*a3/a1);
x=rmax;
Métodos Numèricos 22 Ing. Washington Medina MSc

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 multiplicación


fx1*fx2
En la tabla de resultados se visualice el rotulado de las columnas (como en los
resultados del taller 6)
Visualizar la gráfica de la función
Rectifique los errores una vez obtenida la pantalla de resultados
Rectifique el código de tal manera que permita iniciar el cálculo en cualquier valor (no
solo Rmáx) y de esta manera visualizar una tabla de resultados.

6.2 Método de interpolación

Una vez que se han determinado los intervalos donde se encuentran las soluciones de
un polinomio, se analiza cada intervalo por separado y, aplicando el método de
interpolación, se obtiene la solución aproximada. El método de interpolación permite
encontrar la solución de un polinomio bajo las siguientes condiciones:

1. Requiere de un intervalo donde se encuentre la solución, para esto nos


ayudamos del método de investigación.
Métodos Numèricos 23 Ing. Washington Medina MSc

2. Requiere calcular un valor x3 =  + x1 donde  se define así:

F(X2)

x1 x3 x2

F(x1)

FIG. 6.2.1

 F ( x1)( x 2  x1)     F ( x 2)


F ( x1) F ( x 2)

 ( x 2  x1)  
F ( x1)( x 2  x1)  F ( 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(X2 F(x1
) )
E

x1 x3 x2

F(X2
)
F(x1
)

F(X2
) F(x1
)

F(x1
) F(X2
)

FIG 6.2.2
Métodos Numèricos 24 Ing. Washington Medina MSc

El valor x3 será el nuevo límite por lo tanto el intervalo ha sido reducido y se acerca a
la respuesta.

Análisis de concavidades.- Se debe considerar además la concavidad de la función en


el intervalo, esto se obtiene analizando el valor de la función Fx3 calculado al
reemplazar x3 en la función; asi, Fx3 nos indicará si es cóncavo hacia abajo o hacia
arriba según su signo:

Si Fx3 es positivo, la función en el intervalo es cóncava hacia abajo

Si Fx3 es negativo, la función en el intervalo es cóncava hacia arriba.

De este análisis se obtienen cuatro posibilidades (fig. 6.2.2) resueltas en el siguiente


flujo grama:

No Si
Fx3
>0
No Si No Si

F[1] Fx1
>0 >0

X1=X1+E X2=X1+E X2=X1+E X1=X1+E

FIG. 6.2.3

Para fines de programación podemos aplicar el siguiente criterio:

No Si
Fx1*Fx3
>0

X2=X1+E X1=X1+E

FIG. 6.2.4
Métodos Numèricos 25 Ing. Washington Medina MSc

Causas de divergencia del método

1.- En el intervalo escogido no se encuentre la solución.

2. Las soluciones estén muy cercanas entre sí que provoque por la mala selección del
intervalo, el no encontrar la solución.

Control del error.

Asumiendo por parte del calculista un error permisible (como sugerencia puede
utilizarse 0.001 que equivale al 0.1%), el resultado será aceptado si se cumple la
siguiente condición:

  error asumido

Es recomendable también comparar con los valores absolutos de fx1 y fx2:

  |fx1| ó |fx2|

Ejemplo 5.

Encontrar la solución de x2 – 3.75x – 4.375 = 0 en el intervalo: 4.5 < Xso l < 5.

k x x2 fx1 fx2 E
1 4.5000 5.0000 -1.0000 1.8750 0.1739
2 4.6739 5.0000 -0.0567 1.8750 0.0096
3 4.6835 5.0000 -0.0030 1.8750 0.0005
4 4.6840 5.0000 -0.0002 1.8750 0.0000
TABLA 6.2.1

ABS( Fx1) < 0,001 => sol: x = 4,684

Ejemplo 6. Del siguiente polinomio: x3 – 2.71x2 – 5.095x + 8.65 = 0

encontrar sus raíces calculando:

a) rmáx
b) Los intervalos por el método de investigación.
c) Las soluciones por el método de interpolación.
Métodos Numèricos 26 Ing. Washington Medina MSc

a) Cálculo de r máx.

2
 a 2   2 a3 
r   a1   a1 
máx    

2
  2.71   2  5.095 
r   1   
máx    1 

r  4.187  4.2
máx

b) Cálculo de los intervalos por el método de investigación

k x x2 fx1 fx2 fx1*fx2


1 4.2000 3.7000 13.5346 3.3516 45.3626
2 3.7000 3.2000 3.3516 -2.6364 -8.8362
3 3.2000 2.7000 -2.6364 -5.1794 13.6550
4 2.7000 2.2000 -5.1794 -5.0274 26.0389
5 2.2000 1.7000 -5.0274 -2.9304 14.7323
6 1.7000 1.2000 -2.9304 0.3616 -1.0596
7 1.2000 0.7000 0.3616 4.0986 1.4821
8 0.7000 0.2000 4.0986 7.5306 30.8649
9 0.2000 -0.3000 7.5306 9.9076 74.6102
10 -0.3000 -0.8000 9.9076 10.4796 103.8277
11 -0.8000 -1.3000 10.4796 8.4966 89.0410
12 -1.3000 -1.8000 8.4966 3.2086 27.2622
13 -1.8000 -2.3000 3.2086 -6.1344 -19.6828
14 -2.3000 -2.8000 -6.1344 -20.2824 124.4204
TABLA 6.2.2.

c) Cálculo de raices por el método de interpolación


k x x2 fx1 fx2 e
1 3.2000 3.7000 -2.6364 3.3516 0.2201
2 3.4201 3.7000 -0.4688 3.3516 0.0343
3 3.4545 3.7000 -0.0663 3.3516 0.0048
4 3.4592 3.7000 -0.0091 3.3516 0.0006
5 3.4599 3.7000 -0.0012 3.3516 0.0001
6 3.4600 3.7000 -0.0002 3.3516 0.0000

k x x2 fx1 fx2 e
1 1.2000 1.7000 0.3616 -2.9304 0.0549
2 1.2000 1.2549 0.3616 -0.0353 0.0500
3 1.2000 1.2500 0.3616 -0.0002 0.0500
Métodos Numèricos 27 Ing. Washington Medina MSc

k x x2 fx1 fx2 e
1 -2.3000 -1.8000 -6.1344 3.2086 0.3283
2 -2.3000 -1.9717 -6.1344 0.4950 0.3038
3 -2.3000 -1.9962 -6.1344 0.0669 0.3005
4 -2.3000 -1.9995 -6.1344 0.0089 0.3001
5 -2.3000 -1.9999 -6.1344 0.0012 0.3000
6 -2.3000 -2.0000 -6.1344 0.0002 0.3000

Soluciones: X1 = 3.4600
Se puede chequear el resultado al
mismo tiempo con  yf(x1) en la
X2 = 1.2500 primera solución y, con con  y
F(x2) que son los valores que en este
ejercicio sufren variaciones
X3 = -2.0000

Diagrama de flujo del método de interpolación para calcular una solución conociendo
el intervalo por el método de investigación.

N, x1, x2

i=1,N+1

METODO
DE
A(i) INTERPOLACION

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

P * 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 B

J=J-1 J=J-1
P=P+A(i)*x1(L)J P=P+A(i)*x1(L)J
Q=Q+A(i)*x2(L)J Q=Q+A(i)*x2(L)J

2
1
Métodos Numèricos 28 Ing. Washington Medina MSc

1 2

no si no si
E<=0.001 E<=0.001

x1(L)=x1(1) solución x2(L)=x2(1) solución


x2(L)=x1(L)+E(L) X2(L) x1(L)=x1(L)+E(L) X1(L)

A B

imprimir

no si
otro cálculo

fin inicio

TALLER 8: Método de Interpolación


clc
clear
f= input ('Ingrese funcion: ','s');
x1= input ('Ingrese el limite izquierdo ');
x2= input ('Ingrese el limite drecho: ');
f1=inline(f);
fprintf('\t k\t\t x\t\t x2\t\t fx1\t\t fx2\t\t E\n');
fx1=f1(x1);
fx2=f1(x2);
e= (abs(fx1)*(x2-x1))/(abs(fx2)+abs(fx1));
x3=x1+e;
fx3=f1(x3);
fp=fx3*fx1;
k=1;
j=1;
if fp>0
while k<21
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)
x1=x1+e;
fx1= f1(x1);
if abs(fx1)<0.0001
fprintf('\n\n la solucion es ');disp(x1);break;
end
if k==20
fprintf('\n\n en el intervalo escogido no hay solucion ');break;
end
k=k+1;
end
end
if fp<0
Métodos Numèricos 29 Ing. Washington Medina MSc

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. Método de Newton Raphson

El método de NEWTON RAPHSON es uno de los más eficaces para la solución de


polinomios pues permite determinar claramente la solución en pocos pasos. Se basa en
la aplicación de la tangente a un punto. Definiendo la tangente del ángulo (en la
siguiente figura), se deduce la fórmula para el cálculo aproximado de una solución del
polinomio, sin necesidad de que se conozca el intervalo de solución proporcionado por
el método de investigación.

f(xo)

solución

x3 x2 x1 xO

FIG. 6.3.1

F ( x0 )
tg 
x0  x1 (6.2)
Métodos Numèricos 30 Ing. Washington Medina MSc

Como tg es igual a la pendiente, por lo tanto igual a la primera derivada de la


función, reemplazando tg po por la primera derivada:

F ( x0 )
F' 
x0  x1 (6.3)

despejando de la ecuación b la variable x 1 tenemos:

F ( x0 )
x1  x0 
F ' ( x0 ) (6.4)

generalizando las variables, se concluye que:

Fórmula de Newton
F (x ) Raphson para el cálculo de
x n 1  xn  ' n (6.5) raíces aproximadas de un
F ( xn ) polinomio.

El valor de x aproximado para iniciar el análisis


(xn ) puede ser cualquier valor (generalmente
se utilizar x = 0.1), pero se recomienda utilizar
r màx indicado en la fòrmula 5.1

Causas de divergencia del método

1.- La ecuación planteada tiene soluciones imaginarias.

2. Las soluciones estén muy cercanas entre sí que provoque infinito número de cálculos
sin obtenerse la respuesta deseada.
Control del error:
Al ser el resultado una aproximación, es necesario imponernos un valor de error, que
permita a la vez acercarnos al resultado y delimitar las iteraciones, por lo que se
podría asumir la siguiente relación:
fx  er (6.6)

donde er es el error impuesto por el calculista, como recomendación se puede asumir


un error del 0,1% es decir 0,001.
Métodos Numèricos 31 Ing. Washington Medina MSc

El número de iteraciones se calcularán hasta cuando el valor absoluto de F(x) se


acerque al error establecido.
Para la solución es conveniente construir, por organización, una tabla de valores que
nos permita visualizar con facilidad los cálculos que vamos obteniendo, dicha tabla
consta de las siguientes columnas.
K número de iteraciones
x1 valor de la variable x con el cual se inicia el proceso de cálculo.
fx valor que toma la función o polinomio al reemplazar el valor de x
f´x valor que toma la primera derivada de la función al
reemplazar el valor de x
Xn+1 valor encontrado según el reemplazo en la fórmula
de Newton Raphson, siendo este el nuevo valor de x i

Ejemplo 7.
Del polinomio x4 - 1.3x3 - 10.24x2 + 4.83x + 19.42 , encontrar una de las soluciones
sabiendo que dicha solución está entre el siguiente intervalo: 3.25<x<3.75

Solución:

1. Derivamos la función
f(x) = x4 - 1.3x3 - 10.24x2 + 4.83x + 19.42
f´(x) =4x3 – 3.9x2 –20.48x + 4.83

K Xi Fx F ´x fx/f´x x(i+1)
1 3.75000 22.73172 84.12375 0.27022 3.47978
2 3.47978 4.08030 54.88455 0.07434 3.40544
3 3.40544 0.26479 47.82997 0.00554 3.39990
4 3.39990 0.00141 47.32110 0.00003 3.39987
5 3.39987 0.00000 47.31837 0.00000 3.39987
6 3.39987 0.00000 47.31837 0.00000 3.39987

TABLA 6.3.1

Se puede chequear el resultado al


mismo tiempo con fx/f´x y f(x)
Métodos Numèricos 32 Ing. Washington Medina MSc

La solución aproximada es 3.39990 ubicada en la cuarta iteración, sin embargo, al


tener más iteraciones, un resultado más aproximado es 3.39987.

Ejemplo8. Resolver el ejercicio anterior iniciando el cálculo con el intervalo menor.

K Xi fx f ´x fx/f´x x(i+1)
1 3.25000 -6.10266 34.38875 -0.17746 3.42746
2 3.42746 1.34056 49.87662 0.02688 3.40058
3 3.40058 0.03362 47.38351 0.00071 3.39987
4 3.39987 0.00002 47.31842 0.00000 3.39987
5 3.39987 0.00000 47.31837 0.00000 3.39987
6 3.39987 0.00000 47.31837 0.00000 3.39987

TABLA 6.3.2
La solución aproximada es 3.39987
Ejemplo 9. Calcular una de las soluciones del siguiente polinomio
x3 - 10.24x2 + 4.83x + 19.42 = 0

1.Encontramos el valor de rmax, aplicando la fórmula

2
a 
2
a  10.24 
rmax   2   2 3 rmax     2(4.83)  9.76  10
 a1  a1  1 

En este caso el valor de rmax aproximo a 10,


2. Construimos una tabla de valores para obtener los intervalos de solución (usar el
método de investigación):
k x1 x2 f x1 fx2 fx1*fx2
1 10,00000 9,50000 43,72000 -1,48000 Solución
2 9,50000 9,00000 -1,48000 -37,55000 +
3 9,00000 8,50000 -37,55000 -65,24000 +
4 8,50000 8,00000 -65,24000 -85,30000 +
5 8,00000 7,50000 -85,30000 -98,48000 +
6 7,50000 7,00000 -98,48000 -105,53000 +
7 7,00000 6,50000 -105,53000 -107,20000 +
8 6,50000 6,00000 -107,20000 -104,24000 +
9 6,00000 5,50000 -104,24000 -97,40000 +
10 5,50000 5,00000 -97,40000 -87,43000 +
11 5,00000 4,50000 -87,43000 -75,08000 +
12 4,50000 4,00000 -75,08000 -61,10000 +
13 4,00000 3,50000 -61,10000 -46,24000 +
14 3,50000 3,00000 -46,24000 -31,25000 +
Métodos Numèricos 33 Ing. Washington Medina MSc

15 3,00000 2,50000 -31,25000 -16,88000 +


16 2,50000 2,00000 -16,88000 -3,88000 +
17 2,00000 1,50000 -3,88000 7,00000 Solución
18 1,50000 1,00000 7,00000 15,01000 +
19 1,00000 0,50000 15,01000 19,40000 +
20 0,50000 0,00000 19,40000 19,42000 +
21 0,00000 -0,50000 19,42000 14,32000 +
22 -0,50000 -1,00000 14,32000 3,35000 +
23 -1,00000 -1,50000 3,35000 -14,24000 Solución
24 -1,50000 -2,00000 -14,24000 -39,20000 +
25 -2,00000 -2,50000 -39,20000 -72,28000 +

TABLA 6.3.3
Como podemos observar en la tabla en x1, en la iteración 1 va el valor aproximado de
rmax, se ha aproximado el valor para que sea más 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 iteración 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(x 1)* 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 comprensión del lector,
aunque solo era necesario encontrar un intervalo, puesto que sólo 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 x1 f x1 F‘x fx/f ' x


1 10,00000 43,72000 100,03000 0,43707
2 9,56293 3,69124 83,33013 0,04430
3 9,51863 0,03611 81,70157 0,00044

TABLA 6.3.4
Solución: 9.51863 con un error del 3.6 %
Métodos Numèricos 34 Ing. Washington Medina MSc

Diagrama de flujodel Método de Newton Raphson Tomando como valor inicial de x el


valor de Rmàx (fòrmula 5.1), o cualquier valor de x, incluyendo el concepto de
derivada para su solución.

inicio

N,
k
I=1,N+
1
A[i]

1 Z=1,k

Fx=0; p=N

I=1,N+
1
Fx=Fx+A[i].x p

P=N-1

F<0.0
01

Xsol=x Fx1=0; n=N

J=1,
N
fin
si
Fx1=Fx1+n*A[J]x(n-1)

n=n-1

x=x - (Fx/Fx1)

1
Métodos Numèricos 35 Ing. Washington Medina MSc

TALLER 9: Método de Newton Raphson utilizando ciclos for:

clc
clear
% syms x (para la versión 7.0)
% f1= inline (char(f) (para la versión 7.0)
% df=diff(f) ó diff(f,x) (para la versión 7.0)
f=input('ingrese la funcion : ','s');
xo=input('ingrese el valor inicial de x : ');
n=input('ingrese las iteracciones : ');
f1=inline(f);
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);
dfx=df1(xo);
if dfx==0
fprintf('\n\n\n HAY DIVERGENCIA EN EL METODO PUES LA PRIMERA
DERIVADA ES CERO')
break;
end
dfx=df1(xo);
w=fx/dfx;
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
if dfx>0
fprintf('\n\n la solucion x es');disp(xo)
fprintf('el valor de la funcion para la solucion es');disp(f1(xo))
end
if dfx<0
fprintf('\n\n la solucion x es');disp(xo)
fprintf('el valor de la funcion para la solucion es');disp(f1(xo))
end
fplot(f1,[-5 5],'b');
hold on
plot(xo,0,'*r')
grid

ACTIVIDADES DEL TALLER 9:

Rectificar el código para que la respuesta obtenida sea parte de la última fila del cuadro
de resultados.
Analice el por qué sugiere el programador xo = xo +0.75
Rectifique el programa para que no utilice la sugerencia del programador del ítem
anterior y considere la divergencia del método cuando la derivada es cero
Se requiere en el programa de Newton Raphson en el que se utiliza el siclo FOR
comparar el error?
Métodos Numèricos 36 Ing. Washington Medina MSc

Haga las rectificaciones en el programa para que funcione con el método de Von mises
Rectifique el programa para ingresar el error admisible
Rectificar el programa para resolver funciones trigonométricas, considerando que la
división f´x/fx NO debe ser transformada a grados.

TALLER 10: Método de Newton Raphson utilizando ciclos while: ARCHIVO:


newtonconwhile.m

clc
clear
f=input('ingrese la funcion : ','s');
xo=input('ingrese el valor inicial de x : ');
er=input('ingrese el error admisible : ');
%n=input('ingrese las iteracciones : ');
f1=inline(f);
df=diff(f,'x');
fprintf('la derivada de la funcion es');disp(df)
df1=inline(df);
fprintf('\t\t k\t\t x\t\t\t fx\t\t dfx\t\t\t fx/dfx\n')
fx=f1(xo);
k=1;
while abs(fx)>er
fx=f1(xo);
dfx=df1(xo);
if dfx==0
xo=xo+0.75 %sugerncia del programador
end
dfx=df1(xo);
w=fx/dfx;
fprintf('\t\t%2d\t\t%3.4f\t\t%3.4f\t\t%3.4f\t\t%3.4f\n',k,xo,fx,dfx,w)
x1=xo-w;
xo=x1;
k=k+1;
if k>50
fprintf('las soluciones son imaginarias');break
end
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,[-15 15],'b');
grid

ACTIVIDADES PARA EL TALLER 10:

Rectificar el código para que la respuesta obtenida sea parte de la última fila del cuadro
de resultados.
Analice el por qué sugiere el programador xo = xo +0.75
Rectifique el programa para que no utilice la sugerencia del programador del ítem
anterior y considere la divergencia del método cuando la derivada es cero
Métodos Numèricos 37 Ing. Washington Medina MSc

Haga las rectificaciones en el programa para que funcione con el método de Von mises
Rectifique el programa para ingresar el error admisible
En la parte correspondiente a la gráfica, realice un proceso similar al taller anterior

TALLER 11: Analice el siguiente programa tomado de Internet ARCHIVO:


newtonraphson.m

Para su funcionamiento se requiere crear otro archivo con el nombre de mifuncion:

function y = mifuncion (x)

y = x^3-2.45*x^2-4*x+3.25;

newtonraphson.m:

% Script para aplicar Newton-Raphson a mifuncion

% Lectura de datos
% Tengo que leer la cota de error 'cota', el número de iteraciones máximo 'n'
% y el valor inicial 'xi'

cota = input ('Cota de error objetivo: ');


n = input ('Nº máximo de iteraciones: ');
xi = input ('Valor inicial de la x: ');

xanterior = xi;
x = xanterior;
eanterior = inf;
e = eanterior;

i = 1; % contador de iteraciones

% Voy a dibujar las tangentes mientras calculo


figure(1)
clf
hold on
fplot('mifuncion(x)',[-2 2],'b');
grid

% Debo realizar un procedimiento iterativo mientras el error sea mayor que la cota
% y el número de iteración sea menor que n

while (e>cota) & (i<n)


y = mifuncion (xanterior);
yd = mifuncion_derivada (xanterior);

x = xanterior - y/yd;

% Para dibujar
yant=mifuncion(xanterior);
plot ([xanterior x],[yant 0],'r')
Métodos Numèricos 38 Ing. Washington Medina MSc

e = abs (x - xanterior);

xanterior = x;
eanterior = e;
i=i+1;
end
hold off
% Comprobación de por cual de las dos (tres) condiciones salió
if (e<cota)
disp ('Se encontró la solución');
disp ('La solución hallada es: ');
x
disp ('La cota de error es: ');
e
disp ('El número de iteraciones utilizado es: ');
i
disp ('Y el valor de la función en dicho punto es: ');
mifuncion(x)
else
disp ('Se superó el número de iteraciones');
end

ACTIVIDADES PARA EL TALLER 11

 Rectifique el programa con variables que sean más entendibles para ud.
 Rectifique el programa considerando el ingreso de una función sin acudir a otro
archivo.
 Rectifique el programa para que pueda visualizarse la tabla de valores

TALLER 11.A: Código para el método de Newton Rahpson con funciones


trigonométricas. ARCHIVO: newtonconforTRIGONOMETRICAS

clc
clear
f=input('ingrese la funcion : ','s');
xo=input('ingrese el valor inicial de x : ');
%xo=xo*pi/180;
er=input('ingrese el error admisible : ');
n=input('ingrese las iteracciones : ');
f1=inline(f);
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
Métodos Numèricos 39 Ing. Washington Medina MSc

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 Método de Birge Vieta .

Este método encuentra todas las soluciones reales que tenga un polinomio, es el
resultado de la combinación del método de Newton Raphson y la aplicación de la
división sintética doble (teoría de Ruffini para bajar de grado un polinomio con dos
divisiones continuas).

Recordando que Newton Rapshon plantea:


F ( xn )
xn1  xn  (6.5)
F ' ( xn )

Se sugiere como punto de inicio un valor cercano a rmáx; aunque, para automatización
del método se puede iniciar con cualquier valor.

P R
Q
D D
P  QD  R
P( X )  ( X  Xn )Qx  R ( X  Xn  deno min ador ) (6.7)
si X  Xn  P( X )  R
P'( X )  Q( X )  ( X  Xn )Q'( X )
si x  xn  Q( X )  R'
P'( X )  Q( X )
P'( X )  R'

El valor de x aproximado para iniciar el análisis puede ser


cualquier valor (generalmente se utilizar x = 0.1), pero se
recomienda utilizar r màx indicado en la fòrmula 5.1
Métodos Numèricos 40 Ing. Washington Medina MSc

Ejemplo 10. Calcular la solución de la siguiente ecuación:


X 3  2 X 2  5X  7  0

1 -2 5 -7
X=7 7 35 200

1 5 40 273
X=7 7 84

1 12 124
273
X 7
124
x  7  2.202  4.798
1 -2 5 -7
X=4.8 4.8 13.44 88.51

1 2.8 18.44 81.51


X=4.8 4.8 36.44

1 7.6 54.92

81.51
X  4.8 
54.92
x  4.8  1.484  3.316

1 -2 5 -7
X=3.32 3.32 4.38 31.15

1 1.32 9.38 24.14


X=3.32 3.32 15.41

1 4.64 24.78

Se continua con el mismo proceso hasta lograr la solución, los valores los resumimos
en la siguiente tabla, misma que es factible obtenerla con mayor facilidad
por el método de Newton Rapshon:
Métodos Numèricos 41 Ing. Washington Medina MSc

K X R R’ R/R’
1 7 273 124 2.20
2 4.8 81.51 54.92 1.48
3 3.32 24.14 24.78 0.97
4 2.35 6.68 12.17 0.55
5 1.8 1.35 7.52 0.18
6 1.62 0.1 6.38 0.016
7 1.6 0.02 6.28 0.003
TABLA 6.4.1

Solución : 1.6 con un margen de error del 2%

Al dividir el polinomio original para (X – 1.6), se obtendrá un nuevo


polinomio bajado de grado respecto al original, y se aplicará
nuevamente similar procedimiento.

Si se llega a un polinomio de grado 2 , el cual puede tener soluciones


imaginarias, éste es factible resolverlo aplicando la fórmula algebraica
para resolver polinomios de segundo grado.
Métodos Numèricos 42 Ing. Washington Medina MSc

Método de Birge Vieta


N (aplicación de la teoría
de Ruffini

i=1,N+1

A(i)

 a 
2
a 
X (1)   2   2  3 
 a1    a1 
K=1
A
no si
K<soluciones

divergencia b(1)=a(1)
c(1)=b(1)

B 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)

no si
K<0.001

K=K+1 X(k)=solución(N)

X(k)=X(k)-E(k-1) i=2,N+1

a(i)=b(i)
A

N=N-1

no si
N=1

B Solución(1)=-a(2)/a(1)

imprimir soluciones

fin
Métodos Numèricos 43 Ing. Washington Medina MSc

Ejercicios: Resolver los siguientes polinomios aplicando los métodos explicados

4 3 2
13. x  5 x  15.23 x  6.24 x  24.84  0
Sol : x1  6.9806 x 2  1.2814 x 3 4  1.631  0.34i
3 2
14. x  14 x  56 x  64  0
Sol : x1  8 x2  4 x3  2
5 4 3 2
15. x  8 x  17 x  8 x  14 x  20  0
Sol : x1  5 x2  2 x  1 x 4 5  1  i
2
3 2
16. 2 x  41x  4 x  2  0
Sol : x1  20.5947 x 2  0.1779 x 3  0.2727
3 2
17. x  8 x  15 x  1  0
Sol : x1  5.0937 x 2  2.8370 x 3  0.0690
3 2
18. x  5x  4x  2  0
Sol : x1  3.81 x 2  1.5293 x 3  0.3429
3 2
19. x  4x  5x  7  0
Sol : x1  4.74 x 2  0.8989 x 3  1.6419
4 3 2
20. x  2 x  3x  2 x  1  0
Sol : x1 2  0.5  1.732i x   0.5  0.866i
3  4
2
21. x  2x  7  0
Sol : x1 2  1  2.449i
3 2
22. x  3x  7 x  5  0
Sol : x  1 x 2 3  1  2i
1

Consulta, investigación:
1. Consultar y analizar los métodos de la Secante
y de VonMises.
2. Consultar el Método LIN para soluciones
imaginarias.
3. Realizar un ejercicio por cada método de
solución numérica de ecuaciones en ecuaciones
que involucren funciones trigonométricas.
Métodos Numèricos 44 Ing. Washington Medina MSc

CAPITULOIII
APROXIMACIÓN POLINOMIAL
7. Interpolación Matemática
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 específico de X, este
problema es factible resolverlo aplicando métodos aproximados que permiten calcular
el valor a interpolarse a la vez definir la ecuación que contiene a todos y cada uno de
los puntos dados.
La interpolación polinomial se puede expresar por series de potencias, por
interpolación de Newton y por interpolación de Lagrange, concentraremos nuestro
estudio en los dos últimos métodos.
La aproximación polinomial tiene gran utilidad cuando los valores reflejados en la
tabla tienen el comportamiento de una función desconocida y que en muchas ocasiones
el encontrar la antiderivada de la misma resulta una imposibilidad matemática.

Y=f(x)

Y=P(x
)

y0 y1 y2 ..........yn

Xo X1 X2.............Xn
FIG. 7.1
7.1. Interpolación de newton (interpolación con incrementos constantes).
Considerando en el gráfico anterior incrementos constantes los pares ordenados son:

Xi yi
X0 yo
x1 = x0 + h y1
x2 = x0 + 2h y2
..... ..
....... ...
xn = x0 + nh yn

TABLA 7.1.1
Métodos Numèricos 45 Ing. Washington Medina MSc

La interpolación de Newton Se basa en el criterio de las diferencias finitas que pueden


ser de 1er , 2do , 3er , hasta enésimo orden según se especifica en la siguiente tabla.

Xi yi y 2y 3y
x0 yo
a0 = y1 – yo
x1 = x 0 + h y1 b0 = a1 – a0
a1 = y2 – y1 c0 = b1 – b0
x2 = x0 + 2h y2 b1 = a2 - a1
a2 = y3 – y2 c1 = b2 – b1
x3 = x0 + 3h y3 b2 = a3 – a2
a3 = y4 – y3 . .
x4 = x0 + 4h y4 . . c(n-3)=b(n-2)-b(n-3)
..... .. . .
....... ... . b(n-2)=a(n-1) - a(n-2)
.
a(n-1)=y(n) – y(n-1)
xn = x0 + nh yn
TABLA 7.1.2

Deducción de la fórmula en base a las diferencias finitas indicadas:


a0 = y1 – y0 b0 = a1 –a0
y1 = a0 + y0 (1) a1 = b0 + a0 (3)
y 2 = a1 + y 1 (2)

(1) y (3) en (2)


y2 = a0 + b0 + a0 + y0 (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)
Métodos Numèricos 46 Ing. Washington Medina MSc

Podemos observar que las diferencias se ven afectadas por los coeficientes del binomio
de Newton, por lo que puede generalizarse con la siguiente fórmula:
k ( k  1) k ( k  1)( k  2) k ( k  1)( k  2)( k  3)
y k  y 0  ka o  bo  co  d o  ... ..
2 3 4
h

x0 xk x1 = x0 + h

x k  xo
xk = x0 +kh k (7.3)
h

Recordando que: a0 = yo, b0 = 2yo, c0 = 3yo, ................. , la fórmula de interpolación de


Newton es:
k ( k  1) 2 k ( k  1)( k  2) 3
y k  y 0  ky o   yo   yo 
2 3
k ( k  1)( k  2)( k  3) 4 ( 7.4)
 y o  ...
4

El método se aplicará cuando los valores de la última


diferencia sean iguales entre si, siendo esta diferencia
el grado del polinomio representativo, si no se obtiene
una diferencia finita con valores iguales pueden haber
errores en los datos tomados (x,y) o pueden faltar
datos.

Ejemplo 11.
Dada la función tabular (x,y) , calcular:
- el valor de y para x = 3.2
- la función representativa

X y y 2y 3y
0 1 12 56 48
2 13 68 104 48
4 81 172 152 48
6 253 324 200
8 577 524
10 1101

TABLA 7.1.3
Solución.
observamos que es un polinomio de tercer grado entonces aplicamos las formulas:
xk = 3.2
Métodos Numèricos 47 Ing. Washington Medina MSc

x0 = 2
h=2
k = (xk – x0) / h
k = (3.2 - 2) / 2
k = 0.6

0.6 * (0.6  1) 0.6 * (0.6  1)(0.6  2)


y k  13  0.6 * 68  *104  * 4  44.008
2 6

Para calcular la función representativa de una tabla dada podemos utilizar el mismo
método de la forma siguiente

x2
k
2
x2 x2 x2 x2 x2
( )(  1) ( )(  1)(  2)
x2 2 2 2 2 2
y  13  ( )68  * 104  * 48
2 2 6

el polinomio es y  x3  x 2  1

Ejercicios: Resolver los siguientes ejercicios sobre interpolación polinomial y definir


la función representativa.

23. Interpolar x = 3.75

X 0 1 2 3 4 5 6 7 8 9 10 11 12
Y -1 3 41 173 483 1079 2093 3681 6023 9323 13809 19733 27371

Sol. Y = 383.316

24. Interpolar x = 9

X 0 2 4 6 8 10 12 14 16
Y 5 8 43 158 401 820 1463 2378 3616

Sol. Y = 585.5

25. Interpolar x =3.35, x = 4.45, x = 6.75

X 0 1 2 3 4 5 6 7
Y 1 2 5 10 17 26 37 50

Sol. Y = 12.22
Y = 20.803
Y = 46.56
Métodos Numèricos 48 Ing. Washington Medina MSc

TALLER 12: Código para la tabla de diferencias finitas del método de interpolación
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. Interpolación de Lagrange ( interpolación con incrementos variables)


Esto método de interpolación conocido también como interpolación con incrementos
variables, nos permite: dada una función tabular (tabla de valores con incrementos
constantes o variables), interpolar un valor.

Para el cálculo se utiliza la siguiente fórmula

n (X  X J )
y
j 1
n
* yi donde ji (7.5)
i 1
(X
j 1
i  XJ)
Métodos Numèricos 49 Ing. Washington Medina MSc

x  x2 x  x3 x  x4 ...........x  xn 


y 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  xn1 
y (7.6)
xn  x1 xn  x2 xn  x3 .........xn  xn1  n

La fórmula se sustenta en los incrementos variables, al valor que vamos a encontrar le


restamos sucesivamente los valores de la tabla.
Ejemplo 12: Interpolar x=3.2 para la siguiente tabla

X Y
0 2
2 8
4 62
6 212
8 506
10 992
Solución:

y
3.2  23.2  43.2  63.2  83.2  10 * 2 
0  20  40  60  80  10
3.2  03.2  43.2  63.2  83.2  10 * 8 
2  02  42  62  82  10

3.2  03.2  23.2  63.2  83.2  10 * 62 
. 4  04  24  64  84  10
3.2  03.2  23.2  43.2  83.2  10 * 212 
6  06  26  46  86  10
3.2  03.2  23.2  43.2  63.2  10 * 506 
8  08  28  48  68  10
3.2  03.2  23.2  43.2  63.2  8 * 992  31.568
10  010  210  410  610  8

Recomendación: para interpolar por èste


método, se recomienda que el valor a
interpolar tenga por lo menos tres pares
ordenados superiores y tres pares ordenados
inferiores a èl , para garantizar el resultado
Métodos Numèricos 50 Ing. Washington Medina MSc

Ejercicios: Resolver los siguientes ejercicios sobre interpolación polinomial y definir


la función representativa.

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

27. Interpolar x =11

X 0 1 4 7 10 13 16
Y -1 4 151 622 1579 3184 5599

Sol. Y = 2034
Métodos Numèricos 51 Ing. Washington Medina MSc

inicio

Interpolación de
Lagrange para
N, X
intervalos constantes
y variables
i=1,N+1

X(i), Y(i)

Y=0
Sugerencia:
i=1,N
co m p le te e l
si
i=N p ro g ra m a p a ra
q u e i n c lu ya e n
NUM=1 lo s resul tado s el
DEN=1
p o l i n o m i o
J=1,N re p re s e n ta ti vo
de los datos
si
J=N
tabulados

si
i=J

NUM=NUM*(X-X(J)
DEN=DEN*(X(i)-X(J)

NUM
Y Y  * Y (i )
DEN

Y=solución

fin

7.4 Interpolación inversa.

En el proceso de la interpolación se buscaba un valor de f(x) dado un valor de la


variable independiente, en la interpolación inversa es lo contrario: dado un valor de
f(x) calcular una valor de la variable independiente. Esta aplicación es útil para
resolver un polinomio recordando que las raíces de un polinomio se encuentran en los
puntos donde la función es cero ( f(x) = 0 ).
Métodos Numèricos 52 Ing. Washington Medina MSc

Ejemplo 13: Calcular una solución de la ecuación x2 + 3x – 5


y X
-5 0
-3 1
1.75 1.5
5 2
13 3

Se sugiere el siguiente procedimiento para la solución:

- La solución está entre 1 < x < 2 por lo que se trabaja en ese intervalo .

-3 1
Y=0

1.75 1.5
5 2

- Se asume Y = 0 como el valor a interpolarse.


- Se aplica la fórmula de Lagrange para el cálculo

( 0  1.75)(0  5) ( 0  3)(0  5) ( 0  3)(0  1.75)


x *0 * 1.5  *2  1.25
( 3  1.75)(3  5) (1.75  3)(1.75  5) (5  3)(5  1.75)

El método de interpolación con intervalos constantes permite EXTRAPOLAR puesto


que se puede completar la tabla sin problemas y extenderla hasta el valor requerido
para el ejercicio propuesto.

8.- Integración numérica

Recordando que integración es sinónimo de área, se puede resolver una integral


definida por métodos aproximados,

Cuando se calcula una integral se acude a las fórmulas de integración , la integración


numérica nos permite calcular dicha integral definida, de una función expresada en
forma tabular o en forma algebraica, en los dos casos se debe disponer necesariamente
de la tabla de valores x-y .
Métodos Numèricos 53 Ing. Washington Medina MSc

ejemplo 14: Calcular la integral indicada


5

 (x  5)dx
2

Con la aplicación de las fórmulas de integración se obtiene como resultado:


8

 (x  5)dx  205.33
2

Ahora vamos a ver como de la misma función pero expresada en forma tabular,
calculamos el área aproximada, utilizando rectángulos y trapecios :

X Y
1 6
2 9
3 14
4 21
5 30

1 2 3 4 5
FIG. 8.1
Para conocer el área aproximada bajo la curva , tomamos en cuenta los rectángulos
que se forman entre cada intervalo de par ordenado
Entonces : A=B*h
A = 1( 6 + 9 + 14 + 21 ) = 50
Si a este dato le comparamos con el de la integral de la función .
Tenemos que existe un error no tolerable . 205.33  50

Esto ocurre porque no estamos tomando en cuenta las pequeñas áreas casi triangulares
que se forman entre los rectángulos y la grafica de la función.

Para solucionar este error no tolerable se recomienda deducir fórmulas con el criterio
de trapecios que se acercan más a la gráfica.
Métodos Numèricos 54 Ing. Washington Medina MSc

La fórmula del área del trapecio nos permite plantear varios métodos para el cálculo
de integrales definidas.

Area = ( Basemayor+ Basemenor ) * h (8.1)


2
9. Métodos de cálculo de integración numérica.

x o x1 x2 x3 x4 x5 x6
FIG. 9.1
Aplicando la fórmula del trapecio, y sumando todos los trapecios indicados en el
gráfico se obtiene:

A = h ( Y0 + Y1 ) / 2 + h ( Y1 + Y2 ) / 2 + h ( Y2 + Y3 ) / 2 + ..........(9.1)
Realizando las operaciones correspondientes no queda :
h
A ( y0  y n  2 resto de ordenadas) (9.2)
2

Una forma sencilla de definir fórmulas más exactas es considerando que una función es
expresable como una serie (binomio de Newton) con diferencias finitas:

k ( k  1) 2 k ( k  1)( k  2) 3
f ( x )  y 0  ky o   yo   yo 
2 3
k ( k  1)( k  2)( k  3) 4
 y o  ... (9.3)
4

Si integramos la función entre xo y xn con los siguientes cambios:


x  xo
Siendo k  x  x0  hk (9.4)
h
Si x = xo entonces k = 0
Si x = xn = xo + hk entonces k = n
Si derivamos x con respecto a k dx = hdk
Métodos Numèricos 55 Ing. Washington Medina MSc

Reemplazando estos nuevos datos:


xn n 2 3 2
k k 2 k  3k  2k 3
 f ( x ) dx   (y
o
 ky o   yo   y o  .....) hdk
xo o 2 6

xn  n2 n3 n 2 2 n 4 n3 n 2 3 
 f ( x ) dx  h  ny 
o 2
y  (
o 6

4
) y  (
o 24

6

6
)  y  ...... 
o
(9.5)
xo  

Según las diferencias finitas, sus áreas se identifican en el siguiente gráfico:

FIG. 9.2

Si se escoge un trapecio la interpolación será de primer orden y por lo tanto se


considera la primera diferencia yo, si se escoge dos trapecios, será de segundo orden,
así sucesivamente.

Con lo indicado, se obtienen las siguientes fórmulas:

1. Considerando un solo trapecio (n = 1):


x1  n2 
 f ( x ) dx  h nyo  2 yo  como y  y  y
o 1 o
xo  
x1
h
 f ( x ) dx  ( yo  y1 ) (9.5)
2
xo

2. Considerando 2 trapecios (n = 2):


Métodos Numèricos 56 Ing. Washington Medina MSc

x2  n2 n3 n 2 2 
 f ( x ) dx  h  ny 
o 2
y  (
o 6

4
) y 
o
xo  
como y  y  y Y 2 y  y  2 y  y
o 1 o o 2 1 o
x2
h
 f ( x ) dx  ( yo  4 y1  y 2 ) (9.6)
3
xo

3. Considerando tres trapecios (n = 3)

x3  n2 n3 n 2 2 n 4 n3 n 2 3 
 f ( x ) dx  h  ny 
o 2
y  (
o 6

4
) y  (
o 24

6

6
) y 
o
xo  
3
como y  y  y Y 2 y  y  2 y  y  y o  y 3  3 y 2  3 y1  y o
o 1 o o 2 1 o
x3
3
 f ( x ) dx 
8
h( y
o
 3y  3y  y )
1 2 3
(9.7 )
xo

Si en cada uno de los análisis se considera los trapecios de cero a n, se definen tres
fórmulas:

 Fórmula del trapecio: Se considera n cualquier número de divisiones para o


impar pues su análisis se lo hizo con un solo trapecio
h
A ( y0  y n  2 resto de ordenadas) (9.8)
2
 Fórmula de Simpson del 1/3: Se considera que n debe ser siempre par pues el
análisis se lo realizó con dos trapecios.

h
A ( y0  y n  2 ordenadaspares  4 orden.impares) (9.9)
3

 Fórmula de Simpson del 3/8: Se considera que n debe ser siempre múltiplo de 3
pues el análisis se lo realizó con tres trapecios. (9.10)
3
A h( y 0  y n  2 orden. multiplosde3  3 resto.de.orden). (9.10)
8

Nota. Para la aplicación de estas fórmulas


siempre se contabilizará los pares ordenados
desde el par cero.
Métodos Numèricos 57 Ing. Washington Medina MSc

Ejemplo 15.
Resolver la integral indicada utilizando todas las fórmulas y encontrar el error de cada
una de ellas en relación con la solución exacta.
8

 (x  5)dx  Sol  205.33


2
por int egración directa
1

Solución por la fórmula del trapecio


.i X Y
0 1 6
1 2 9
2 3 14
3 4 21 Sol 
1
6  69  2 * (9  14  21  30  41  54)  206.5
4 5 30 2
5 6 41
6 7 54
7 8 69
TABLA 9.1

Solución por la fórmula de Simpson del 1/3.


N debe ser par por lo tanto escogemos n = 6 intervalos, 7/8 = 0.875

.i X Y
0 1 6
1 1.875 8.516
2 2.75 12.56 
0.875 6  69  2 * (12.56  25.25  44.06)  
Sol  4 * (8.516  18.14  33.89  55.77) 
3 3.625 18.14 3  
4 4.5 25.25
5 5.375 33.89 Sol  205.33
6 6.25 44.06
7 7.125 55.77
8 8 69
TABLA 9.2

Solución por la fórmula de Simpson de 3/8.


N debe ser múltiplo de 3 por lo tanto escogemos n = 9 intervalos, 7//9 = 0.778

.i X Y
0 1 6
1 1.778 8.16 3 6  69  2 * (16.16  37.13)  3 * (8.16  11.53  21.91  
Sol  * 0.778
28.91  46.6  57.13) 
2 2.556 11.53 8  
3 3.334 16.16
Sol  205.48
4 4.112 21.91
5 4.89 28.91
6 5.668 37.13
7 6.45 46.6
8 7.22 57.13
9 8 69
TABLA 9.3
Métodos Numèricos 58 Ing. Washington Medina MSc

Conclusión del ejercicio: se puede observar que las dos fórmulas de Simpson presentan
el menor error, en igual forma, el resultado es más cercano al real mientras más
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 numér ic a por
di v er sos métodos
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 si
par S=S+y( i)
no es
apl ic able

N es si SP=0,
Y (o)  Y ( N )
múlti pl o de 3 SIP=0 A(  S) * h
i =2,N -2,2
2
no es
apl ic able
SP=SP+y (i )

2 1 2 2
i =1,N -1,2

SIP=SIP+y( i)

h
A (Y (o)  Y ( N)  2 * S P 4 * S IP)
3

2
Métodos Numèricos 59 Ing. Washington Medina MSc

SP=0,
SIP=0

i=1,N -1

si
i es
múltiplo de 3
SIP=SIP+y (i
SP=SP+y( i)
)

3
A h(Y (o)  Y ( N)  2 * S P 3 * S IP)
8

imprimir res ultados

fin

TALLER 13: Código para integración numérica por el método del trapecio
ARCHIVO: integración1.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
Métodos Numèricos 60 Ing. Washington Medina MSc

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 método de integración de Simpson 1/3, se recomienda
usar if mod(k,2)==0 que permite identificar los números pares.
Desarrollar el programa para el método de integración de Simpson 3/8, se recomienda
usar if mod(k,3)==0 que permite identificar los números múltiplos de 3.
Desarrollar el programa para el método de integración de Simpson 3/8, que permita
resolver funciones trigonométricas.

TALLER 14: Código para integración numérica por el método de Simpson 1/3
ARCHIVO: integración13.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
Métodos Numèricos 61 Ing. Washington Medina MSc

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)

ACTIVIDADES DEL TALLER 14

Observe que si ingresa un número impar el programa se ejecuta, pero no cumple con la
condición del método en el sentido de que funcione para un valor n par, rectifique el
código para que cumpla dicho requisito.

TALLER 15: Código para integración numérica por el método de Simpson 3/8
ARCHIVO: integración38.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
Métodos Numèricos 62 Ing. Washington Medina MSc

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 número que no sea múltiplo de 3, el programa se


ejecuta, pero no cumple con la condición del método en el sentido de que funcione para
un valor n múltiplo de 3; rectifique el código para que cumpla dicho requisito.

TALLER 16: Código para integración numérica por el método de Simpson 3/8 para
funciones trigonométricas ARCHIVO: integración38contrigonometricas.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;
Métodos Numèricos 63 Ing. Washington Medina MSc

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 número que no sea múltiplo de 3, el programa se ejecuta, pero no
cumple con la condición del método en el sentido de que funcione para un valor n múltiplo de 3;
rectifique el código para que cumpla dicho requisito.

TALLER 17: Desarrollar un solo programa que permita resolver la integración


por cualquiera de los tres métodos estudiados.

Ejercicios: Resolver por métodos aproximados las siguientes integrales aplicando la


fórmula de 3/8 de Simpson, tabulando datos para 6 intervalos.

2.67

 (x
1
28. 2
 2 x  1)dx Sol : 0.7762
2 1

10

 (x  3x  2)dx Sol  292.5


2
29.
5
20

 (x  3x 2  5 x  6)dx Sol  32880


3
30.
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
Métodos Numèricos 64 Ing. Washington Medina MSc

CAPITULO IV
APROXIMACIÓN FUNCIONAL (AJUSTE DE CURVAS)

Permite encontrar la ecuación de la curva que aunque no pase por todos los puntos de
una tabla de datos, tenga variaciones cercanas.La aproximación se basa en el método
de los mínimos cuadrados. La aproximación puede emplearse en muchos casos
prácticos, como por ejemplo en el tratamiento de resultados de observación, ya que ella
compensa las incorrecciones locales aisladas de la función f(x) (por ejemplo errores
producidos en la observación) y también proporciona una representación lo
suficientemente exacta en el transcurso del proceso correspondiente. la aproximación
funcional permite definir una función que esté cercana a una tabla de datos.

Una de las restricciones está en el hecho de conocer previamente a qué grado se acerca
la tabla de datos; por ello es que utilizamos el método de los mínimos cuadrados para
ajustar la curva y definir los coeficientes de la función

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 más recomendable
graficar los puntos y observar que tipo de curvatura es para escoger el correspondiente
grado, también es recomendable que en lo posible se relacione a los puntos con una
ecuación de grado tres como máximo (aceptar este criterio como una recomendación,
puesto que con el uso de computadoras al facilitar los cálculos, la ecuación puede
relacionarse con un polinomio de n grado).

Aproximación polinomial
Aproximación funcional
FIG. 9.3
Se trata de obtener los coeficientes de la función:
Métodos Numèricos 65 Ing. Washington Medina MSc

y  f ( x)  ao  a1 x  a2 x 2  a3 x 3  ....  am x m (9.11)

Luego del proceso matemático basado en los residuos o faltantes localizado entre el
punto Y conocido y el punto de la función 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

Donde n es el número de datos proporcionados en la tabla.


Recomendación: Debido a que la función puede presentarse en distintas formas,
recomendamos disponer de una serie de gráficos para ver a cual se parece el ejercicio.

Ejemplo 16.
Encontrar la ecuación de la curva que mejor se ajuste a la tabla de valores (ejercicio
tomado de Métodos Numéricos de Luthe. Edit. Limunsa)
x y
1 4
2 7
3 9
4 10
5 9
6 7
7 4

FIG. 9.4
Métodos Numèricos 66 Ing. Washington Medina MSc

Solución:

Para encontrar la función que mejor represente a la tabla de valores dada debemos
saber el grado de la función, para ello procedemos a graficar los valores de la tabla.
Como se puede observar, los datos obtenidos representar a una ecuación de segundo
grado, entonces para encontrar la solución 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 3 4 2

Grado de la función: segundo grado


a continuación, procedemos a encontrar los valores de la tabla indicada:
n x y x² x3 x4 xy x²y
1 1 4 1 1 1 4 4
2 2 7 4 8 16 14 28
3 3 9 9 27 81 27 81
4 4 10 16 64 256 40 160
5 5 9 25 125 625 45 225
6 6 7 36 216 1296 42 252
7 7 4 49 343 2401 28 196
 28 50 140 784 4676 200 946
TABLA 9.4

7a0  28a  140a2  50

28a0  140a1  784a2  200

140a0  784a1  4676a2  946

Resolviendo el sistema de ecuaciones obtenemos:

. a o
 0.57421 a  5.14286 a
1 2
 0.64285

de esta manera, nuestra función que representa en forma aproximada al conjunto de


puntos es:
f(x) = -0.64285x² + 5.14x –0.57
Métodos Numèricos 67 Ing. Washington Medina MSc

ejemplo 17.

Encontrar la ecuación que mejor se aproxime a la siguiente tabla, asumiendo que se


ajusta a un polinomio de grado tres.

x y Nao  a1 x  a2  x 2  a3  x 3   y
1 1
2 7
3 25 ao  x  a1 x 2  a2  x 3  a3  x 4   xy
4 61
5 121 a0  x 2  a1 x 3  a2  x 4  a3  x 5   x 2 y
6 211
7 337 a0x3  a1x4 a2x5 a3x6  x3y
8 505

Grado de la ecuación (tercero)


n x y x² x³ x4 x5 x6 xy x²y x³y
1 1 1 1 1 1 1 1 1 1 1
2 2 7 4 8 16 32 64 14 28 56
3 3 25 9 27 81 243 729 75 225 675
4 4 61 16 64 256 1024 4096 244 976 3904
5 5 121 25 125 625 3125 15625 605 3025 12125
6 6 211 36 216 1296 7776 46656 1266 7596 45576
7 7 337 49 343 2401 16807 117649 2359 16513 115591
8 8 505 64 512 4096 32708 262144 4040 32320 258560
 36 1268 204 1296 8772 61716 446964 8604 60684 436488

8a0  36a1  204a2  1296a3  1268

36a0  204a1  1296a2  8772a3  8604

204a0  1296a1  8772a2  61776a3  60684

1296ao 8772a1  61776a3  446964a3  439488


+

Resolviendo el sistema:
a0  0.944 a1  0.99 a2  0 a3  1
f(x) = 0.944 - 0.99x - 7.27x 10-11x² + x³

aproximadamente se tiene : f(x) = x³ - x + 1


Métodos Numèricos 68 Ing. Washington Medina MSc

10. Sugerencia para la creación del sistema de ecuaciones en la aproximación


funcional:
Una forma sencilla de optimizar la creación del sistema de ecuaciones es la siguiente:

Disponiendo de la tabla de valores x,y ; se sugiere el siguiente procedimiento:


1.organizar la matriz de incógnitas y términos independientes con la siguiente base:

 1 x1 x12 x13 . . x1m   y1 


  y 
 1 x2 x 22 x 23 x 2m   2
 1 x3 x32 x33 x3m   y3 
   
x . . . . . . .  y   (10.1)
 . . . . . . .   
   
 . . . . . . .   
 2 3
x nm  y 
 1 xn x n x n   n

2. Se calcula la matriz traspuesta de x


3. Se calcula la matriz z  xT * x

4. Se calculan los coeficientes: w  xt * y

5. se resuelve el sistema z = w
ejemplo 18 resolver el ejemplo 16 con esta metodología

x0 x1 x2
1 1 1 4
1 2 4 7
1 3 9 9
1 4 16 10
X= 1 5 25 Y= 9
1 6 36 7
1 7 49 4

1 1 1 1 1 1 1
1 2 3 4 5 6 7
1 4 9 16 25 36 49

7 28 140
U=XT*X= 28 140 784
140 784 4676

50
T 200
V=X *Y
946
Métodos Numèricos 69 Ing. Washington Medina MSc

Resolvemos el siguiente sistema y los resultados son los mismos que el ejercicio 16

a0 a1 a2
7 28 140 50
28 140 784 200
=
140 784 4676 946

a o
 0.57421 a  5.14286 a
1 2
 0.64285

inicio

Apr oximación
funcional
N, G
(G= grado escogido
para el polinomio )

i=1,N

X(i), Y(i)

J=0,G

i=1,N

X(i,J+1) =X( i)J

i=1,N

y( i,1) =y( i )

i=1,N

J=1,G+1

XT(J,i) =X(i,J)

1
Métodos Numèricos 70 Ing. Washington Medina MSc

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: Código para aproximación funcional ARCHIVO:


APROXIMACIONfuncional.m

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)
Métodos Numèricos 71 Ing. Washington Medina MSc

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

Capítulo 5. Ejercicios sobre aproximación funcional

Dados los pares ordenados indicados, encontrar la función que representa


aproximadamente a la tabla.

33.
X 0 1 2 3 4 5 6 7
Y 2 4 3 6 5 7 9 8

Solución : y  0.02 x 3  0.2002 x 2  0.4565x  2.3787

34.
X 0 1 3 4 7 9
Y 2 4 6 9 11 14

Solución : y  0.0365x 2  1.6115x  2.1687

35.
X 0 1 2 3 4 5 6
Y 3 6 9 15 18 21 25

Solución : y  0.011x 2  3.8214 x  2.5476


Métodos Numèricos 72 Ing. Washington Medina MSc

36.
X 0 1 2 3 4 5
Y -1 0 1 20 99 304

Solución : y  x 4  3x 3  2 x 2  x  1

37.
X 1 2 3 4 5 7
Y 3 19 53 111 304 323

Solución : y  6.95x 3  84.80 x 2  229.96 x  166.98

38 y '  0.5(5  x) y 2 x  0, y  1, h  0.1


39 y '  ( x  3x  5 x  1)
3 2
x  1, y  2, h  1
40 y '  (3x 2  5 x  1) * y x  0, y  1, h  0.5
41 y '  ( x 3  3x 2  5 x  1) * y 2 x  0, y  2, h  0.2
42. y '  (3x 2  5 x  1) y 2 x  0, y  1, h  0.1
Métodos Numèricos 73 Ing. Washington Medina MSc

CAPÌTULO V

ECUACIONES DIFERENCIALES ORDINARIAS

Ecuación diferencial es una ecuación que relaciona dos o más variables en términos de
derivadas o diferenciales.

Ecuación diferencial ordinaria es la que tiene una sola variable independiente.


Una ecuación diferencial esta resuelta cuando se ha obtenido el polinomio solución o
cuando se expresa en forma de integración. Gráficamente la ecuación representa una
familia de curvas, cada una correspondiente al valor respectivo de la constante de
integración.

Dependiendo de cómo se establezcan las condiciones, se presentan dos tipos de


problemas: con condiciones iniciales y con condiciones de frontera.

Un problema de valores iniciales está gobernado por una ecuación diferencial de orden
n y un conjunto de n condiciones independientes (x, y, y’, y’’, y’’, ...) todas ellas válidas
para el mismo punto inicial.

Un problema de valores a la frontera debe establecerse para condiciones iniciales y


finales.
y y

F(x,y)=0
G(x,y)

X1 X2 X3 ....... X X=a X=b X

Condiciones iniciales condiciones de frontera

FIG. 10.1

En este capitulo nos centraremos en tres métodos para poder resolver las ecuaciones
diferenciales ordinarias, estas son:
 Con Integración.
Métodos Numèricos 74 Ing. Washington Medina MSc

 Con la serie de Taylor.


 Método de Runge Kutta.

11. Solución numérica de una ecuación diferencial ordinaria. Básicamente consiste


en sustituir el dominio continuo de soluciones, por un dominio discreto formado por
puntos aislados espaciados igualmente entre sí y muy cercanos unos de otros.

12. Métodos de solución para ecuaciones diferenciales ordinarias con valores


iniciales

Para las ecuaciones diferenciales ordinarias, se debe analizar cada problema en


particular, ya que es muy difícil generalizar. Sin embargo se pueden tener pautas para
la solución.

Este estudio en particular se basará en un mismo ejercicio, con la finalidad de


presentar una mejor comprensión y al final comparar los resultados obtenidos; el
problema modelo es el siguiente :

y’ = ½ ( 1 + x ) y2 ; y(0) = 1
12.1. Solución por integración.-
Sin lugar a duda es el método más conocido y utilizado para la solución de ecuaciones
diferenciales ordinarias, pero su aplicación es válida si el proceso de integración por
fórmulas es factible.

Para resolver utilizando éste método, debemos separar las variables independientes de
las dependientes en la ecuación original.

Luego procedemos a integrar a ambos lados para obtener la solución general, en la


cual remplazaremos los valores iniciales para encontrar el valor de C y así obtener el
resultado general.
Métodos Numèricos 75 Ing. Washington Medina MSc

ejemplo 19: Resolver la siguiente ecuación diferencial ordinaria, utilizando

y 1
 ( x  1) y 2
x 2
y 1
 ( x  1)x
y2 2
y 1
 y 2   2 ( x  1)x (12.1)

1 x2 x
   C
y 4 2
1 x 2  2x  C
 
y 4
4
y 2
x  2x  C
integración.
Reemplazando x = 0 ; y = 1 en la solución, se obtiene C = -4.
Por tanto la solución particular es:

4
y
4  2x  x 2

12.2. Solución con la serie de Taylor


En primer lugar debemos recordar como se resuelve la serie de Taylor, para poder
emplearlo en la solución de ecuaciones diferenciales ordinarias.
Recordemos la serie con un ejemplo:
Se tiene f(x) = ln(x) en potencias de ( x – 1 ); procedemos a realizar derivadas sucesivas
a f(x) y evaluamos en x = 1.

f(x) = ln(x) f(1) =0


f ‘ (x) = 1/x f‘ (1) =1
f ‘’ (x) = -1/x2 f ‘’ (1) = -1
f ‘’’ (x) = 2/x3 f ‘’’ (1) = 2

La serie de Taylor quedaría definida como:

( x  1) ( x  1) 2 ( x  1) 3
ln( x)  0  1 *  (1) *  2*  ..............
1! 2! 3!
Métodos Numèricos 76 Ing. Washington Medina MSc

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 solución de ecuaciones diferenciales ordinarias; con la siguiente formula:

( x  x0 ) ( x  x0 ) 2 ( x  x0 ) 3
y  y0  y'0  y' '0  y' ' ' 0 ........(12.2)
1! 2! 3!

Ejemplo 20
Resolver la siguiente ecuación 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

Por tanto la solución es:

Y = 1 + ½ x + ½ x2 + 3/8 x3

12.3. Solución por el método de Runge Kutta.- El método sugiere que mediante
procesos iteractivos, se encuentre la solución de una ecuación diferencial ordinaria,
expresada en forma tabular. La base teórica del método es el de aproximaciones
sucesivas; y, luego del correspondiente análisis se obtienen las siguientes formulas.
Métodos Numèricos 77 Ing. Washington Medina MSc

h
y (0) t  y ( 0) i  ( k1  2 k 2  2 k 3  k 4 )
6
k1  f ( x , y )
h kh
k2  f (x  , y  1 ) (12.3)
2 2
h k h
k3  f ( x  , y  2 )
2 2
k 4  f ( x  h, y  k 3 h)

Se debe tomar en cuenta que este proceso se lo puede hacer varias veces sin considerar
ningún valor límite.

Ejemplo 21.
Resolver la siguiente ecuación diferencial ordinaria, utilizando el método de Runge
Kutta.

y’ = ½ ( 1 + x ) y2 ; y(0) = 1

para x  0 y 1
1
k1  (1  0 )(1)
2
 0.5
2

k2 
1

2

1  (0 
0.1
2

) 1
0.1 * 0.5
2

2
 0.5516

k3 
1

2

1  (0 
0.1
2

) 1
0.1 * 0.5516
2

2
 0.5544

k3 
1
1  (0  0.1)1  0.1 * 0.55442  0.6127
2

Para el siguiente proceso, los valores iniciales serán:


x  0.1

y  1
0.1
0.5  2 * 0.5516  2 * 0.5544  0.6127  1.05541
6
Con estos datos se realiza el siguiente proceso:
Métodos Numèricos 78 Ing. Washington Medina MSc

1
f ( 0.1)  1.0554  k1  (1  0.1)(1.0554 )
2
 0.6126
2
1 2
f ( 0.15)  1.086  k2  (1  0.15)(1.086 )  0.6782
2
1 2
f ( 0.15,1.0893)  k3  (1  0.15)(1.0893)  0.6823
2
1 2
f ( 0.2,1.1236)  k4  (1  0.2 )(1.1236 )  0.7575
2
0.1
y  1.05541  ( 0.6126  2 ( 0.6782 )  2 ( 0.6823)  0.7575)  1.12392
6

Continuando en la misma forma se obtiene la solución mostrada en la siguiente tabla:

x y k1 k2 k3 k4
0 1,0000 0,5000 0,5516 0,5544 0,6127
0,1 1,0554 0,6126 0,6782 0,6823 0,7575
0,2 1,1236 0,7575 0,8431 0,8494 0,9494
0,3 1,2085 0,9492 1,0647 1,0745 1,2121
0,4 1,3158 1,2119 1,3735 1,3896 1,5872
0,5 1,4545 1,5868 1,8234 1,8517 2,1509

TABLA 12.3.1

12.4 Tabla comparativa para los tres métodos.

Como se dispone de las funciones por integración y Taylor, dando valores a x


obtenemos el valor de la función, y, comparando los resultados por las tres formas
concluimos que el método numérico propuesto por Runge-Kutta se aproxima a los
resultados exactos.

Integración Taylor Runge k.


X Y Y Y
0 1,0000 1,0000 1,0000
0,1 1,0554 1,1375 1,0554
0,2 1,1236 1,2750 1,1236
0,3 1,2085 1,4125 1,2085
0,4 1,3158 1,5500 1,3185
0,5 1,4545 1,6875 1,4545
TABLA 12.3.2
Métodos Numèricos 79 Ing. Washington Medina MSc

inicio Solución de la ecuación


diferencial
y ' = 0.5(1+X)Y2
para X=0 , Y=1
por el método 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

X(i,1) , Y(i,2) , K1(i,3) ,


K2(i,4) , K3(i,5) , K(i,6)

fin El méto do d e Ru ng e Kutta po r s us


c a r ac te rís 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 ctrón 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: Código para el método de Runge Kutta para una sola función
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: ');
Métodos Numèricos 80 Ing. Washington Medina MSc

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

TALLER 20: Código para el método de Runge Kutta ARCHIVO:rungekutta.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: ');
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,y1);
x2=x1+h/2;
y2=y1+k1*h/2;
k2=f1(x2,y2);
x3=x1+h/2;
y3=y1+k2*h/2;
k3=f1(x3,y3);
x4=x1+h;
y4=y1+k3*h;
k4=f1(x4,y4);
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
Métodos Numèricos 81 Ing. Washington Medina MSc

Consultas e investigación:
1. Resolver tres ejercicios de integración cada uno con los
diferentes métodos involucrando en estos ejercicios
funciones trigonométricas, incluir conclusiones (en caso de
existir).
2. Resolver tres ejercicios de ecuaciones diferenciales por todos
los métodos involucrando en estos ejercicios funciones
trigonométricas, incluir conclusiones (en caso de existir).

Ejercicios sobre ecuaciones diferenciales ordinarias

Resolver las siguientes ecuaciones diferenciales por :


 Integración
 Aplicando la serie de Taylor
 Por Runge Kutta

y comparar los resultados de los tres métodos en una tabla de valores.

EJERCICIOS GENERALES SUGERIDOS:

EJERCICIO UNIFICADO
Encontrar la solución numérica de la ecuación diferencial indicada, por el método de
Runge Kutta.

De la tabla de datos indicada, Encontrar la función representativa por aproximación


funcional, considerando el grado del polinomio igual a 3.
Calcular el área bajo la curva de la la siguiente función:
Encontrar las soluciones del siguiente polinomio de grado 3

CODIFICACIONES
La matriz triangular superior
La multiplicación de dos matrices
Intercambio de filas de una matriz
La matriz triangular inferior
la multiplicación de una matriz por un escalar
La transpuesta de una matriz
Generación de un tabla de datos X/Y de un polinomio
cálculo los coeficientes de la segunda derivada de un polinomio.
Definición de la concavidad del intervalo de un polinomio
Métodos Numèricos 82 Ing. Washington Medina MSc

Cálculo de los coeficientes de un polinomio bajado de grado


La integración por el método del trapecio
La integración por el método de simpson 1/3
La integración por el método de simpson 3/8
El cuadro de diferencias finitas del método de interpolación de Newton
Construcción de la matriz X del método de aproximación funcional
Cálculo de la matriz u del método de aproximación funcional
Cálculo de la matriz v del método de aproximación funcional

BIBLIOGRAFÍA.

GRANVILLE, Smith, Cálculo diferencial e integral, Edit. Hispano América, 1973,


México

Rainville, Earl, Ecuaciones diferenciales, Edit. Trillas, 1974, México

Murray, Spiegel, Albebra superior, Edit. McGraw-Hill, Tercera edición, 1989, México.

LUTHE, Olivera, Métodos Numéricos, Edit. Limusa, 1978, México.

Nakamura, Métodos numéricos aplicados con software, Edit. Prentice Hall, 1993,
México.

Andrade William, Lógica de programación y lenguaje pascal, Ecuador, 1996.

Medina Washington, Matrices y cálculo diferencial e integral, Ecuador, 2000.

Andrade William, anotaciones de asignatura Programación, FIC UTA 1986