رابرت هوک در ۱۶۶۰ رابطهاش را کشف کرد ولی آن را بهصورتِ یک آنگرام منتشر کرد: ceiiinosssttuv. هجده سال بعد حروف را مرتب کرد و شد ut tensio, sic vis — «به هر اندازه که بکشی، به همان اندازه نیرو». این بازیِ کودکانه دلیلِ جدی داشت: در آن زمان فنر قلبِ ساعتِ فنری بود و ساعتِ دقیق یعنی حلِ مسئلهٔ طولِ جغرافیایی در دریا، یعنی پول و قدرت. هوک میخواست حقِ تقدم را ثبت کند بدونِ اینکه به رقیبش هویگنس سرنخ بدهد. نکتهٔ امروزیِ ماجرا این است که هر دو نفر، از دو راهِ کاملاً متفاوت، به یک عدد رسیدند — و این صفحه دربارهٔ این است که چنین توافقی دقیقاً چقدر ارزش دارد.
راهِ اول (ایستا). وزنهای به جرمِ m را به فنر میآویزی. فنر آنقدر کش میآید تا نیروی فنر با وزن برابر شود: k·x = m·g، پس k = m·g / x. فقط یک خطکش لازم داری.
راهِ دوم (پویا). همان وزنه را کمی پایین میکشی و رها میکنی. نوسانِ هماهنگِ ساده میشود و دورهٔ تناوبش T = 2π·√(m/k) است، پس k = 4π²·m / T². فقط یک کرنومتر لازم داری. هیچ خطکشی در کار نیست و g هم اصلاً در فرمول نیست — دو راهِ واقعاً متفاوت.
یک اصلاحِ کوچک هم هست: خودِ فنر جرم دارد و آن هم نوسان میکند، منتها حلقههای بالایی کمتر جابهجا میشوند. اگر حساب را کامل انجام بدهی، یکسومِ جرمِ فنر به جرمِ نوسانکننده اضافه میشود: T = 2π·√((m + mفنر/3) / k). این فقط راهِ دوم را تحتِ تأثیر میگذارد، نه راهِ اول.
حالا به هر دو فرمول نگاه کن و یک چیزِ مشترک را پیدا کن. هر دو m دارند، و هر دو بهطورِ خطی به آن وابستهاند. اگر جرمی که در حساب میگذاری از جرمِ واقعی ۳ درصد بیشتر باشد، هر دو جواب ۳ درصد بزرگتر درمیآیند — و اختلافشان با هم هیچ تغییری نمیکند. این نکتهٔ کلِ این صفحه است.
یک فنر از پایه آویزان است، یک خطکشِ میلیمتری کنارش، یک کرنومتر، و یک جعبه وزنه با برچسبهای ۵۰ تا ۲۵۰ گرم. یک ترازوی دیجیتالِ دقیق هم روی میز هست که تا صدمِ گرم میخواند — ولی هیچکس به تو نگفته که ازش استفاده کنی.
با هر وزنه میتوانی هر تعداد بار که خواستی کشیدگی را بخوانی یا زمانِ ۲۰ نوسان را بگیری. هر چه بیشتر تکرار کنی، خطای تصادفی کمتر میشود — مثلِ همیشه.
فنر و کشیدگی به مقیاس کشیده شدهاند.
خطکش تا میلیمتر خوانده میشود و کرنومتر تا صدمِ ثانیه؛ ولی دستِ تو بهاندازهٔ چند صدمِ ثانیه دیر و زود میشود.
برای هر وزنه، میانگینِ کشیدگیها و میانگینِ زمانها گرفته میشود و k از هر دو راه جداگانه حساب میشود. ستونِ آخر نسبتِ این دو است — عددی که اگر همهچیز درست باشد باید ۱٫۰۰۰ باشد.
اول به ستونِ k از راهِ پویا نگاه کن و ببین با تغییرِ وزنه جابهجا میشود یا نه. اگر یک ثابتِ فیزیکی با عوضکردنِ وزنه تغییر کند، ثابت نیست — یعنی یک چیزی در مدلِ تو نیست. این را دادهٔ خودت میتواند به تو بگوید. در ادامه خواهی دید که خطای دیگری هم هست که دادهٔ تو هرگز نمیتواند به تو بگوید.
trials_data هستند: یک دیکشنری با g، n_osc (تعدادِ نوسانها)، spring_g (جرمِ اندازهگرفتهشدهٔ فنر، یا null) و rows. هر سطر label (جرمِ روی برچسب بر حسب گرم)، used_g (جرمی که در حساب گذاشتهای)، kind («stretch» یا «swing») و value دارد — کشیدگی بر حسب میلیمتر یا زمانِ کلِ ۲۰ نوسان بر حسب ثانیه.
صفحه به تو گفت دو روشت چقدر با هم جور درمیآیند. کدِ آماده یک پرسشِ متفاوت میپرسد: آن توافق اصلاً چه چیزی را میتوانست بگیرد؟ هر ورودی را جداگانه ۱۰٪ عمداً خراب میکند و دو عدد را کنار هم میگذارد: چقدر جوابت خراب شد، و چقدر از آن خرابی به شکلِ اختلافِ دو روش دیده شد. بعد هر دو را با پراکندگیِ طبیعیِ خودت میسنجد — چون هر اختلافی که از نوفهٔ خودت کوچکتر باشد اصلاً اختلاف نیست. در نمودارِ راست، هر منحنی که داخلِ نوارِ خاکستری بماند یعنی آن اشتباه برای دادهٔ تو نامرئی است، هر چقدر هم بیشتر اندازه بگیری.
وقتی روی یک جواب ایستادی، این را بزن.