Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

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


No hay comentarios.:

Publicar un comentario