1st-Order ODE Visualizer

Type a first-order ODE and sketch its slope field or, for autonomous equations, its phase diagram.

Before you type an equation: this tool always plots dy/dt = f(y, t), where y is the dependent variable and t is the independent variable. If your ODE uses different notation (for example dP/dt = kP, or dx/ds = rx(1 − x/K)), first translate it into y and t before typing it into the box below. For example, dP/dt = kP becomes k*y.
Parameters must be numbers: this tool only recognizes y and t, so it cannot evaluate an equation that still has a symbolic parameter in it (like k, r, or K) and will show a parse error. Decide on a numeric value for each parameter first, then substitute it in. For example, dP/dt = kP with k = 0.3 should be entered as 0.3*y, not k*y.
dydt =
Ready.
Click the field to draw a solution curve through that point. Drag to pan. Scroll to zoom.
slope arrow (→ direction of increasing t) nullcline (f = 0) equilibrium × undefined point
Choosing axis limits: the t and y ranges decide what you can see, not what's true about the ODE. Adjust them, or drag and scroll on the plot itself, until the picture actually shows the ODE's behavior: any equilibria and nullclines, and how nearby solution curves grow, decay, or level off. Too narrow a window can hide equilibria; too wide a window can flatten out the interesting behavior into what looks like nothing.

Resolution and vector size: too coarse a resolution can skip right over a nullcline or an equilibrium between grid points, and arrows that are too small or too large can be hard to read or can overlap and hide the pattern. Adjust these, and the axis limits, one more time right before you submit your work, so the plot you turn in actually shows what you're describing.
Field options


No solution curves yet.
Horizontal axis is y. Vertical axis is y′ = f(y). Drag to pan. Scroll to zoom.
y′ = f(y) stable unstable semistable → direction of flow (sign of y′)
Choosing axis limits: the y and y′ ranges decide what you can see, not what's true about the ODE. Widen or narrow them, or drag and scroll on the plot itself, until every equilibrium is visible and you can see how y′ behaves between and beyond them. Too narrow a window can hide equilibria off the top or bottom edge; too wide a window can squash the interesting behavior down into what looks like a flat line. Adjust these one more time right before you submit your work, so the plot you turn in actually shows what you're describing.
Range & equilibria