/ proof-of-concept / bead-percussion
Sign in
proof-of-concept / bead-percussion
bead-percussion / matlab / examples / chaos.m
32 lines · 1.2 KBCodeBlameHistory
95f2216Minimal chaos example and perturbed-twin chaos test with separation plot and growth-rate fitJeremy Magland 1% A minimal chaotic system: two beads on a short string, pinned at both
2% ends, free to move in 3D (6 degrees of freedom). Struck hard and
3% off-axis, the motion is chaotic: turn on "perturbed twin" to run it again
4% with the strike changed by one part in 1e9 and watch the two runs
5% separate exponentially until they are unrelated. Scale the strike down
ac09b0fDefault damping: every mode falls 60 dB in 2.5 s; examples at 2.5 s; twin separation relative to recent displacement; stronger chaos strikeJeremy Magland 6% (try 0.025) and the motion is regular: the separation grows only slowly.
8% Transverse modes at small amplitude: sqrt(f0/(m*a))/(2*pi) * [1, sqrt(3)]
9% = 159 and 276 Hz.
11a = 0.01; % bead spacing (m)
12m = 1e-4; % bead mass (kg)
13f0 = 1; % string tension (N)
14strain = 0.05; % spring stretch at rest
16[pos, E] = bp_chain(4, 3 * a);
17sys.pos = pos;
18sys.mass = m;
19sys.pinned = [1 4];
20sys.springs = bp_springs(pos, E, f0 / (strain * a), f0);
29sys.listen = struct('beads', 3, 'dir', [0 0 1]);
30sys.duration = 3;
31sys.dt = 1 / (48000 * 8); % the automatic step is set at rest; the hard strike
32 % needs a finer one to keep energy drift small
↑↓ move↵openescclose