RecallWeave · Dynamics lab

When correction overshoots

A correction can settle a system, make it alternate, or send it farther away. Change one rule, compare two starting states, and explain what the next update will do.

Correction from the current stateu[n] = k (r − x[n])
One state updatex[n+1] = a x[n] + u[n] + d
The multiplier to watchq = a − k

Start with a behavior

Set the experiment

Keep the rule constant during each run. The second run starts at x[0] + δ, with every other input unchanged.

0 to 1.25
0 to 3
−2 to 2
−0.5 to 0.5
−2 to 2
−1 to 1
1 to 60 integer updates

Preparing the default experiment.

The same rule, two starting states

Multiplier q = a − k
Effect of the initial difference
Fixed point x*

State x[n]Different startReference r

The vertical scale follows both recorded trajectories and the reference. The update index n has no specified duration in seconds.

Current state x[n]
Reference error r − x[n]
Applied correction u[n]
Next state x[n+1]

Try · predict · explain

Explore before answering

  1. Predict the first update. With the default rule and x[0] = 0, calculate the correction, then the next state. Move the inspection control to check.
  2. Increase correction k. Compare gentle correction, alternating recovery, the repeating boundary, and growth. Explain each change using q.
  3. Challenge a flat line. Open “A flat run can hide instability.” One run stays at zero. What does the different starting state reveal?
  4. Separate two outcomes. Reset, then change d to −0.25. Does q change? Does the fixed point equal the reference?

Open RecallWeave, choose a local JSON lesson, and select this download. Its six connected concepts include explanations and transfer prompts. The download contains the course questions and their authored explanations; it does not include your experiment.

Read the rule

Why q predicts the separation

Substitute the correction to get x[n+1] = q x[n] + c, where c = k r + d. Subtract the two runs: their common constant input cancels. In exact arithmetic, a starting difference δ becomes δ qⁿ after n updates.

A fixed point can miss the reference

If q ≠ 1, the fixed point is x* = c / (1 − q). At the default settings it is 2/3, while the reference is 1. A stable recurrence can therefore retain a nonzero reference error. A fixed point exists even when perturbations grow.

The boundary needs its own name

If |q| < 1, deviations decay. If |q| > 1, nonzero deviations grow. At q = −1 they repeat with alternating sign. At q = 1 the separation persists; c = 0 makes every state fixed, while c ≠ 0 causes drift. These boundary cases do not have decaying perturbations.

What this experiment establishes

This is a dimensionless scalar recurrence with constant coefficients, no delay, no saturation and no noise. A finite trace illustrates its behavior; the geometric multiplier supplies the all-update argument. Actual systems and learner outcomes require their own evidence.

Why the last digits can differ

Controls use exact quarter increments, and the computer iterates with ordinary finite-precision numbers. Very small differences can round away when two state values become equal. The table and CSV include both computed separation and the analytical value δ qⁿ.

Inspect all recorded states

There are N + 1 state rows for N updates. The final state has no applied correction or recorded next state. Export includes both runs, settings and full numeric values.

Values shown here are rounded for reading. The CSV retains the computed numbers.
nx[n]Different startr − x[n]u[n]x[n+1]Computed separationδ qⁿ