← All Projects
Wave Physics · Experimental · 2024

String Linear Density
Two-Method Metrology Comparison

Discipline
Experimental Metrology
Tools
MATLAB · GUM · ISO 13528
Methods Compared
2 (Direct vs. Dynamic)
Source
Linear density from both measurement methods with expanded uncertainties, and the normalized error agreement test

Two independent methods, one quantity, and a question of trust

Two ways to measure the mass per unit length (μ) of a string: weigh a known length directly, or drive it to resonance under known tension and back μ out of the wave speed. The question isn't whether the two numbers come out close. It's whether they agree once you account for how precisely each one was actually measured.

They don't. The two methods disagree by factors of 375 to 919 — not a rounding error, a different quantity entirely.

A percent difference isn't an answer, it's a way of not answering

My first version of this analysis computed a percent difference between the two methods, printed 99.7%, 99.9%, and 99.8% in a table, and moved on. Those three numbers are the actual result of the experiment. I had formatted them to look like a rounding error.

So I rebuilt it to say how wrong, and why — propagating measurement uncertainty through both methods and testing agreement against a standard statistic instead of eyeballing a gap.

Not mine to claim: the uncertainty propagation follows the GUM (JCGM 100:2008), the guide every calibration lab works to, and the agreement test is ISO 13528's normalized error, the standard statistic for comparing results between labs. Both are cited where they're used — the underlying math is ordinary calculus and statistics, but the methods themselves are standards, not something I invented.

Direct measurement vs. wave speed, each with propagated uncertainty

Direct: μ = m/L from one mass and one length measurement. Instrument uncertainty propagates by the GUM rule — relative uncertainties add in quadrature — giving a tight, defensible error bar from just two numbers.

Dynamic: T = μv² — tension against wave speed squared, slope through the origin gives μ. No free intercept, since zero tension can't produce wave motion. Uncertainty in v carries into the fit through a weighted regression, and I report whichever is larger, the propagated instrument error or the observed scatter, rather than let a tight-looking three-point fit understate itself.

GUM Propagation Weighted Regression No-Intercept Fit Errors-in-Variables
Tension against velocity-squared for each string, with error bars on both axes, the weighted fit through the origin, and its 95% band

T vs. v² for each string — the weighted fit through the origin, with error bars on both axes. Every one of these fits scores R² above 0.98.

The normalized error test, not a percent gap

Percent difference can't say whether a gap matters. The ISO 13528 normalized error, |Eₙ| = |μₐ − μᵦ| / √(Uₐ² + Uᵦ²), can: a result of 1 or below means the two methods agree within their combined uncertainty. Above that, the gap is too large for measurement error to explain.

46.7
|Eₙ| — Bright White
29.8
|Eₙ| — Blue Monofilament
98.4
|Eₙ| — Yarn

None of these are marginal. All three are an order of magnitude past the threshold where the two methods could be said to agree.

Every fit was internally consistent, and every fit was wrong

Every regression in the dynamic method scores R² above 0.98. The data lies beautifully on a straight line through the origin — it's perfectly consistent with itself, and it's still completely wrong.

What I found: R² only measures how well a line matches the points you handed it. It has no way of knowing the tension column feeding those points is mislabeled. It can't check units, it can't check physics, and it can't compare against an independent measurement — which is exactly what the Eₙ test does, and exactly why the project needed it. A good fit statistic tells you a model is self-consistent, not that it's true.

Traced to the tension column, not the physics

Working backward from the wave-speed data, the tension values needed to make the numbers self-consistent are ordinary bench values — 0.3 to 1.8 N, or 30 to 180 grams hanging on a string. What's actually recorded is 0.1 to 0.2 gram-force, which wouldn't tension a string at all. The wave-speed measurements themselves are fine; the tension column is the problem.

An audit comparing the disagreement ratios across all three strings points to a scale error — roughly a common factor of 554 — rather than three unrelated mistakes. Multiplying the tension column by that factor brings two of the three strings into agreement, but not the third, so there's a per-string issue layered on top of the scale problem. That's a diagnosis, not a fix: I kept the original recorded values in the dataset rather than quietly correcting them.

What actually needs to happen: check the tension units against the original lab sheet — most likely a hanging mass recorded in kilograms but entered as newtons, or a decimal slip in transcription. Re-measure at least one string start to finish to settle it. Take five or six tension readings per string instead of three, since at three points there's only one degree of freedom and the intercept test has almost no power. And until then, treat the direct method as the reference — it depends on only two measurements, both internally consistent and physically sensible for this kind of string.

← Previous Turbine Efficiency Visualizer Next → Putter Design & Golf Ball Motion