Visualize system behavior using trajectories and flow arrows. Tune parameters, compare equilibria, and detect cycles. Make reliable plots for deeper modeling.
| Preset | Parameters | Initial points | dt | tmax | Preview (t,x,y) |
|---|---|---|---|---|---|
| Van der Pol | mu=1.5 | 1,0; 0,1 | 0.02 | 20 | (0.00, 1.0000, 0.0000), (0.02, 0.9996, -0.0200) |
| Lotka–Volterra | a=1.2, b=0.6, c=0.8, d=0.5 | 1,1; 2,1 | 0.01 | 15 | (0.00, 1.0000, 1.0000), (0.01, 1.0060, 0.9970) |
A phase portrait comes from a two–state dynamical system: dx/dt = f(x,y) and dy/dt = g(x,y). The arrows in the plot show the local flow vector (f,g).
Each trajectory is computed by numerically integrating the system from an initial point. This calculator uses a fourth‑order Runge–Kutta step (RK4) with step size dt. RK4 estimates the next state using four slope samples per step.
Stability insight: equilibria satisfy f(x,y)=0 and g(x,y)=0. Nearby flow indicates attraction, repulsion, spirals, or cycles.
A phase portrait summarizes how a two‑state system evolves by plotting (x,y) trajectories in state space instead of plotting values against time. This view is ideal for comparing initial conditions, identifying stable regions, and spotting qualitative changes when parameters shift.
The generator uses the autonomous form dx/dt=f(x,y) and dy/dt=g(x,y). At each state, the flow vector (f,g) indicates the local direction and relative speed. When arrows consistently point inward, motion tends to settle; outward arrows indicate divergence.
To visualize the flow, the calculator samples a uniform grid across the chosen domain. Each grid node produces one arrow. Normalization can be enabled to keep arrow lengths comparable across the domain, which helps when magnitudes vary widely. A configurable magnitude cap prevents a few large vectors from dominating the picture. For dense grids, lowering resolution improves performance while preserving the global flow topology and improving visual clarity.
Curves are computed by integrating forward from selected initial points using a fourth‑order Runge–Kutta step. RK4 improves accuracy by combining four slope evaluations per step, which reduces drift in oscillatory systems and improves the shape of spirals and closed orbits compared with simple Euler updates.
Equilibria occur where f(x,y)=0 and g(x,y)=0. Near an equilibrium, local behavior is often approximated by linearization, producing nodes, saddles, or spirals depending on eigenvalues. The portrait provides immediate visual cues: saddle separatrices, spiral attraction, or near‑neutral centers.
Many systems exhibit nonlinear phenomena such as limit cycles, relaxation oscillations, and multi‑basin attraction. By sweeping parameters (for example mu or damping), you can observe qualitative transitions, including the appearance or disappearance of closed loops and changes in stability regions.
Step size dt controls numerical error: smaller values improve fidelity but increase runtime. A larger time span reveals long‑term attractors but may hide early transients unless trajectories are clearly distinguished. If trajectories look jagged, reduce dt; if the field looks cluttered, reduce grid density.
The CSV export provides trajectory samples as (t,x,y) for further analysis, validation, or curve fitting in external tools. The PDF export captures a report snapshot suitable for documentation or lab notes. Keeping a record of parameters, domain ranges, and initial points supports reproducible comparisons across runs.
1) What does arrow direction represent?
Each arrow points along the instantaneous flow (dx/dt, dy/dt). Following arrows shows how the state moves from that location in the plane.
2) Why do some trajectories spiral inward?
Spirals usually indicate a stable focus where damping or feedback removes energy. The system approaches an equilibrium while rotating in state space.
3) How do I detect a limit cycle?
A limit cycle appears as a closed orbit that nearby trajectories approach or repel. Increase time span and use several initial points around the suspected loop.
4) When should I normalize arrows?
Normalize when magnitudes vary strongly across the domain. It emphasizes direction over speed, making the overall flow structure easier to interpret.
5) What settings improve accuracy?
Reduce dt and keep parameters within stable ranges. If the system is stiff, smaller steps are essential to avoid numerical instability or distorted orbits.
6) Can I use custom equations safely?
Yes. Use only supported symbols and functions. Keep expressions smooth and avoid discontinuities that create undefined values, which can break trajectories.
7) Why does the plot stop early sometimes?
If values become non‑finite or grow extremely large, integration is halted to keep the visualization readable. Adjust parameters, domain, or step size to stabilize the run.
Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.