\(\(\(
\)\(
\)\(\(\(<< Graphics`ImplicitPlot`\)\(\ \ \)\(
\)
    \)

    \(Off[General::spell];\)

    \($ContInput = 0;\)

    \(flecha[p_, m_, l_] := 
        Graphics[{
	Thickness[0], 
	
            Line[{p, p + l/Sqrt[1 + m^2] {1, m}}]
}];\)




    \(flecha1[p_, m_, l_] := 
        Line[{p, 
            p + l/Sqrt[1 + m^2] {1, 
                  m}}];\)



 (*Dibujo\ de\ ángulos*) 
 (*Definición\ de\ la\ función\ ángulo*) 


    \(angulo[m_, letram_, letraA_, {p_, q_}] := \((
	A = ArcTan[m]; 
	
          texto1 = StringJoin[letram, "=", ToString[N[m]]]; 
	
          texto2 = 
            StringJoin[letraA, "=", 
              ToString[N[A\ 360/\((2  Pi)\), 3]], "º=", 
		ToString[
                N[A, 2]], "rad"]; 
	
          Graphics[{
		Thickness[
                0], 
		Line[{{1 + p, q}, {p, q}, 
                  1/Sqrt[1 + m^2]\ {1, m} + {p, q}}], 
		Text[
                texto1, {3/4 + p,  .1 + q}], 
		Text[
                texto2, {3/4 + p,  .05 + q}], 
		Circle[{p, q}, 
                1/2, {Min[0, A], Max[0, A]}]
	}]
)\);\)


    \(Off[Power::infy];\)

    \(Off[Graphics::gptn];\)

    \(Off[∞::indet];\)

    \(Off[NDSolve::ndsz];\)

    \(Off[InterpolatingFunction::dmval];\)

    \(Off[NDSolve::ndnum];\)

    \(Off[ReplaceAll::reps];\)

    \(Off[Plot::plnr];\)

    \(Off[
        General::spell];\)

 (*Función\ EJEMPLO1\ \((necesita\ la\ función\ ángulo)\)*) 


    \(EJEMPLO1 := \((
	final =. ; 
	
          m = $zEntrada; 
		Show[angulo[m, "m", "A", {0, 0}], 
            PlotRange -> 
              All, 
			DisplayFunction -> $DisplayFunction];
)\);\)




 (*Derivada\ de\ una\ función\ y\ pendientes*) 
 (*Definición\ de\ la\ función\ EJEMPLO2\ en\ la\ que\ se\ dibuja\ una\ función\ y\ 

        tres\ puntos\ fijos\ dibuja\ el\ ángulo\ de\ pendiente\ en\ ese\ punto . 
\ 
          Se\ necesita\ una\ variación\ de\ la\ función\ angulo\ que\ hemos
\ llamado\ \(\(angulo1\)\(.\)\)*) 


    \(angulo1[m_, letram_, letraA_, {p_, q_}, l0_] := \((
	
          A = ArcTan[m]; 
	
          texto1 = StringJoin[letram, "=", ToString[N[m]]]; 
	
          texto2 = 
            StringJoin[letraA, "=", 
              ToString[N[A\ 360/\((2  Pi)\), 3]], "º=", 
		ToString[
                N[A, 2]], "rad"]; 
	
          Graphics[{
		RGBColor[0, 1, 0], 
		Thickness[
                0], 
		Line[{{l0 + p, q}, {p, q}, 
                  l0/Sqrt[1 + m^2]\ {1, m} + {p, q}}], 
		 (*Text[
                  texto1, {3/4 + p,  .1 + q}], 
		Text[
                  texto2, {3/4 + p,  .05 + q}], *) 
		Circle[{p, q}, 
                l0/2, {Min[0, A], Max[0, A]}]
	}]
)\);\)



    \(EJEMPLO2 := \((
	final =. ; 
	n = 3; 
	f = $zEntrada; 
	
          Print["__________________________________________________"]; 
	\ \ ldf = Table[N[\((D[f, t] /. {t -> i/n})\)], {i, 0, n}]; 
	\ \ lf = 
            Table[N[\((f /. {t -> i/n})\)], {i, 0, 
                n}]; 
	\ \ Show[
	\ \ \ \ Join[
	\ \ \ \ \ \ Table[
                angulo1[
                  ldf[\([i + 1]\)], "m", "A", {i/n, lf[\([i + 1]\)]}, 
                  1/\((n + 1)\)], 
	\ \ \ \ \ \ \ \ {i, 0, 
                  n}]
	\ \ \ \ \ \ , 
	\ \ \ \ \ \ {
	\ \ \ \ \ \ \ \ Plot[f, {t, 0, 1}, 
                  DisplayFunction -> 
                    Identity], 
		Graphics[
	\ \ \ \ \ \ \ \ \ \ Table[
                    Text[
	\ \ \ \ \ \ \ \ \ \ \ \ \ \ FontForm[
                        StringJoin["A", ToString[i]], {"Curier", 
                          8}], 
	\ \ \ \ \ \ \ \ \ \ \ \ \ \ {i/n -  .05, 
                        lf[\([i + 
                              1]\)]}
	\ \ \ \ \ \ \ \ \ \ \ \ ], 
	\ \ \ \ \ \ \ \ \ \ \ \ {i, 0, 
                      n}
	\ \ \ \ \ \ \ \ \ \ ]
	\ \ \ \ \ \ \ \ ]	\ \ \ \ \ \ \ \ \ \ 
	\ \ \ \ \ \ }
	\ \ \ \ ]
	\ \ \ \ , 
	\ \ \ \ DisplayFunction -> $DisplayFunction, 
            PlotRange -> All, 
	\ \ \ \ Axes -> True, 
            Ticks -> {Table[N[i/n, 2], {i, 0, n}], 
                None}, 
	\ \ \ \ AspectRatio -> 
              Automatic
	\ \ ]; 
\ \ \ \ Print[
			TableForm[
				Table[{
	\ \ \ \ \ \ \ \ \ StringForm["t=``", 
                    NumberForm[N[i/n, 2], 
                      4]], 
			\ \ \ \ StringForm["f'(t)=``", 
                    NumberForm[N[ldf[\([i + 1]\)], 4], 
                      4]], 
	\ \ \ \ \ \ \ \ StringForm[\ \ "A``=arctg(f'(t))=``º", i, 
                    NumberForm[
                      N[ArcTan[ldf[\([i + 1]\)]]\ 360/\((2  Pi)\), 3], 
                      4]]
					}
	\ \ , 
	\ \ \ \ {i, 0, 
                  n}\ \ 
	\ \ ]\ 
				]]; 
		\ \ Print["_____________________________________"];
)\);\)




 (*Definición\ de\ la\ función\ EJEMPLO3\ que\ dibuja\ el\ campo\ de\ 
direcciones\ de\ una\ 

        función\ F \((t, 
          x)\)\ en\ cierto\ \(\(rectángulo\)\(.\)\)*) 


    \(EJEMPLO3 := \((
\ \ n = 
            400; 
\ \ final =. ; 
\ \ {F, a1, b1, a2, 
              b2} = $zEntrada; 
\ \ \ \ d1 = b1 - a1; 
\ \ \ \ d2 = 
            b2 - a2; 
\ \ \ \ se = 
            N[Sqrt[d1\ d2/n]]; 
\ \ \ \ c = {\((a1 + b1)\)/2, \((a2 + b2)\)/
                2}; 
\ \ \ \ n1 = 
            Round[\((b1 - a1)\)/\((2\ se)\)]; 
\ \ \ \ n2 = 
            Round[\((b2 - a2)\)/\((2\ se)\)]; 
\ \ \ \ long = 
            10\ se/8; 
\ \ \ \ Show[
\ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ flecha[
\ \ \ \ \ \ \ \ \ \ c + se {i, j}, 
                N[\((F /. {t -> c[\([1]\)] + se\ i, 
                        x -> c[\([2]\)] + se\ j})\)], 
                long
\ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ {i, \(-n1\), n1}, {j, \(-n2\), 
                n2}
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> 
              Automatic, 
            Axes -> True
\ \ \ \ ];\ \ 
)\);\)





 (*Definición\ de\ la\ función\ EJEMPLO4\ que\ dibuja\ el\ campo\ de\ direcciones
\ de\ una\ 

        función\ F \((t, 
          x)\)\ en\ cierto\ rectángulo\ junto\ con\ las\ soluciones\ de\ la\ 

        ecuación\ diferencial\ correspondiente\ en\ dicho\ \(\(rectángulo\)\(.\)\)*) 


    \(EJEMPLO4 := \((
\ \ n = 
            400; 
\ \ final =. ; 
\ \ {F, a1, b1, a2, 
              b2} = $zEntrada; 
\ \ \ \ d1 = b1 - a1; 
\ \ \ \ d2 = 
            b2 - a2; 
\ \ \ \ se = 
            N[Sqrt[d1\ d2/n]]; 
\ \ \ \ c = {\((a1 + b1)\)/2, \((a2 + b2)\)/
                2}; 
\ \ \ \ n1 = 
            Round[\((b1 - a1)\)/\((2\ se)\)]; 
\ \ \ \ n2 = 
            Round[\((b2 - a2)\)/\((2\ se)\)]; 
\ \ \ \ long = 
            10\ se/8; 
\ \ \ \ Show[
\ \ \ \ \ \ Join[
\ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ flecha[
\ \ \ \ \ \ \ \ \ \ \ \ c + se {i, j}, 
                  N[\((F /. {t -> c[\([1]\)] + se\ i, 
                          x -> c[\([2]\)] + se\ j})\)], 
                  long
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ {i, \(-n1\), n1}, {j, \(-n2\), 
                  n2}
\ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ Plot[
\ \ \ \ \ \ \ \ \ \ \ \ Evaluate[\(\((x /. 
                            NDSolve[{\(x'\)[
                                    t] == \((F /. {x -> 
                                        x[t]})\)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ , x[c[\([1]\)]] == c[\([2]\)] + i\ \((b2 - a2)\)/
                                        6}
\ \ \ \ \ \ \ \ \ \ \ \ \ \ , 
                              x, {t, a1, b1}])\)[\([1]\)]\)[
                      t]]
\ \ \ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ \ \ {t, a1, b1}, DisplayFunction -> Identity
\ \ \ \ \ \ \ \ \ \ \ \ , 
                  PlotStyle -> {{RGBColor[0, 0, 1], 
                        Thickness[
                          0.008]}}
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ {i, \(-3\), 
                  3}
\ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> Automatic, Axes -> True, 
            DisplayFunction -> $DisplayFunction, 
\ \ \ \ \ \ PlotRange -> {a2, b2}
\ \ \ \ ];
\ \ 
)\);\)





 (*Método\ de\ las\ isoclinas*) 

 (*\ \ FUNCIÓN\ ISOCLINA1\ NECESARIA\ PARA\ LAS\ GRÁFICAS\ PORSTERIORES\ \ *) 

    \(isoclina1[F_, x_, y_, xi_, xf_, d_, k_, l_] := \((
	final = {}; 
	
          i = N[xi]; 
	
          sustituir[s_] := 
            flecha1[{i, s}, \((F /. {x -> i, y -> s})\), l]; 
	
          Attributes[sustituir] = {Listable}; 
	
          While[i < N[xf], 
	\ \ AppendTo[
              final, 
	\ \ sustituir[
                yp = \((Union[
                      y /. NSolve[\((F /. {x -> i})\) == k, 
                          y]])\)]]; 
	\ \ yp = yp[\([1]\)]; 
	\ \ If[
              Not[\((D[F, y] /. {x -> i, y -> yp})\) == 
                  0], 
	\ \ incremento = 
                N[\ \ \ d/
                    Sqrt[1 + 
                        Abs[\((D[F, x]/D[F, y] /. {x -> i, 
                                  y -> yp})\)]^2]\ \ \ \ ]]; 
	\ \ incremento = Max[incremento, d/10]; 
	\ \ i += 
              incremento; 
	\ \ incremento = 0;
	]; 
	
          Flatten[final]
)\);\)




 (*Definicion\ de\ la\ función\ EJEMPLO5\ que\ desarrolla\ el\ método\ de\ las\ 

        isoclinas*) 


    \(EJEMPLO5 := \((
\ \ n = 
            6; 
\ \ final =. ; 
\ \ {F, a1, b1, a2, 
              b2} = $zEntrada; 

\ \ \ \ d1 = b1 - a1; 
\ \ \ \ d2 = 
            b2 - a2; 
\ \ \ \ med = \((d1 + d2)\)/2; 
\ \ \ \ se = 
            med/20; 
\ \ \ \ c = {\((a1 + b1)\)/2, \((a2 + b2)\)/
                2}; 
\ \ \ \ n1 = 
            Round[\((b1 - a1)\)/\((2\ se)\)]; 
\ \ \ \ n2 = 
            Round[\((b2 - a2)\)/\((2\ se)\)]; 
\ \ \ \ long = 
            med/16; 
\ \ \ \ lk = 
            Union[Table[\((F /. {t -> c[\([1]\)], 
                      x -> c[\([2]\)] + i\ \((b2 - a2)\)/6})\), {i, \(-3\), 
                  3}]]; 
\ \ \ \ grafico1 = \ \ \ \ \ \ \ \ \ \ \  (*\ \ \ Trazado\ de\ los\ ángulos\ \ \ \ *) 
\ \ \ \ \ \ \ \ {Graphics[{
\ \ \ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ \ \ isoclina1[F, t, x, a1, b1, 
                      se, lk[\([i]\)], 
                      long]
\ \ \ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ \ \ {i, 1, Length[
                        lk]}
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ }]}; 
\ \ \ \ grafico2 = \ \ \ \ \ \ \ \ \ \ \  (*\ \ \ Trazado\ de\ las\ isoclinas\ \ \ \ *) 
\ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ ImplicitPlot[
                F == lk[\([i]\)], {t, a1, 
                  b1}, 
\ \ \ \ \ \ \ \ \ \ \ \ PlotStyle -> 
                  RGBColor[1, 0, 0], 
                DisplayFunction -> 
                  Identity
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ {i, 1, 
                Length[lk]}
\ \ \ \ \ \ \ \ ]; 
\ \ \ \ grafico3 = \ \ \ \ \ \ \ \ \ \ \  (*\ \ Trazado\ de\ las\ soluciones\ \ \ \ *) 
\ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ Plot[
\ \ \ \ \ \ \ \ \ \ \ \ Evaluate[\(\((x /. 
                          NDSolve[{\(x'\)[
                                  t] == \((F /. {x -> 
                                        x[t]})\)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ , x[c[\([1]\)]] == c[\([2]\)] + i\ \((b2 - a2)\)/
                                      6}
\ \ \ \ \ \ \ \ \ \ \ \ \ \ , 
                            x, {t, a1, b1}])\)[\([1]\)]\)[
                    t]]
\ \ \ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ \ \ {t, 
                  a1, b1}, 
                DisplayFunction -> Identity
\ \ \ \ \ \ \ \ \ \ \ \ , 
                PlotStyle -> {{RGBColor[0, 0, 1], 
                      Thickness[
                        0.008]}}
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ {i, \(-3\), 3}
\ \ \ \ \ \ \ \ ]; 
\ \ \ \ If[
            Not[Cases[grafico2, ImplicitPlot[___]] == {}], 
            grafico2 = {}]; 

\ \ \ \ Show[
\ \ \ \ \ \ Join[
\ \ \ \ \ \ \ \ grafico2
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> 
              Automatic, Axes -> True, 
            DisplayFunction -> $DisplayFunction, 
\ \ \ \ \ \ PlotRange -> {a2, b2}, 
            PlotLabel -> "Isoclinas para las pendientes"
\ \ \ \ ]; 
\ \ \ \ Show[
\ \ \ \ \ \ Join[
\ \ \ \ \ \ \ \ grafico1
\ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ grafico2
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> 
              Automatic, Axes -> True, 
            DisplayFunction -> $DisplayFunction, 
\ \ \ \ \ \ PlotRange -> {a2, b2}, 
            PlotLabel -> "Trazado de ángulos en isoclinas"
\ \ \ \ ]; 
\ \ \ \ Show[
\ \ \ \ \ \ Join[
\ \ \ \ \ \ \ \ grafico1
\ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ grafico2
\ \ \ \ \ \ , \ \ \ \ \ 
\ \ \ \ \ \ \ \ grafico3
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> Automatic, 
            Axes -> True, 
            DisplayFunction -> $DisplayFunction, 
\ \ \ \ \ \ PlotRange -> {a2, b2}, 
            PlotLabel -> "Trazado de las soluciones"
\ \ \ \ ]; 
\ \ \ \ Show[
\ \ \ \ \ \ Graphics[
\ \ \ \ \ \ \ \ Text[
                StringJoin["Valores de k usados
", ToString[lk]], {0, 
                  0}]
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ PlotRange -> 
              All
\ \ \ \ ];
)\);\)





 (*Familias\ de\ curvas*) 
 (*Función\ EJEMPLO6\ que\ traza\ las\ curvas\ de\ una\ familia\ su\ ecuación\ 

        diferecial\ y\ la\ gráfica\ de\ la\ ecuación\ \(\(diferencial\)\(.\)\)*) 


    \(EJEMPLO6 := \((
\ \ n = 
            400; 
\ \ final =. ; 
\ \ {F, a1, b1, a2, 
              b2} = $zEntrada; 

\ \ \ \ d1 = b1 - a1; 
\ \ \ \ d2 = 
            b2 - a2; 
\ \ \ \ se = 
            N[Sqrt[d1\ d2/n]]; 
\ \ \ \ c = {\((a1 + b1)\)/2, \((a2 + b2)\)/
                2}; 
\ \ \ \ n1 = 
            Round[\((b1 - a1)\)/\((2\ se)\)]; 
\ \ \ \ n2 = 
            Round[\((b2 - a2)\)/\((2\ se)\)]; 
\ \ \ \ long = 
            10\ se/8; 
\ \ \ \ F1 = \(-Simplify[
                D[F, t]/D[F, x]]\); 
\ \ \ \ StylePrint[
            StringForm["Para F(t,x) = `` la ecuación asociada es x'=``", F, 
              F1]]; 
\ \ \ \ grafico1 = 
\ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ Plot[
\ \ \ \ \ \ \ \ \ \ \ \ Evaluate[\(\((x /. 
                          NDSolve[{\(x'\)[
                                  t] == \((F1 /. {x -> 
                                        x[t]})\)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ , x[c[\([1]\)]] == c[\([2]\)] + i\ \((b2 - a2)\)/
                                      6}
\ \ \ \ \ \ \ \ \ \ \ \ \ \ , 
                            x, {t, a1, b1}])\)[\([1]\)]\)[
                    t]]
\ \ \ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ \ \ {t, 
                  a1, b1}, 
                DisplayFunction -> Identity
\ \ \ \ \ \ \ \ \ \ \ \ , 
                PlotStyle -> {{RGBColor[0, 0, 1], 
                      Thickness[
                        0.008]}}
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ {i, \(-3\), 
                3}
\ \ \ \ \ \ \ \ ]; 
\ \ \ \ grafico2 = 
\ \ \ \ \ \ \ \ Table[
\ \ \ \ \ \ \ \ \ \ flecha[
\ \ \ \ \ \ \ \ \ \ \ \ c + se {i, j}, 
                N[\((F1 /. {t -> c[\([1]\)] + se\ i, 
                        x -> c[\([2]\)] + se\ j})\)], 
                long
\ \ \ \ \ \ \ \ \ \ ]
\ \ \ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ \ \ {i, \(-n1\), n1}, {j, \(-n2\), 
                n2}
\ \ \ \ \ \ \ \ ]; 

\ \ \ \ Show[
\ \ \ \ \ \ Join[
\ \ \ \ \ \ \ \ grafico1
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> 
              Automatic, Axes -> True, 
            DisplayFunction -> $DisplayFunction, 
\ \ \ \ \ \ PlotRange -> {a2, b2}, 
\ \ \ \ \ \ PlotLabel -> "Curvas de la familia"
\ \ \ \ ]; 
\ \ \ \ Show[
\ \ \ \ \ \ Join[
\ \ \ \ \ \ \ \ grafico2
\ \ \ \ \ \ , 
\ \ \ \ \ \ \ \ grafico1
\ \ \ \ \ \ ]
\ \ \ \ , 
\ \ \ \ \ \ AspectRatio -> 
              Automatic, Axes -> True, 
            DisplayFunction -> $DisplayFunction, 
\ \ \ \ \ \ PlotRange -> {a2, b2}, 
\ \ \ \ \ \ PlotLabel -> "Direcciones de la E.D.O."
\ \ \ \ ];\ \ 
)\);\)


    \)\)\)

REPRESENTACIÓN E INTERPRETACIÓN GRÁFICA DE ECUACIONES DIFERENCIALES

Interpretación gemétrica de una ecuación diferencial

Pendientes y Ángulos

Dado un ángulo A podemos calcular su pendiente como:
							m = tg(A)
de este modo para cada pendiente m tenemos un ángulo asociado. Así por ejemplo:

Vease pues que conocido m es fácil calcular el ángulo A como
							A=Arctg(m)
   Compruebese que ángulo corresponde a cada valor de la pendiente m mediante el siguiente ejemplo:

Derivada de una función y pendientes

Dada un función derivable f(t) sabemos que:
	f'(t) = pendiente del ángulo que forma la función f con la horizontal en el punto t.

En el gráfico anterior tenemos que
	A = ángulo que forma la función f en el punto t o (t,f(t)) con la horizontal
sabemos entonces que la pendiente asociada al ángulo A es
						m = tg(A),
con lo cual 
						f'(t) = m = tg(A).

   Vease que de manera general es equivalenta hablar del punto t de la función f que hablar del punto (t,f(t)) de la función f.

   En el ejemplo siguiente introduciendo un función con variable t podremos apreciar el ángulo que forma esta con la horizontal en los puntos t = 0, t = 1/3, t = 2/3, t = 1  y la relación de tal ángulo con la derivada de la función f en estos puntos.

Por lo tanto f'(t) determina la dirección o pendiente de la función f en el punto t o (t,f(t)) de su trayectoria.

Campo de direcciones determinado por una función F de 2 variables

Dada una función F(t,x) de dos variables para cada punto del plano (t,x)  F nos proporciona un número real. Así por ejemplo para F(t,x) = t + x  temos

Si cada número así obtenido lo consideramos como una pendiente tendrá un ángulo asociado y de este modo en el ejemplo anterior situando en cada punto el ángulo que le corresponde tenemos

Así pues F determina una ángulo o dirección para cada punto del plano. Si intentamos representar estas direcciones en un mayor número de puntos obtendremos

Al conjunto de direcciones que de este modo aparecen en cada punto del plano se le sule llamar campo de direcciones generado por la función F(t,x). En el siguiente ejemplo introduciendo una función del tipo F(t,x) y los límites de un rectángulo podremos observar el campo de direcciones generado por F dentro de dicho rectángulo.

Interpertación geométrica de una E.D.O.

Dada una E.D.O.  x'(t) = F(t,x(t)), toda solución x(t) tendrá pendiente o dirección en el punto t ( ó lo que es lo mismo en el punto (t,x(t)) ) dada por el valor de su derivada en tal punto, x'(t). Ahora bien si x(t) es solución de la ecuación diferencial, el valor de tal derivada vendrá evidentemente determinado por el valor de la función F en el punto (t,x(t)):
			x'(t) = F(t,x(t))
Por lo tanto la dirección de la solución x(t) en cada punto será la marcada por las direcciones del campo generado por F. Así por ejemplo para la ecuación diferencial x'(t) = t + x(t) vemos abajo su campo de direcciones y a continuación la representación de sus soluciones (en color azul).

Consideremos ahora un punto (t0,x0) del plano y consideremos las curvas solución que pasan por ese punto

Es evidente que cualquier solución x(t) que pasa por el punto (t0,x0) verifica que x(t0) = x0 y por ello no solo será solución de la ecuación diferencial si no que además lo será también del problema de valores iniciales
							x'(t) = F(t,x(t))
							x(t0) = x0

Como conclusión tenemos que las soluciones de este problema de valores iniciales son todas aquellas curvas que siguen las direcciones marcadas por el campo generado por F(t,x) y que además pasan por el punto (t0,x0).

Veamos en el siguiente ejemplo como las soluciones de una ecuación diferencial del tipo x'(t) =  F(t,x(t)) son las curvas que siguen el campo de direcciones determinado por F(t,x). Para ello introduciremos cuando los cuadros de diálogo nos lo indiquen la función F(t,x) y el intervalo [a1,b1]x[a2,b2] en el que nos interesa estudiar el problema

Método de las isoclinas

De todo lo expuesto en el apartado anterior (Interpretación geométrica de una ecuación diferencial) deducimos que el trazado de una cantidad adecuada de puntos y direcciones para una ecuación diferencial dada, nos permitirá obtener una visión aproximada del comportamiento que tendrán las soluciones de esta ecuación.
Desde el punto de vista práctico el trazado de las direcciones del campo determinado por la función F(t,x) de una ecuación diferencial presenta el problema de que si la cantidad de puntos en los que pretendemos marcar estas direcciones es demasiado alto será indispensable recurrir para ello a un sistema informático. Por contra si el número de puntos es demasiado pequeño no subministrarán la información necesaria para alcanzar una idea mínimamente cercana a la realidad del aspecto que presentan las soluciones de la ecuación diferencial.
El método de las isoclinas nos proporciona un sistema para conseguir una cantidad aceptable de puntos sin que los cálculos sean excesivos

Dada la ecuación diferencial
					x'(t) = F(t,x(t))
veamos en qué consiste el método de las isoclinas. El método se basa en los siguientes puntos
	a) Dada una pendiemte fija k pretendemos determinar cual es el conjunto de puntos del plano en los que la función F(t,x) produce esa pendiente k. Claramente este conjunto estará constituido por los puntos (t,x) tales que verifican
					F(t,x) = k.
	b) Determinada la figura geométrica que representa la ecuación F(t,x) = k, sabemos entonces que para todos los puntos pertenecientes a la grafica de tal figura geométrica, la función F proporciona siempre la misma pendiente k así que sobre cualquiera de ellos podemos trazar un ángulo de pendiente k sin necesidad de hacer más cálculos para ello. 

Puesto que para todos los puntos de la curva correspondiente a la ecuación F(t,x) = k tenemos una misma inclinación o pendiente k, a tal curva se la denomina isoclina (igual inclinación) de pendiente k.

Teniendo en cuenta estos dos puntos daremos los siguientes pasos

1. Se toma un valor numérico concreto para la pendiente k y se representa la gráfica correspondiente a la ecuación F(t,x) = k, es decir la gráfica de la isoclina de pendiente k.
	2. Se trazan entonces la cantidad de direcciones de pendiente k que consideremos oportunas sobre la gráfica representada en el paso 1.
	3. Se repiten los pasos 1 y 2 para distintos valores de k hasta obtener una cantidad satisfactoria de puntos.
	4. Se traza la gráfica aproximada de las soluciones de la ecuación diferencial siguiendo las direcciones marcadas en los pasos anteriores.

Veamos como ejemplo el desarrollo del método de las isoclinas para la ecuación diferencial

			x' (t) = (t^2) + ((x(t))^2)

La función correspondiente a la ecuación diferencial será

			F(t, x) = (t^2) + (x^2)

y para una pendiente k la gráfica de la ecuación F(t,x) = k, es decir

			(t^2) + (x^2) = k

es una circunferencia de centro el punto (0,0) y de radio raiz de k. Sigamos ahora los pasos 1 a 4 que antes hemos destacado

	1. Tomamos k = 1 y representamos la gráfica de t^2 + x^2 = 1 que corresponde a una circunferencia de centro (0,0) y radio 1.

2. Trazamos sobre los puntos de dicha gráfica ángulos correspondientes a la pendiente k = 1, es decir, ángulos de 45º.

3. Se repiten los pasos 1 y 2 para distintos valores de k. En este caso hemos tomado k =1 , k = 1/2, k = 1/4  y  k = 1/9.

4. Se representan las soluciones siguiendo las direcciones marcadas en el gráfico anterior.

Con el siguiente ejemplo introduciendo la función F(t,x) correspondiente a una ecuación diferencial y el intervalo [a1,b1]x[a2,b2] que nos interesa se ejecutará el método de las isoclinas.

Existencia y unicidad de solución

La existencia y unicidad de solución para el P.V.I.

			x' (t) = F(t, x(t))
			x((Subscript[t, o])) = (Subscript[x, 0])

dependeun únicamente de las características de la función F y de los ángulos que esta marca. Las propiedades que ha de cumplir F para garantizar la existencia y unicidad vienen determinadas por los teoremas de Peano y de Picard. Así tenemos

PEANO: Si F es continua entonces el P.V.I. tiene al menos una solución
  PICARD: Si F es Lipschitziana en "x"  y continua hay existencia y unicidad para el P.V.I.

En general vamos a trabajar siempre con ecuaciones diferenciales en las  que F(t,x) es una función continua y por lo tanto tendremos existencia de solución para cualquier P.V.I. 
En lo que respecta a la unicidad de solución del P.V.I. es fácil encontrar ecuaciones para las cuales esta no se da. Así por ejemplo para la función F dada mediante

					F(t,x) =(Sqrt[ | x |])

la correspondiente ecuación diferencial x'(t) =(Sqrt[ | x |]) no presentará unicidad de solución. De hecho si representamos las soluciones podemos observar como estas se cortan, es decir, como por un mismo punto pasan soluciones diferentes y por lo tanto el P.V.I. correspondiente a tal punto no tendrá una única solución.

Puede demostrarse fácilmente que la función F(t,x) = | x |^(1/2) no es Lipschitziana en x   y que el problema se centra en los puntos de la forma (t,0)  (en ellos la derivada parcial de F respecto a x vale infinio). Vease que es precisamente en estos puntos de la forma (t,0) en donde se produce el corte de soluciones distintas y en donde por lo tanto no tenemos unicidad. Por ello el P.V.I.

			x'(t) =(Sqrt[ | x |])
			x(t0) = 0

cuyas soluciones habrán de pasar por el punto (t0,0), no tiene unicidad, tendrá más de una solución.

Otro ejemplo de ecuación para la cual no hay unicidad es el siguiente

			x'(t) = t (x^((2/3)))

Para ella la gráfica de soluciones es

Sobre esta ecuación podemos hacer exactamente los mismos comentarios que sobre la anterior.

Curvas de una familia uniparamétrica

Una ecuación del tipo

			F(t,x) = k, x = x(t)

es lo que llamamos familia de curvas uniparámetrica y sabemos que asociada a ella tenemos su ecuación diferencial. Entonces las curvas de la familia son las soluciones de la ecuación diferencial y recíprocamente las soluciones de la ecuación diferencial serán las curvas de la familia.

En el siguiente ejemplo proporcionando la ecuación F(t,x) de la familia de curvas obtendremos las gráficas de las curvas de la familia, su ecuación diferencial y el esquema de direcciones de la ecuación diferencial de la familia. Podremos ver entonces como las curvas de la familia se corresponden con las soluciones de la ecuación diferencial.