Se desarrollan temas de matemáticas con el uso del software Wolfram Mathematica. . germanalvarado@usta.edu.co
martes, 6 de marzo de 2018
Ecuaciones Diferenciales de Primer Orden
Las EDO (Ecuaciones Diferenciales Ordinarias) de primer Orden, las podemos escribir como:
es decir, como la derivada igual a una función que depende de la variable (x) y la incógnita (y).
Interpretación Geométrica
De Cálculo Diferencial sabemos que la derivada la interpretamos como: Pendiente de la recta tangente en un punto. Así, para cada punto en el plano (x,y) la función f(x,y) nos indica la pendiente de la recta tangente de alguna curva solución que por allí pase.
Campos de Pendientes
De acuerdo a la anterior interpretación, podemos en cada punto trazar un pequeño segmento que tenga la pendiente que nos indica la función f(x,y).
Comandos de Mathematica
Con los comandos VectorPlot[ ] y StreamPlot[ ] podemos representar los campos de pendientes
f[x_, y_] := x - 2 y
VectorPlot[{1, f[x, y]}, {x, -5, 5}, {y, -10, 10}]
StreamPlot[{1, f[x, y]}, {x, -5, 5}, {y, -10, 10}]
y mejorando la forma y tamaño de las flechas
VectorPlot[{1, f[x, y]}, {x, -5, 5}, {y, -10, 10}, Axes -> True,
Frame -> False, VectorScale -> {Tiny, Tiny, None},
ImageSize -> Large]
Soluciones Analíticas
Mathematica resuelve EDO de forma analítica por medio del comando DSolve[ ], veamos:
Ejemplo :
Resolver la ecuación diferencial
DSolve[y'[x] + 2 y[x] == x, y[x], x]
sol = y[x] /. DSolve[{y'[x] + 2 y[x] == x, y[0] == 1}, y[x], x][[1]]
Graficando junto al campo de pendientes
g1 = VectorPlot[{1, f[x, y]}, {x, -5, 5}, {y, -10, 10}, Axes -> True,
Frame -> False, VectorScale -> {Tiny, Tiny, None},
ImageSize -> Large]
g2 = Plot[sol, {x, -6, 6}, PlotStyle -> Red];
Show[g1, g2]
Clear[y, x, h, a, b]
plot1 = VectorPlot[{1, f[x, y]}, {x, -5, 5}, {y, -10, 10},
Axes -> True, Frame -> False, VectorScale -> {Tiny, Tiny, None},
ImageSize -> 250];
sola = DSolve[{y'[x] == f[x, y[x]], y[a] == b}, y[x], x];
h[x_, a_, b_] = Simplify[sola[[1, 1, 2]]];
plot3 = Plot[
Evaluate[Table[h[x, a, b], {a, -3, 3, 2}, {b, -3, 3, 2}]], {x, -5,
5}, PlotRange -> {-10, 10}];
Show[plot1, plot3, ImageSize -> 250]
Mediante un Manipulate
Manipulate[
Show[g1, Plot[
Evaluate[
y[x] /. DSolve[{y'[x] + 2 y[x] == x, y[a] == b}, y[x], x][[
1]]], {x, -6, 6}, PlotStyle -> Red],(*Plot[1/2x-1/4,{x,-5,5}],*)
Graphics[{PointSize[Large], Point[{a, b}]}]], {{a, 0}, -5,
5}, {{b, 0}, -5, 5}]
Otro Ejemplo
La ecuación diferencial
DSolve[y'[x] == y[x]^2 - 4, y[x], x]
Manipulate[
Show[VectorPlot[{1, y^2 - 4}, {x, -5, 5}, {y, -6, 6}, Axes -> True,
Frame -> False, VectorScale -> {Tiny, Tiny, None},
ImageSize -> 250],
Plot[{-2,
2, -((2 (2 + c - 2 E^(4 x) + c E^(4 x)))/(-2 - c - 2 E^(4 x) +
c E^(4 x)))}, {x, -5, 5}, PlotStyle -> {LightBlue, Green, Red},
Exclusions -> {-2 - c - 2 E^(4 x) + c E^(4 x) == 0}]], {{c,
0}, -10, 10}]
Para aprender más sobre Mathematica ingrese aquí sitio de aprendizaje de Wolfram o en mi website ustamathematica.wixsite.com/basicas
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario