3

I typed

StreamPlot[{y, x-x^3-0.3y+0.5Cos[1.25t]}, {x, -2.5, 2.5}, {y, -2.5, 2.5}]

but all I got was a blank plot. What did I do wrong and can I fix it?

Michael E2
  • 235,386
  • 17
  • 334
  • 747

3 Answers3

11

If you don't want to specify t there is e.g. ListAnimate (or Animate etc.)

ListAnimate[ 
    Table[ StreamPlot[{y, x - x^3 - 0.3 y + 0.5 Cos[1.25 t]}, 
                               {x, -2.5, 2.5}, {y, -2.5, 2.5}], {t, 0.1, 2, 0.05}]
           ]

enter image description here

Artes
  • 57,212
  • 12
  • 157
  • 245
8

...Is there any other function I should use? Anything in 3D? – Student

One might stack the phase fields for a sequence of values of t, but as you can see, Artes's animation might be a better visualization.

Show[
 Table[
  Graphics3D[
   First@(StreamPlot[{y, x - x^3 - 0.3 y + 0.5 Cos[1.25 t]},
            {x, -2.5, 2.5}, {y, -2.5, 2.5}, 
            StreamStyle -> Hue[Rescale[t, {-1.2, 1.2}]]] /. 
          Arrow[pts_] :> 
            Arrow[Transpose[Transpose@pts~Append~ConstantArray[t, Length@pts]]])],
  {t, -1, 1, 0.5}],
 Axes -> True, BoxRatios -> {1, 1, 1}]

Mathematica graphics

See also some of the answers to this question for more on combining 2D plots into 3D graphics.

Michael E2
  • 235,386
  • 17
  • 334
  • 747
8

Or you could use the beautiful LineIntegralConvolutionPlot function - Documentation center link: Here

Manipulate[
LineIntegralConvolutionPlot[{y, 
x - x^3 - 0.3 y + 0.5 Cos[1.25 t]}, {x, -2.5, 2.5}, {y, -2.5, 2.5},
ColorFunction -> ColorData["Rose"], StreamPoints -> 10, 
StreamStyle -> White], {t, -2.5, 2.5}]

LineIntegralConvolutionPlot

Sektor
  • 3,320
  • 7
  • 27
  • 36