Vector plot does not take an equation as an argument

AI Thread Summary
The discussion revolves around creating a phase plane graph using Mathematica's VectorPlot function for the given differential equations. The initial command fails because VectorPlot requires expressions rather than equations. The correct command is provided, which omits the time variable 't' from the plotting range. Users also inquire about displaying the origin and addressing the fading arrows towards the y-axis, which is explained as a result of vector magnitude representation. An alternative suggestion is made to use StreamDensityPlot for better visualization. Additionally, there is a request to plot circles around specific points, and a workaround involving the 'Epilogue' option is mentioned for adding graphics primitives. The user notes a temporary inability to access Mathematica for further testing.
Nusc
Messages
752
Reaction score
2
VectorPlot[{D[x[t], t] == x[t] (4 - y[t] - x[t]^2),
D[y[t], t] == y[t] (-1 + x[t])}, {x, -10, 10}, {y, -10,
10}, {t, -10, 10}]

I'm trying to graph the phase plane of these equations. I get an error, what's wrong with my command?
 
Physics news on Phys.org


Vector plot does not take an equation as an argument. You need to put the expressions in instead of the equations. Also, if you have the expression x[t] you cannot evaluate it at x=10 since that would be 10[t] which is going to throw an error. I think the correct command is:

VectorPlot[{x (4 - y - x^2), y (-1 + x)}, {x, -10, 10}, {y, -10, 10}, {t, -10, 10}]
 


VectorPlot::nonopt: Options expected (instead of {t,-10,10}) beyond position 3 in VectorPlot[{x (4-y-x^2),y (-1+x)},{x,-10,10},{y,-10,10},{t,-10,10}]. An option must be a rule or a list of rules. >>
 


Oops, I missed that.

VectorPlot[{x (4 - y - x^2), y (-1 + x)}, {x, -10, 10}, {y, -10, 10}]
 


How do I get mathematica to show the origin? it just fades in the middle.
 


Use the option

Axes->True
 


What about the arrows that fade towards the y-axis

and how do I plot circles around the points (-2,0),(1,3),(2,0),(0,0)?
 


The arrows towards the y-axis appear to fade because VectorPlot plots both the magnitude and the direction of each vector, so a region with a lower magnitude is represented by shorter vectors. If you do not like this behavior you might consider using StreamDensityPlot instead of VectorPlot. Stream density plot shows the direction of the field using arrows and the magnitude using a background shading.
 


Thanks for the help!

and how do I plot circles around the points (-2,0),(1,3),(2,0),(0,0)?

StreamDensityPlot[{x (4 - y - x^2),
y (-1 + x)}, {Circle[{-2, 0}, 1]}, {x, -10, 10}, {y, -10, 10},
Axes -> True]

StreamDensityPlot::nonopt: Options expected (instead of {y,-10,10}) beyond position 3 in StreamDensityPlot[{x (4-y-x^2),y (-1+x)},{Circle[{-2,0},1]},{x,-10,10},{y,-10,10},Axes->True]. An option must be a rule or a list of rules. >>
 
Last edited:
  • #10


Unfortunately I am traveling and can't access Mathematica until thursday. However, if my memory is correct there is an option called Epilogue or something similar that you can use to plot any arbitrary list of graphics primitives. Try a search for "Epilogue" in the online help and if I misremembered the name then you will have to look through the list of options for StreamDensityPlot, Plot, and Graphics until you find it.
 

Similar threads

Replies
8
Views
2K
Replies
4
Views
1K
Replies
1
Views
2K
Replies
1
Views
2K
Replies
9
Views
5K
Replies
5
Views
2K
Replies
18
Views
4K
Back
Top