Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESIME AZCAPOTZALCO
ROBOTICA INDUSTRIAL
GRUPO: 2RV1
PRACTICA 4
EULER
Marco terico:
Este mtodo se aplica para encontrar la solucin a ecuaciones diferenciales
ordinarias, esto es, cuando la funcin involucra solo una variable
independiente:
dy
f ( x , y)
dx
y i+1= y1 + h
De esta manera, la formula (1). Se aplica paso a paso para encontrar un valor
en el futuro y as trazar la trayectoria de la solucin.
El mtodo de Euler utiliza la pendiente al inicio del intervalo como una
aproximacin de la pendiente promedio sobre todo el intervalo. La primera
derivada proporciona una estimacin directa de la pendiente
=f (x . y )
F (xi, yi), es la ecuacin diferencial evaluada en xi y yi. Sustituyendo esta
estimacin de la pendiente en la ecuacin se tiene
y i+1= y1 + f ( xi . yi ) h
La ecuacin (2) se le conoce como mtodo de Euler. En esta frmula se predice
un nuevo valor de y por medio de la pendiente que es igual a la primera
derivada en el valor original de x, este nuevo valor habr de extrapolarse en
forma lineal sobre el tamao de paso h.
Desarrollo:
1. Elaborar en una hoja en Excel para la solucin de un problema por el
mtodo de Euler por medio de macros.
2. Se abre el macro y se escribe lo siguiente para la primera solucin por
mtodo de Euler
Sub Final1()
Dim s, h, x, y, y1, y2, y3, y4, y5, y6, n As Double
x = Range ("a1")
y = Range ("b1")
s = ((y / x) + 1)
ActiveCell.Value = s
n = InputBox("Inserta el nmero de intervalos n")
h=1/n
Cells(1, 8) = h
n=n
h = Range("h1")
x = Range("a1")
E=x+h
For i = 2 To n + 1
Cells(i, 1) = E
E=E+h
Next i
y1 = (Range("b1")) + ((h) * (Range("a1")))
Cells(2, 2) = y1
Cells(2, 3) = ((Range("b2") / (Range("a2"))) + 1)
Cells(3, 2) = (Range("b2")) + ((h) * (Range("c2")))
Cells(3, 3) = ((Range("b3") / (Range("a3"))) + 1)
Cells(4, 2) = (Range("b3")) + ((h) * (Range("c3")))
Cells(4, 3) = ((Range("b4") / (Range("a4"))) + 1)
Cells(5, 2) = (Range("b4")) + ((h) * (Range("c4")))
Cells(5, 3) = ((Range("b5") / (Range("a5"))) + 1)
Cells(6, 2) = (Range("b5")) + ((h) * (Range("c5")))
Cells(6, 3) = ((Range("b6") / (Range("a6"))) + 1)
Cells(7, 2) = (Range("b6")) + ((h) * (Range("c6")))
End Sub
3. Se abre el macro y se escribe lo siguiente para la segunda solucin por
mtodo de Euler
Sub Final2()
Dim s, h, x, y, y1, y2, y3, y4, y5, y6, n As Double
x = Range("a1")
y = Range("b1")
s=y
ActiveCell.Value = s
n = InputBox("Inserta el nmero de intervalos n")
h=1/n
Cells(1, 8) = h
n=n
h = Range("h1")
x = Range("a1")
E=x+h
For i = 2 To n + 1
Cells(i, 1) = E
E=E+h
Next i
y1 = (Range("b1")) + ((h) * (Range("b1")))
Cells(2, 2) = y1
Cells(2, 3)
Cells(3, 2)
Cells(3, 3)
Cells(4, 2)
Cells(4, 3)
Cells(5, 2)
Cells(5, 3)
Cells(6, 2)
Cells(6, 3)
Cells(7, 2)
End Sub
=
=
=
=
=
=
=
=
=
=
(Range("b2"))
(Range("b2"))
(Range("b3"))
(Range("b3"))
(Range("b4"))
(Range("b4"))
(Range("b5"))
(Range("b5"))
(Range("b6"))
(Range("b6"))
+ ((h) * (Range("c2")))
+ ((h) * (Range("c3")))
+ ((h) * (Range("c4")))
+ ((h) * (Range("c5")))
+ ((h) * (Range("c6")))
y'
1
0
1
1.166666 0.166666 1.142857
67
67
14
1.333333 0.357142 1.267857
33
86
14
0.568452 1.378968
1.5
38
25
1.666666 0.798280 1.478968
67
42
25
1.833333 1.044775 1.569877
33
13
34
1.306421
2
36
5. La segunda funcin en la que queremos evaluar los resultados son.
x
y
y'
1
1
1
1.166666 1.166666 1.166666
67
67
67
1.333333 1.361111 1.361111
33
11
11
1.587962 1.587962
1.5
96
96
1.666666 1.852623 1.852623
67
46
46
1.833333 2.161394 2.161394
33
03
03
2.521626
2
37
6. Guardar los archivos resultados de la practica en una carpeta con el
siguiente nombre:
Apellido1_apellido2_ Euler