Commit Graph

78 Commits

Author SHA1 Message Date
Experiments DB Dev 7e4dcbe4ce feat(matlab): count labels every 10 (ticks every 5); rate minor ticks every 0.02
variation_plot: count y-axis keeps 5-unit ticks/grid but labels only multiples
of 10; rate y-axis adds tick-only minor marks every 0.02 (major labels stay at
0.2). Regenerated all figures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:25:54 -04:00
Experiments DB Dev 2fd311277c feat(matlab): x-axis padding, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:18:57 -04:00
Experiments DB Dev 044a6edc46 feat(matlab): x-axis padding, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:18:57 -04:00
Experiments DB Dev 1a2071e6e2 feat(matlab): x-axis padding, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:18:57 -04:00
Experiments DB Dev af12ba1652 feat(matlab): x-axis padding, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:18:56 -04:00
Experiments DB Dev 70b7443a80 feat(matlab): pad x-axis by half a day so points aren't glued to the edges
variation_plot: xlim([min(xd)-0.5, max(xd)+0.5]) on all learning-curve plots,
so the first point lifts off the y-axis (phase windows d6_*) and the last point
clears the right edge (d0_5 etc.). Regenerated all figures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:18:56 -04:00
Experiments DB Dev 94e09d6647 fix(matlab): tighter y-label offset, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:12:12 -04:00
Experiments DB Dev 79db1c598f fix(matlab): tighter y-label offset, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:12:11 -04:00
Experiments DB Dev ed8263525c fix(matlab): tighter y-label offset, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:12:11 -04:00
Experiments DB Dev 2e9ebd2fde fix(matlab): tighter y-label offset, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:12:11 -04:00
Experiments DB Dev a2073becc8 fix(matlab): reduce y-axis label offset again (0.03 -> 0.015)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:12:10 -04:00
Experiments DB Dev 8caa0419b3 fix(matlab): halved y-label offset, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:09:01 -04:00
Experiments DB Dev e07599d489 fix(matlab): halved y-label offset, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:09:00 -04:00
Experiments DB Dev b04d692a3b fix(matlab): halved y-label offset, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:09:00 -04:00
Experiments DB Dev c9fcd5e261 fix(matlab): halved y-label offset, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:08:59 -04:00
Experiments DB Dev 353f8fb44a fix(matlab): halve y-axis label offset (0.06 -> 0.03)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:08:59 -04:00
Experiments DB Dev 4504a7aa4c fix(matlab): horizontal x + padded y label, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:05:22 -04:00
Experiments DB Dev cfac649b93 fix(matlab): horizontal x + padded y label, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:05:21 -04:00
Experiments DB Dev 28a7341100 fix(matlab): horizontal x + padded y label, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:05:21 -04:00
Experiments DB Dev fa16b6116f fix(matlab): horizontal x + padded y label, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:05:21 -04:00
Experiments DB Dev eafc2566f8 fix(matlab): force horizontal x labels + pad y-axis label
variation_plot: set XTickLabelRotation 0 after xticklabels('auto') so many-day
windows (e.g. unmerge_d0_10, 11 ticks) no longer auto-rotate to vertical; nudge
the y-axis label left for breathing room from the tick numbers. Regenerated all
learning-curve figures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 10:05:20 -04:00
Experiments DB Dev 2fe44978b5 feat(matlab): y-tick-5 + grid plots, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:58:53 -04:00
Experiments DB Dev 4e3b95d2fc feat(matlab): y-tick-5 + grid plots, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:58:52 -04:00
Experiments DB Dev 989cf346f9 feat(matlab): y-tick-5 + grid plots, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:58:52 -04:00
Experiments DB Dev 8fac19e42f feat(matlab): y-tick-5 + grid plots, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:58:51 -04:00
Experiments DB Dev 00bd72a5c3 feat(matlab): count plots y-tick every 5 units + grid on
variation_plot: for the count metric set YTick to every 5 units (spanning the
data); grid on for both metrics (rate keeps auto 0.2 ticks). Regenerated all
learning-curve figures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:58:51 -04:00
Experiments DB Dev 2749a7d208 fix(matlab): compact plot layout, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:53:26 -04:00
Experiments DB Dev 70b07acce2 fix(matlab): compact plot layout, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:53:26 -04:00
Experiments DB Dev 04fffcd090 fix(matlab): compact plot layout, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:53:25 -04:00
Experiments DB Dev b3ebdf6f02 fix(matlab): compact plot layout, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:53:25 -04:00
Experiments DB Dev 5ba141a9be fix(matlab): adopt user's compact plot layout for all variations
Port the unmerge_d0_5 fix (b6dc69c) into variation_plot.m: tight centred plot
box (Position [0.2 0.30 0.60 0.60]), TickDir out, and xticklabels('auto') --
which keeps x labels horizontal when they fit (<=~10 days) and auto-rotates
them when crowded (e.g. 14-day windows). Replaces the manual rotated-text hack.
Regenerated all learning-curve figures; removed the stray plotcurve.asv and
gitignored *.asv.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:53:25 -04:00
samsam2610 b6dc69c315 fix unmerge_d0_5 plot curve 2026-07-24 09:46:32 -04:00
Experiments DB Dev 20a9f7d2ea fix(matlab): vertical x-axis (manual text), batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:23:17 -04:00
Experiments DB Dev f0ba4706f8 fix(matlab): vertical x-axis (manual text), batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:23:17 -04:00
Experiments DB Dev b8a27db8cd fix(matlab): vertical x-axis (manual text), batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:23:16 -04:00
Experiments DB Dev 0d57846b00 fix(matlab): vertical x-axis (manual text), batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:23:16 -04:00
Experiments DB Dev 8f8fc98d6a fix(matlab): actually make x-axis labels vertical (manual rotated text)
exportgraphics on headless invisible figures ignores XTickLabelRotation/
xtickangle, so the labels stayed horizontal. Draw the tick labels as rotated
text objects (Rotation 90) instead, add bottom margin, and drop the 'training
day' axis label below them. Regenerated all learning-curve figures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:23:16 -04:00
Experiments DB Dev f61ebf97b9 fix(matlab): vertical x-axis plots, batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:07:32 -04:00
Experiments DB Dev e401455351 fix(matlab): vertical x-axis plots, batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:07:32 -04:00
Experiments DB Dev bcadc54409 fix(matlab): vertical x-axis plots, batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:07:31 -04:00
Experiments DB Dev a4527fead3 fix(matlab): vertical x-axis plots, batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:07:31 -04:00
Experiments DB Dev cd24de173d fix(matlab): make learning-curve x-axis labels vertical
xtickangle(90) did not apply in headless export; set XTickLabelRotation=90
directly and drawnow before exportgraphics. Regenerated all learning_curve
.png / learning_curve_rate.png.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 09:07:31 -04:00
Experiments DB Dev fd40b6fb54 analysis(matlab): rate + count outputs, variation batch 5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:32:53 -04:00
Experiments DB Dev 1606eb698b analysis(matlab): rate + count outputs, variation batch 4
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:32:53 -04:00
Experiments DB Dev 0e16690c8f analysis(matlab): rate + count outputs, variation batch 3
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:32:52 -04:00
Experiments DB Dev 6ba21a1a35 analysis(matlab): rate + count outputs, variation batch 2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:32:52 -04:00
Experiments DB Dev 0a438a4649 analysis(matlab): rate + count outputs, variation batch 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:32:51 -04:00
Experiments DB Dev 1009f263e8 analysis(matlab): rate-variant + vertical x-axis (templates, generators, summary)
Refactor variation_{analyze,power,logpower,plot}.m to run both count and rate
metrics; plot x-axis labels vertical (xtickangle 90). SUMMARY.csv gains
interaction_p_rate / interaction_p_rs_rate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:32:43 -04:00
Experiments DB Dev a2a812acc8 analysis(matlab): add paper-style learning-curve plot to every variation
Add variation_plot.m + make_variation_plot.m, dropping plotcurve.m +
learning_curve.png into all 28 variation folders. Each figure plots mean +/-
SEM successful reaches per training day for the anodal/treatment group (red)
vs control (blue), in the style of the paper ("Lines indicate mean (and SEM)
across animals in the anodal (red) and control (blue) groups"). Per-group N is
read from the data and shown in the legend; training day is 1-indexed (our day
0 = paper Day 1). Headless via exportgraphics. prev_f_full reproduces the
paper's own figure (anodal N=12 vs control N=12).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 01:28:44 -04:00
Experiments DB Dev 378ad6da05 analysis(matlab): add log(day) model + Cohen's f + power to every variation
Add variation_logpower.m (self-contained) + make_variation_logpower.m,
dropping logpowersim.m + logpower_result.txt into all 28 variation folders.
Matches the paper's power code: models behavior ~ stim + log(day) +
stim:log(day) + (1|rat) (log(day+1), since our day 0 = paper Day 1), reports
Cohen's f (partial eta^2 of the interaction) and the interaction under
residual/Satterthwaite/honest random-slope DF, then runs the Monte-Carlo power
sim on the log-day ground truth (per-animal cluster-honest + LME power).

Notable: under log(day) the accumulating divergence is captured more sharply,
so several full-window scenarios reach honest significance that were n.s. under
raw day (e.g. right_only_d0_13 honest p=0.003, unmerge_d0_13 0.021,
unmerge_d0_10 0.036); Cohen's f is small-medium (~0.10-0.34).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 14:37:50 -04:00