Sei sulla pagina 1di 17

Instituto Politcnico Nacional

Escuela Superior de Ingeniera Mecnica y


Elctrica
Unidad Culhuacn

Materia: Espacio y Estados.


Mtodos Numricos
Integrantes:

Gonzlez Paz Viridiana.


Hernndez Rodrguez Luis

Arturo.
Tello Rodrguez Brian
Grupo: 7EV1.
Profesor: Edgar Maya Prez
Fecha: 3 - Marzo -2015

ndice

Introduccin........................................................................................................ 2
Desarrollo............................................................................................................ 3
Anexos................................................................................................................ 9
Conclusin........................................................................................................ 14

Introduccin.
Los mtodos numricos constituyen tcnicas mediante las cuales es posible
formular problemas matemticos, de tal forma que puedan resolverse
utilizando operaciones aritmticas simples. Aunque existen muchos tipos de
mtodos numricos, stos comparten una caracterstica en comn,
invariablemente se requiere una gran cantidad clculos aritmticos para lograr
obtener una aproximacin al resultado real, esto debido a que los mtodos
numricos realizan una serie de clculos que aproximan un valor inicial a la
solucin real de un problema o ecuacin de orden superior, aunque en un
principio estos mtodos no eran tan usuales ya que era ms fcil resolver de
manera analtica cualquier ecuacin diferencial ordinaria que se presentara. Sin
embargo estos mtodos analticos tenan la desventaja que al aumentar la
dificultad del problema u orden de la ecuacin se volvan ms complejos e
incluso imposibles de resolver por un mtodo analtico, por otra parte los
mtodos numricos que combinados con la potencia de clculo de los
ordenadores han vuelto posible la resolucin de este tipo de problemas o
ecuaciones e incluso ms fcil que mediante un mtodo analtico.
Cabe destacar que todos los mtodos numricos generan un error de
aproximacin el cual se puede minimizar al realizar un proceso de integracin
ms amplio, tomando una mayor cantidad de aproximaciones, lo cual implica
un mayor nmero de iteraciones para lograrlo.

Durante este trabajo se utilizarn los mtodos de:


1. Euler.
2. Runge Kutta de 4 orden.
3. Regla del trapecio.

Desarrollo.
Mtodo de Euler

y i+1= yi + f ( xi , y i ) h
Este mtodo consiste en ir acercando una pendiente en la funcin dada un
punto en x, la cual puede acumularse para el anlisis del siguiente punto.

x 1=x12 ; x1 ( 0 ) =1; h=0.1

x n+1=x n + f ( x i , y i) h

Sustituyendo

x i=x 0+ f ( x i , y i ) h

x 0=1+f ( 0,1 ) h

x 1=x 0+ f ( x 0 , y 0 ) h

x 1=1+ f ( 0.1,1 ) h

x 2=x 2+ f ( x 1 , y 1 ) h

x 2=1.001+ f ( 0.2,1 .001 ) h

x 0=1+02 h

x 1=1+ 0.12 h

;
;

x 2=1.001+ 0.22 h

De esta manera se empieza a aproximar el mtodo a la solucin real de la EDO


(ecuacin diferencial ordinaria) y dependiendo del nmero de iteraciones que
se realicen, y del tamao de paso de integracin utilizado (h), ser la precisin
o exactitud del mtodo al resolver las ecuaciones.

Este es el mtodo que se realiza para generar la solucin a la ecuacin, de


igual manera se puede realizar mediante un programa que realice los clculos
e iteraciones necesarias para volver al mtodo ms efectivo.
El siguiente programa est realizado en Matlab, la estructura del mismo est
realizado basado en una estructura de lenguaje C, pero adaptado al entorno de
3

Matlab debido a que graficar dentro de este ltimo es ms sencillo. Este


programa est realizado con un tamao de paso de 0.1, pero el cual puede ser
modificado para realizar iteraciones con un tamao de 0.01 y 0.001.

Programa

disp('Este programa resolver la ecuacin diferencial')


disp('dy/dx = x^2 ; x(0) = 1 como condiciones iniciales')
disp('por medio del mtodo de Euler')
%datos
y0=1;
h=0.1;
x=0;
imp = zeros(500,1);
N= zeros(500,1);
y = 1 + (y0^2)*h;
imp(1) = y;
for conta=2: 1:500
x=x+h;
y= y + (x^2)*h;
imp(conta) = y;
N(conta)=x;

%condicin inicial
%tamao de paso de integracin
%punto de partida para la integracin
%arreglo para guardar los valores de la
%integracin
%arreglo para generar el eje X al graficar
%primer integracin con condiciones iniciales
%guardar el primer valor de la integracin en el
%arreglo

end

%ciclo para realizar las integraciones


%inicia el desplazamiento en x
%resultado de la integracin
%se guarda el resultado en el arreglo
%Generar los valores para el eje X con el tamao
%de paso de integracin
%termina

stem(N,imp)

%graficar los resultados de la integracin

Runge Kutta 4 orden

El mtodo de Runge Kutta es el resultado de un promedio de pendientes dadas


desde los puntos en los que se evala una funcin.

1
y i+1= yi + ( k 1 +2 k 2 +2 k 3 +k 4 ) h
6
k 1=f ( x i , y i )
1
1
k 2=f ( x i + h , y i+ k 1 h)
2
2
1
1
k 3 =f ( x i + h , y i+ k 2 h)
2
2
k 4=f (x i+ h , y i + k 3 h)

Sustituyendo, primero se procede a calcular las pendientes

kn

x 1=x12 ; x1 ( 0 ) =1; h=0.1

k 1=f ( 0 , 0 )= x 1 ( 0,0 )=1


1
1
k 2=f 0+ h , 0i+ 1 h = x 1 ( 0.05,0.05 )=0.052=0.025
2
2

1
1
k 3 =f 0+ h , 0+ 0.025 h =x 1 ( 0.05,0 .000125 )=0.052=0.025
2
2

k 4=f ( 0+h , y i+ k 3 h ) = x1 ( 0.1,0 .05 )=0.12=0.01


1
x 0= y 0 + ( k 1+ 2 k 2+ 2k 3+ k 4 ) h=0+ ( 1.31 ) h=.13103
6

k 1=f ( 0.1 , 0.131 )= x 1 ( 0.1,0 .131 )=0.1 =0.01


1
1
k 2=f 0.1+ h ,0+ 0.01 h = x 1 ( 0.15,0.005 )=0.152=0.0225
2
2

1
1
k 3 =f 0.1+ h ,0+ 0.0225h =x1 ( 0.15,0 .0001125 )=0.152=0.0225
2
2

k 4=f ( 0.1+ h , 0+k 3 h ) = x 1 ( 0.2,0 .00225 )=0.22 =0.04


1
x 1= y 0 + ( k 1+2 k 2+2 k 3 + k 4 ) h=0+ ( 1.31 ) h=.13258
6
De igual manera que el mtodo de Euler, se pueden programar los clculos en
una subrutina para obtener los resultados de las iteraciones requeridas.
Programa
disp('Este programa resolver la ecuacin diferencial')
disp('dy/dx = x^2 ; x(0) = 1 como condiciones iniciales')
disp('por medio del mtodo Runge Kutta 4')
%datos
y0=1;
x=0;
h=0.1;
imp = zeros(500,1);

%valor inicial de la funcin


%valor inicial del desplazamiento en X
%tamao del desplazamiento
%arreglo para guardar los resultados de las
%iteraciones
N= zeros(500,1);
%arreglo para graficar los valores de las
%iteraciones
k1 = 1;
%clculo de K1 para condicin inicial
k2 = ((1/2)*h)^2;
%clculo de k2 para condicin inicial
k3 = ((1/2)*h)^2;
%clculo de k3 para condicin inicial
k4 = (0+h)^2;
%clculo de k4 para condicin inicial
y = y0 + (h*(k1+2*k2+2*k3+k4))/6; %primer iteracin con condiciones
%iniciales
imp(1) = y;

for contador=2: 1:500


x=x+h;
%incremento de integracin
k1 = (x)^2;
%clculo de k1
k2 = (x+(1/2)*h)^2;
%clculo de k2
k3 = (x+(1/2)*h)^2;
%clculo de k3
k4 = (x+h)^2;
%clculo de k4
y= y + (h*(k1+2*k2+2*k3+k4))/6; %resultado de iteraciones
imp(contador) = y;
%guardar el resultado de la iteracin
N(contador) = x;
%guardar el valor del desplazamiento en X
end
stem(N,imp)

%graficar el resultado del mtodo

Regla del trapecio


La regla del trapecio especifica que se puede obtener la integracin de una
funcin aproximando n cantidad de trapecios dentro de la misma funcin, y
obteniendo valores numricos para calcular cada rea correspondiente de
forma aritmtica.

y i=

a+b
( f ( a ) +f ( b ))
2

Que es el rea de un trapecio, y en este caso se aplic la regla del trapecio


compuesta, realizando varias iteraciones hasta obtener el rea total de nuestra
ecuacin.

Sustituyendo

x 1=x12 ; x1 ( 0 ) =1; h=0.1

Definir lmites de integracin:

t = 0 : h : 50

x 0=

ba
0.10
0.1
( f ( a ) + f ( b ) )=
( f ( 0 )+ f ( 0.1 ) )= ( 1+ 0.12 )=0.0505
2
2
2

x 1=

ba
0.21
0.1
( f ( a ) +f ( b ) )=
( f ( 0.1 ) +f ( 0.2 ) ) = ( 0.12+ 0.22 )=0.025
2
2
2

x 2=

ba
0.32
0.1
( f ( a ) +f ( b ) )=
( f ( 0.2 ) + f ( 0.3 ) )= ( 0.22 +0.32 ) =0.0065
2
2
2

De igual manera como los mtodos anteriores este tambin depende de la


cantidad de trapecios propuestos para saber su exactitud y proximidad al valor
real de la solucin a la EDO.

Programa
disp('Este programa resolver la ecuacin diferencial')
disp('dy/dx = x^2 ; x(0) = 1 como condiciones iniciales')
disp('por medio de la regla de trapecio compuesto')
%datos
y0=1;
x=0;
h=0.1;
limitea=h;
imp = zeros(500,1);

%valor inicial de la funcin


%valor inicial del desplazamiento en X
%tamao del desplazamiento
%iniciar el primer lmite de iteracin
%arreglo para guardar los resultados de las

%iteraciones
%arreglo para graficar los valores de las
%iteraciones
y = ((.1-0)/2)*(y0+(0.1^2));%primer valor de las condiciones iniciales
imp(1) = y;
%guardar el valor de y en un arreglo
for contador=1: 1:500
x=x+h;
%iniciar el desplazamiento de las x
limiteb=limitea+h;
%establecer el limite final de iteracin
y =((limiteb-limitea)*((limitea^2)+(limiteb^2)))/2; %realizar la
%integracin aproximada por regla de trapecio
%para el primer tramo
imp(contador) = y;
%guardar el resultado en el arreglo
N(contador) = x;
%guardar el desplazamiento de X
limitea=limiteb;
%el limite final se convierte en el lmite
%inferior
end
N= zeros(500,1);

stem(N,imp)

%imprimir el resultado grficamente.

Anexos
En esta seccin aadir las dificultades que se encontraron el sistema de
ecuaciones siguiente

x 1=2 x 1+ x2 +100 ; x 1 ( 0 ) =0 ; h=0.1


x 2=10 x110 x 2 +50 ; x2 ( 0 )=0
9

Definir lmites de integracin:

t = 0 : h : 50

En este punto tenemos 2 ecuaciones de primer orden las cuales se deben


solucionar por el mtodo del trapecio, pero este mtodo se rige por el siguiente
modelo:

y i=

a+b
( f ( a ) +f ( b ))
2

Donde se evala la funcin en el punto A y luego en el punto B, pero al tener 2


variables diferentes no podamos asignarles el mismo valor a ambas por lo que
se propuso solucionar el sistema de ecuaciones en el punto A y en el punto B
para poder realizar la sustitucin de valores, de la siguiente manera se
obtienen los valores

x 1=2 x 1+ x2 +100
x 2=10 x110 x 2 +50

Tomando en cuenta que tanto

x 1 como

x 2 sern evaluados en el punto a o

punto b podremos decir que ambos son iguales y adquieren el valor del
momento de integracin (delimitaremos esto con la variable
igual al

k n +h

k n la cual ser

para cada aumento.

Por lo que las ecuaciones anteriores quedaran de la siguiente manera.

k n =2 x 1+ x 2 +100
k n =10 x 110 x 2 +50

Resolviendo para

x 1 multiplicamos la ec_1 por 5 y la sumamos a ec_2

5 k n=10 x 1+5 x 2 +500


10

k n =10 x 110 x 2 +50


Obtenemos ec_3

6 k n =5 x 2 +550
x 2=

5506 k n
5

Usando el valor calculado de

x 2 obtenemos

x1

x
( 2+100k n )
2
x 1=
Obtenidos los mtodos para calcular x1 y x2 estos se utilizaran antes de cada
iteracin.
Tenemos el problema siguiente

x 1 ( 0 ) =0

El sistema cuenta condiciones iniciales


podran tomar como valores de

f (a )

x 2 ( 0 ) =0

y solo calcular las

las cuales se

x 1 , x 2 para

f (b ) ,

considerando que el desplazamiento es constante sabemos para el siguiente


punto

f (b )

se convertir en

x 1 , x 2 para el nuevo punto de

f (a )
f (b )

, por lo que solo s necesitara calcular


que ser el

f ( b ) anterior + h.

x 1 , x 2 para

f (a )

simultneamente lo cual implicara que los valores obtenidos de

x 1 ,

Por otra parte podemos calcular tanto

f (b )
x 2 no

sern introducidos en la siguiente iteracin. Pero esto nos arroja otras graficas
diferentes a la primer propuesta.

Iteracin 1 para el desplazamiento de 0 a 0.1.

k n =0=a ; k n+1 =0.1=b

x 2a =

5506 k n
5

x
( 2+100k n )
2
x 1 a=
11

x 2b =

5506 k n+1
5

2+100k
(
n+1 )
2
x 1 b=

Primer propuesta

x 1=

ba
0.10
0.1
( f ( a ) +f ( b ) )=
( f ( 0 )+ f ( 0.1 ) )= =(2 x 1 a + x 2 a+ 100 ) + (2 x 1 b + x 2b +1 00 ) =
2
2
2

0.005

x 2=

ba
0.21
0.1
( f ( a ) +f ( b ) )=
( f ( 0 ) + f ( 0.1 )) = ( 10 x1 a 10 x 2 a +50 ) + ( 10 x 1 b10 x 2 b +50 )=0.005
2
2
2

Segunda propuesta

x 1=

ba
0.10
0.1
( f ( a ) +f ( b ) )=
( f ( 0 )+ f ( 0.1 ) )= =(2 x 1 i + x 2i +100 ) + (2 x 1 b+ x2 b +100 ) =
2
2
2

0.005

x 2=

ba
0.21
0.1
( f ( a ) +f ( b ) )=
( f ( 0 ) + f ( 0.1 )) = ( 10 x1 i10 x 2 i+ 50 ) + ( 10 x 1 b10 x2 b +50 ) =0.005
2
2
2

Donde

x 1i ; x 2i

son los valores de la iteracin anterior

Programa
Utilizando la segunda propuesta
disp('Este programa resolver las ecuaciones diferenciales')
disp('dy1/dx = -2x1 + x2 +100; x1(0) = 0 como condiciones iniciales')
disp('dy2/dx = 10x1 - 10x2 +50; x2(0) = 0 como condiciones iniciales')
disp('por medio de la regla de trapecio compuesto')
%datos
x=0;
%valor inicial del desplazamiento en X
h=0.1;
%tamao del desplazamiento
limitea=.1;
%iniciar el primer lmite de iteracin
imp1 = zeros(500,1);
%arreglo para guardar los resultados de las iteraciones
imp2 = zeros(500,1);
%arreglo para guardar los resultados de las iteraciones
N= zeros(500,1);
%arreglo para graficar los valores de las iteraciones
y1 = 0;
%primer integracin con condiciones iniciales
y2 = 0;
%primer integracin con condiciones iniciales
imp1(1) = y1;
%guardar el primer valor de la integracin en el arreglo
imp2(1) = y2;
%guardar el primer valor de la integracin en el arreglo
for contador=2: 1:500
x=x+h;
%iniciar el desplazamiento de las x
limiteb=limitea+h; %establecer el limite final de iteracin
%resolucion de ecuacion para punto b
x2b=((50-x)+5*(100-x))/5;
%obtener x2
x1b=(x2b+(100-x))/2;
%obtener x1
y1=((limiteb-limitea)/2)*((-2*y1+y2+100)+(-2*x1b+x2b+100));
%realizar la integracin aproximada por regla de trapecio para el primer tramo

12

y2=((limiteb-limitea)/2)*((10*y1-10*y2+50)+(10*x1b-10*x2b+50));
%realizar la integracin aproximada por regla de trapecio para el primer tramo
imp1(contador) = y1; %guardar el resultado en el arreglo
imp2(contador) = y2; %guardar el resultado en el arreglo
N(contador) = x;
%guardar el desplazamiento de X
limitea=limitea+h;
%el limite final se convierte en el lmite inferior
end
stem(N,imp1)
figure(2);
stem(N,imp2)

%imprimir el resultado grficamente.


%generar un cuadro nuevo para la siguiente grfica
%generar la segunda grfica a partir de los valores de y2

disp('Este programa resolver las ecuaciones diferenciales')


disp('dy1/dx = -2x1 + x2 +100; x1(0) = 0 como condiciones iniciales')
disp('dy2/dx = 10x1 - 10x2 +50; x2(0) = 0 como condiciones iniciales')
disp('por medio de la regla de trapecio compuesto')

13

%datos
x=0;
%valor inicial del desplazamiento en X
h=0.1;
%tamao del desplazamiento
limitea=.1;
%iniciar el primer lmite de iteracin
imp1 = zeros(500,1);
%arreglo para guardar los resultados de las iteraciones
imp2 = zeros(500,1);
%arreglo para guardar los resultados de las iteraciones
N= zeros(500,1);
%arreglo para graficar los valores de las iteraciones
y1 = 0;
%primer integracin con condiciones iniciales
y2 = 0;
%primer integracin con condiciones iniciales
imp1(1) = y1;
%guardar el primer valor de la integracin en el arreglo
imp2(1) = y2;
%guardar el primer valor de la integracin en el arreglo
for contador=2: 1:500
%resolucin de ecuacin para punto a
x2a=((50-x)+5*(100-x))/5; %obtener x2 en a
x1a=(x2a+(100-x))/2;
%obtener x1 en a
x=x+h;
%iniciar el desplazamiento de las x
limiteb=limitea+h;
%establecer el lmite final de iteracin
%resolucin de ecuacin para punto b
x2b=((50-x)+5*(100-x))/5;
%obtener x2 en b
x1b=(x2b+(100-x))/2;
%obtener x1 en b
y1=((limiteb-limitea)/2)*((-2*x1a+x2a+100)+(-2*x1b+x2b+100));
%realizar la integracin aproximada por regla de trapecio para el primer tramo
y2=((limiteb-limitea)/2)*((10*x1a-10*x2a+50)+(10*x1b-10*x2b+50));
%realizar la integracin aproximada por regla de trapecio para el primer tramo
imp1(contador) = y1;
imp2(contador) = y2;
N(contador) = x;
limitea=limitea+h;
end
stem(N,imp1)
figure(2);
stem(N,imp2)

%guardar el resultado en el arreglo


%guardar el resultado en el arreglo
%guardar el desplazamiento de X
%el lmite final se convierte en el lmite inferior

%imprimir el resultado grficamente.


%generar un cuadro nuevo para la siguiente grfica
%generar la segunda grfica a partir de los valores de y2

14

Conclusin.
Gonzales Paz Viridiana: Dentro de la realizacin del trabajo aprend un poco
ms de mtodos numricos, ya que en la materia de cuarto semestre no vi de
la manera que se desarroll en el proyecto. Adems de conocer el mtodo de
Runge Kutta de 4to orden que es un promedio de pendientes dadas desde los
puntos que se evalan. En este mtodo al principio cuando me lo explicaron
mis compaeros de equipo, pero al momento de leerlo mejor y comprender
mejor el mtodo se me hizo sencillo (claro que para las primeras iteraciones,
ya que cuando se hacen con ms de 10 iteraciones si es muy pesado). Otra
confusin que surgi fue en el mtodo del trapecio porque no sabamos que
valores tomar para que la grfica diera los resultados que necesitbamos,
nuestras opciones siempre daban resultados muy extraos que no coincidan
con las grficas de los otros mtodos (Euler y Runge Kutta).
Por mi parte lo ms difcil fue comprender como es que funcionaba cada
mtodo y como aplicarlo dentro de nuestras funciones, ya que programarlo de
cierta forma no est difcil siempre y cuando comprendas lo que quieres hacer.
Hernndez Rodrguez Luis Arturo: Este trabajo presento ciertas dificultades
pero a la larga nos permiti encontrar una aplicacin de los mtodos
numricos ya que con esta herramienta pudimos aprender a graficar
ecuaciones diferenciales y de esta manera tener una forma grfica que
represente el comportamiento de una determinada ecuacin.
15

Los problemas que tuvimos se centran en un solo mtodo que fue el del
trapecio el cual para empezar no lo ubicbamos bien dentro de los libros, una
vez que solucionamos este problema surgi otro en el cual no entendamos
bien como aplicar el mtodo del trapecio a un sistema de ecuaciones ya que al
generar la primera iteracin no sabamos que valor deba tomar la segunda
variable.
Para terminar
este trabajo
nos permiti pulirnos en una herramienta
matemtica que son los mtodos numricos que a final de cuentas es un
apoyo para graficar ciertas funciones
Tello Rodrguez Brian: Durante el trabajo con estas ecuaciones note la
ventaja y desventaja de los mtodos numricos, en primera su gran ventaja
que poseen frente al clculo analtico es que realmente solo se necesita
aprender el mtodo para poder programarlo en un ordenador para que este
realice los siguientes pasos, volviendo as ms sencilla la labor de obtener los
resultados de dichas ecuaciones, otro factor importante es que cada mtodo
tiene un nivel de error o porcentaje de error aproximado, el cual se puede ir
reduciendo al hacer ms pequeo el paso de integracin o realizar ms
iteraciones, una de las complicaciones ms grandes fue plantear un algoritmo
que realizara n cantidad de iteraciones con los datos iniciales y que fuera
autnomo al momento de realizar el cambio de lmites para la integracin,
adems que otro gran problema que surgi fue con la segunda ecuacin y el
mtodo del trapecio ya que en dos mtodos daba ciertas graficas pero con este
ltimo mtodo cambiaba radicalmente, al momento de igualar las ecuaciones
para en un punto especfico y resolver para obtener valores ambas graficas
cambiaban en todos los mtodos esto lo puede notar en anexos.

16

Potrebbero piacerti anche