Slope fields, phase portraits and equilibria for a differential-equations course
An interactive tool for a differential-equations course: draw slope fields and phase portraits, find equilibria and judge their stability, probe the equation type numerically, and plot numerical solution curves.
Four presets renamed to state y = x'; new Both view, the view switch moved above the pictures; the widget gains the solution graph
The presets "Harmonic oscillator", "Damped oscillator (system)", "Van der Pol" and "Forced oscillator x' = y, y' = −x + sin t" are renamed "Harmonic oscillator x'' = −x (as a system, y = x')", "Damped oscillator x'' + 0.5x' + x = 0 (as a system, y = x')", "Van der Pol x'' = (1 − x²)x' − x (as a system, y = x')" and "Forced oscillator x'' = −x + sin t (as a system, y = x')"; the first sentence of their notes is now the reduction "let y = x' (the velocity), so x' = y, y' = …"; a clickable link under each note switches to the same equation written as a second-order equation, and the four second-order presets get the link back to the system.
The view switch moved from a radio button in the form to three buttons right above the pictures, Phase plane / Solution graph / Both; Both is new: the two pictures side by side (stacked in a narrow window). The default view changed to: a second-order equation → Both, an autonomous planar system → Phase plane, a non-autonomous planar system → Solution graph; links gain view=both, and view=phase / view=time in old links are unchanged.
A caption is added above each picture naming its coordinates: the phase plane "horizontal x, vertical x' (velocity)" ("vertical y" for a planar system), the solution graph "horizontal t, vertical x" ("vertical x and x'" with x'(t) drawn); kept in lecture mode.
Kept curves now have one color each, the same in both pictures; the phase plane no longer colors forward blue and backward orange, and instead marks the initial point with a dot of the curve's color. Pointing at a curve in either picture emphasizes it in both; the phase plane's preview curve is drawn in the solution graph too; a query's points are marked in both. A click on the solution graph now does nothing (the pointer stays an arrow), and its caption says to add a curve under Initial value or by clicking the phase plane.
"Time series" is renamed "Solution graph"; with both pictures shown, Download PNG now exports the two pictures side by side as one file; the embedded page takes view=both; the embed heights on the help page changed to 1200 / 900 with the heights for two pictures added; the empty parameter area's example reads k*x in second-order mode.
The widget gains the solution graph, the same three-way switch, the same linkage and one color per curve; the curves returned by trace_trajectory and query_solution gain the time of every point (times, thinned with the points, 1000 per leg at most).
Action required: MCP users must remove and re-add the connector. The widget gained the solution graph, so the widget resource address changed; Claude caches the address from when the connector was added, so an existing connection will silently fail to render. Remove the connector and add https://tools.studycase.net/mcp again.
Polish: a missing parenthesis like siny, ln, lecture mode keeps positions, the beats' vertical axis
A missing parenthesis is no longer taken for a parameter: writing siny in a first-order equation used to add a parameter siny = 1 silently and draw the picture of dy/dt = 1. Names like siny, cost, sqrty and sinhx (a function glued to a variable) now give an error that asks "Did you mean sin(y)?". Parameter names such as k, Ta and sigma work as before.
You can write ln: ln(y) and log(y) are the same function, the natural logarithm; log10 is base 10.
Lecture mode now keeps positions and hides evidence: the coordinates of equilibria and the values of constant solutions are shown again (to at most 3 significant digits, such as (3, 2) and (3.14, 0)), while eigenvalues, trace and determinant, deviations, thresholds and the range lines stay hidden; each line's ⓘ still opens everything.
The preset "Forced oscillator / beats" now has a vertical axis of ±20 instead of ±3: dragging g to 1 (resonance) no longer takes the curve out of the picture (it reaches 16.9 within t ≤ 70).
While a slider is dragged, the condition for updating the classification at every value is twice as generous, so slower computers also show the spiral turning into a node continuously.
In English, a constant solution on the edge of the domain is now tagged "domain edge, solutions leave" instead of "domain edge, left" (which read like a direction).
The help page says two more honest things: nullclines are found from sign changes, so a zero where the function only touches zero cannot be drawn; and between the pendulum's two saddles the stable and unstable manifolds coincide, so only one line is seen, and the tool makes no numerical judgement on such connections.
Action required: MCP users must remove and re-add the connector. The English tag above is also drawn on the widget's picture, so the widget resource address changed; Claude caches the address from when the connector was added, so an existing connection will silently fail to render. Remove the connector and add https://tools.studycase.net/mcp again. (Today's two updates need only one re-add.)
Parameters and sliders, nullclines / eigen-directions / separatrices, lecture mode
Equations may now contain letters for constants, for example k*y*(1 - y/L) or -k*(y - Ta). Every name you write appears by itself in the Parameters area under the expression; give it a value. The four equation types share one set of parameters.
The parameter values are part of the link (&p=k:0.8,L:2), so "the logistic equation with k = 0.8, L = 2" can go into a handout as a direct link; the results, the exported PNG and the summary Claude reads all say which values the picture was computed for.
Every parameter can show a slider, and dragging it recomputes the field, the curves, the equilibria and their classification live: drag b past w on the damped oscillator x'' + 2*b*x' + w^2*x = 0 and the stable spiral becomes a stable node at b = w; drag g toward 1 on the forced oscillator, in the time-series view, and the amplitude grows. Sliders are part of the link too.
In the time-series view the curves now follow the t range you enter (no longer only t₀ ± 50), long enough to see a whole envelope of the beats.
"Show on the picture" has three new switches: nullclines (the equilibria are where the two families cross), eigen-directions (stable and unstable; a degenerate node has only one) and the separatrices of saddles (they divide the phase plane into regions with different fates). Off by default, and told apart by line style, not by color alone.
Lecture mode (the button at the top right; lecture=1 in a link, and the embedded page takes it too): for projecting, it hides the specific numbers (eigenvalues, coordinates, deviations) and enlarges the text, keeping the classification names and every caveat in short form: "center or weak spiral" is never shortened to "center". Every line can still be opened in full with its ⓘ.
Five presets are now written with parameters (Logistic, Newton cooling, Damped oscillator, Forced oscillator / beats, Lotka–Volterra), so opening one shows what the Parameters area and the sliders are for.
Action required: MCP users must remove and re-add the connector. The widget's summary now names the parameter values, so the widget resource address changed; Claude caches the address from when the connector was added, so an existing connection will silently fail to render. Remove the connector and add https://tools.studycase.net/mcp again.
What it can do
Draw the slope field of a first-order equation dy/dt = g(t, y) or M dt + N dy = 0, mark the constant solutions and judge their stability.
Draw the phase portrait of a planar system x' = f(x, y), y' = g(x, y), find the equilibria and classify them by linearization.
Reduce a second-order equation x'' = F(t, x, x') to a system and draw its phase plane (x horizontally, x' vertically).
Probe numerically which textbook types (separable, linear, exact, Bernoulli, homogeneous, ...) a first-order equation is consistent with, and report the deviation.
Hover to preview and click to keep the numerical solution curve through any point; wheel to zoom, drag to pan.
Every picture has a shareable link and can be embedded in a course website.
Its limits
Planar (two-dimensional) problems only: first-order equations and planar systems; three or more dimensions are not supported.
Everything is numerical, nothing is symbolic: it never gives a closed-form solution.
Equation types are numerical probes, not proofs: a result only says that the equation is consistent with that form at the sampled points.
Action required: The widget version has changed: if you added the connector before, you must remove it and add it again (disconnecting and reconnecting is not enough), or the widget silently fails to render. The endpoint to add again: https://tools.studycase.net/mcp
The tool can also be connected to Claude so that Claude computes with it instead of guessing; see the last section of the help page.