Що із теоріями можна робити
(c) |
Аналітичні методи
Нагадаємо, що таке прискорення(**). Це швидкість зміни швидкості. Більш формально -- слова "тіло рухається із постійним прискоренням a", означають, що за певний інтервал часу t швидкість змінюється на величину a*t:\[v =v_0 + a t.\] Що таке швидкість руху? Ну, тобто, вже з назви зрозуміло, це міра руху тіла, характеристика того, наскільки швидко воно рухається(***). Найпростіше її означити, якщо тіло рухається рівномірно, за однакові інтервали часу долаючи однакові віддалі. Тоді швидкість -- відношення пройденого шляху l до часу t, за який цей шлях пройдено: \[ v = \frac{l}{t}.\] А якщо швидкість змінюється, тіло рухається із прискоренням, за послідовні однакові інтервали часу проходячи різні віддалі? Треба хитрувати. Візьмемо крихітний інтервал часу, \(\Delta t\), такий маленький, що за нього швидкість не встигає сильно змінитися, і оголосимо, що протягом цього інтервалу тіло мало швидкість \[ v = \frac{\Delta l}{\Delta t},\] де \(\Delta l\) -- шлях, який тіло пройшло за час \(\Delta t\). Таку швидкість називають миттєвою швидкістю, натякаючи що отримане значення вона має лише якусь мить. :-) В наступну мить вона зміниться на величину: \[ \Delta v = a \Delta t.\]
Філософський відступ. Як бачимо, кожна теорія, крім своїх тверджень, містить також базові поняття, якими маніпулює, і без яких її просто не існує. Власне, теорія це формулювання взаємозв'язків між її поняттями. У нас вихідними поняттями вибрано положення тіла, віддаль, час (разом із процедурами їх вимірювання). Похідними, але не менш важливими, є рух, як зміна положення з часом, швидкість як міра руху, прискорення. Зверніть увагу, що таке поняття як сила, в нашу теорію не входить(****), хоча і використовувалося при її побудові.
Тобто, наша теорія насправді стверджує, що для будь-якого малого інтервалу часу \( \Delta t\) справедливим є співвідношення: \[g = \frac{\Delta v}{\Delta t}=\frac{ \frac{\Delta l}{\Delta t} } {\Delta t} = \frac{\Delta l}{(\Delta t)^2}.\] Зрозуміло, що 5 секунд - час дуже великий, якщо прискорення -- \(9.8 м/с^2\), адже за кожну секунду швидкість буде змінюватися на 9.8 метрів на секунду. \(\Delta t\) має бути багато-багато меншим. Поки що ми не знаємо, наскільки меншим, але припустимо що ми підібрали правильне значення -- таке, що дасть нам достатню точність. Ми знаємо, що вертоліт, з якого випала кулька, висів нерухомо, тому її початкова швидкість нульова. Будемо відраховувати час від цього моменту, позначивши віддаль, яку вона пролетіла літерою l: \[t=0\quad v=0 \quad l=0.\] Через час \(\Delta t\): \[t=\Delta t \quad v=g \Delta t \quad l=0.\] Наступного моменту: \[t=2 \Delta t \quad v= 2 g \Delta t \quad l= g\Delta t \Delta t.\] і так далі:
Значить шлях, який тіло пройде за час t можна знайти так: \[L=g \Delta t^2 + 2 g \Delta t^2 + 3 g \Delta t^2 + \ldots + (N-1) g \Delta t^2,\] де \(N = \frac{t}{\Delta t}\) -- кількість проміжків \(\Delta t\), які складають наш час t. В сумі якраз N-1 доданків. Кожен доданок містить добуток \( g \Delta t^2\), можна винести його за дужки: \[L = g \Delta t^2 \left(1 + 2 + 3 + \ldots + (N-1) \right). \] Під дужками -- арифметична прогресія. Нам повезло, бо вирахувати її суму просто: \[\left(1 + 2 + 3 + \ldots + (N-1) \right) = \frac{N-1}{2}N=\frac{N^2-N}{2}.\] Тоді: \[L = g \Delta t^2 \frac{N^2-N}{2},\] підставивши \(N = \frac{t}{\Delta t}\), маємо: \[L = g \frac{t^2}{2} - g \frac{t \Delta t }{2}.\] Нам знову повезло. Подивіться -- ми не знаємо, яким має бути \( \Delta t\), тільки знаємо, що малим. Давайте виберемо його настільки малим, щоб другим доданком в попередній формулі можна було знехтувати в порівнянні із першим. Так завжди можна зробити, бо обмежень знизу на розмір \(\Delta t\) немає. Тоді воно із формули зникає взагалі -- нам байдуже, яке воно, лише б не завелике, і ми отримуємо загальну формулу для переміщення тіла, яке почало падати нерухомим: \[L = g \frac{t^2}{2}.\] Зокрема, за 5 секунд будь яке тіло, для якого можна знехтувати опором повітря, пролетить \(9.8 * 5^2/2=122.5\) метрів. На поставлене питання теорія, після певних умовлянь, відповісти погодилася.
Взагалі, в математиці відомий загальний метод вирішення подібних задач -- математичний аналіз(*****), але тут відтворена ситуація, часта у роботі фізика-теоретика, коли готових методик вирішення математичних задач, що постають, під рукою немає.
Знайдене нами вирішення можна назвати аналітичним -- результат отримано лише з використанням математичних перетворень та логічних міркувань.
Припустимо, що задачу нам вирішити не вдалося. Чи то ми не впізнали арифметичну прогресію, чи просто боїмося, що десь помилилися в розрахунках. В складніших, ніж наша задача, випадках таке трапляється часто. Що робити тоді? Можна спробувати безпосередньо відтворити розрахунки із таблички вище, вибравши достатньо мале \(\Delta t\). Тепер ми вже маємо критерій малості -- залишок \(g \frac{t \Delta t }{2}\) з формули вище має бути малим в порівнянні із загальним шляхом. Розрахунки доволі об'ємні, зручно виконати їх на комп'ютері, звідки і назва підходу -- комп'ютерне моделювання.
Напишемо на мові програмування Луа(******) ось таку програмку:
Аналітично в нашій теорії задача вирішується відносно просто, вихідне рівняння теорії: \[h=\frac{g t^2}{2},\] розв'язуємо відносно часу: \[t=\sqrt{\frac{2h}{g}}.\] У вказаному прикладі: \[t=\sqrt{\frac{2 * 30}{9.8}}\approx 2.47c.\]
Припустимо знову, що хоча формула для розв'язку прямої задачі у нас є, розв'язати аналітично обернену ми не можемо. Спробуємо залучити комп'ютер. Нам потрібно знайти таке t, що задовольнить співвідношення: \[h=\frac{g t^2}{2},\] яке можна переписати: \[h-\frac{g t^2}{2}=0.\] Подивимося, яке буде значення функції \(F(t) = h-\frac{g t^2}{2}\), в час гарантовано до падіння і в час, гарантовано після. В момент t=0 тіло ще точно не впало:\[F(t=0)=30-0=30,\] в момент t=5 тіло точно вже впало, бо мало пролетіти більше 120 метрів, як ми знаємо із попередньої задачі:\[F(t=5)=30-122.5=-92.5.\] Як відомо, неперервна функція (для наших цілей достатньо вважати, що це така функція, графік якої можна намалювати, не відриваючи олівця від паперу ;-) може змінювати знак, тільки перетнувши нуль. Значить, так як при t=0 i t=5 F(t) має різні знаки, шуканий час падіння знаходиться десь між ними. Давайте візьмемо середину цього відрізка, t=2.5, і подивимося, який знак має F(t) -- більший час падіння за 2.5 чи менший:\[F(t=2.5)=30-\frac{2.5^2*9.8}{2}=-0.625.\] Час падіння менший, а значить знаходиться десь між 0 і 2.5с. Знову беремо середину відрізка -- t=1.75 і повторюємо всю процедуру, поки віддаль між краями інтервалу часу -- похибка обчислень, не стане меншою, ніж нам потрібно(*********). Вручну це робити незручно, знову попросимо комп'ютер.
Задавши точність 0.01 секунди ("
Експериментальна перевірка
Кілька слів про побудову дизайну експериментів для перевірки нашої теорії, та потенційні труднощі, що можуть стати на шляху відважних експериментаторів. Будемо обмежуватися приладами та обладнанням, легкодоступними звичайним людям.
Перевірятимемо наступним чином. На 10-му поверсі (припустимо, для простоти, висота - 30 м) знаходиться асистент, що по сигналу експериментатора кидає тіла. Сам експериментатор знаходиться внизу і здійснює необхідні виміри. На техніку безпеки, ну, там, закритий шолом у експериментатора і страховка у асистента -- щоб не випав з вікна, відволікатися не будемо.
Перевіримо спочатку висновки оберненої задачі -- чи справді час падіння складатиме 2.47 секунди. Експеримент проводитимемо так: по сигналу експериментатора асистент відпускає металеву кульку. Експериментатор запускає секундомір у момент відпускання (тому час реакції асистента ролі не грає), зупиняє в момент удару кульки об землю.
Які будуть джерела похибок?
Якщо експериментально триманий час буде вкладатися в інтервал: \[ [t-\delta t, t+\delta t] = [2.47-0.2, 2.47+0.2] = [2.45, 2.49]\], значить в рамках точності експерименту висновки теорії підтверджуються.
Насправді, користуючись різноманітними статистичними методами, точність вимірювання можна сильно підвищити, але це вже тема зовсім іншої розмови.
Ще один експеримент -- перевірка, чи справді тіла різної маси падають з однаковим прискоренням. Так як швидкість на завершальному етапі траєкторії велика, вимірювати різницю часу нереально, проведемо експеримент так: асистент одночасно кидає два тіла різної маси, а внизу їх падіння фіксує звичайна фотокамера (фотоапарат у режимі відеозапису).
Джерела похибок:
Нехай перше тіло було в польоті 2.47 секунди -- якраз торкнулося землі, а друге вилетіло із затримкою 0.2 секунди, і є в польоті 2.45 секунди. Тоді воно пройшло шлях \(h=2.45^2*9.8/2\approx 29.41м\). А значить, віддаль між тілами буде 30-29.41=0.59м -- більше півметра!
Отже, якщо виміряна по фото віддаль між кульками, в момент наближення до землі, складатиме півметра і менше -- в рамках похибки експерименту, тіла різної маси падають із однаковим прискоренням, і наша теорія підтверджується.
Важливе зауваження: я таких експериментів не робив, тому цілком можу допускати у описаному вище дизайні якісь суттєві помилки! Взагалі, подібні експерименти можна робити простіше і з більшою точністю, наслідуючи Галілео Галілея -- досліджуючи, як кульки котяться по похилій площині. Але відповідної теорії ми поки не розробили.
Філософський відступ. З певної точки зору, пізнання фізичної природи речей можна представити як результат тісного переплетення трьох підходів -- теоретичних досліджень, комп'ютерного моделювання і експерименту. Для визначеності, припустимо, у нас є теорія, яка описує якийсь клас явищ. За її допомогою можна зробити певні передбачення. Ось як вище, ми зробили передбачення, що кулька, вільно падаючи, за 5 секунд пролетить 122.5 метрів. Проте, більшість фізичних систем, чи їх моделей, не такі прості -- акуратно і точно провести розрахунки до кінця вдається рідко. Тому в процесі науковець мусить робити певні наближення, спрощення. (Власне, я так і не придумав, як на прикладі нашої теорії не зовсім надумано продемонструвати наближені розрахунки). Не завжди вплив цих наближень достатньо контрольований (якщо ми можемо порахувати, на яку величину ми помилилися -- навіщо нам взагалі наближення, хоча іноді вдається знайти обмеження зверху на їх вклад). Тому, отримане передбачення в невідомій пропорції містить артефакти розрахунків.
Комп'ютерне моделювання, зі свого боку, образно кажучи, стартує із світу, який описує теорія, і дає можливість порахувати, як же має той світ поводитися, повертаючи певні числа, що виражають передбачення теорії/моделі. Саме по собі таке моделювання не особливо додає розуміння явищ. Розуміння це "Всі тіла за вказаних умов падають із однаковим прискоренням", а комп'ютер може лише повернути щось типу "перше тіло падало із прискоренням 9.81, друге тіло падало із прискоренням 9.81, третє тіло ..." і т.д. Однак воно дає можливість оцінити, яка поведінка є характерною рисою теорії, а що -- лише артефакт наближень. Саме тому іноді для нього вживають термін "комп'ютерний експеримент". Моделювання -- своєрідна постановка експерименту в ідеалізованому світі теорії.
Нарешті, взявши на озброєння теоретичні передбачення та їх перевірку комп'ютерним експериментом, можемо перейти до порівняння із реальними експериментами -- перевірки, наскільки наша теорія описує реальність. Говорячи більш формально, чи є у реальності для неї референт. Зауважте -- може існувати безліч дуже хороших, не самосуперечливих теорії, які просто нічого не описують у світі, де ми живемо.
Постановка експерименту -- річ теж нетривіальна. Потрібно врахувати дуже багато факторів, що можуть впливати на нього, оцінити вплив тих факторів, які контролювати неможливо. Це, як і побудова теорій, дуже складне мистецтво, однак розмова про нього занадто відхиляється від теми поста.
До речі, у зв'язку із цим складним процесом переходу від теорії до експерименту, невідповідність експериментальних результатів теоретичним передбаченням ще не означає, що теорія невірна. Можливо, просто розрахунки проводилися недостатньо акуратно, з неправомірними наближеннями та припущеннями. Аналогічно, експеримент не завжди достатньо акуратний, точний та правильно поставлений.
Ось так, крок за кроком, по спіралі, а часто і по колу, знання про природу і поглиблюються. ;-)
Детальніше із цими питаннями можна ознайомитися тут:
Виноски t | v | l |
0 | 0 | 0 |
\(\Delta t\) | \(g \Delta t\) | 0 |
\(2\Delta t\) | \(2 g \Delta t\) | \(g \Delta t^2 \) |
\(3\Delta t\) | \(3 g \Delta t\) | \(2 g \Delta t^2 \) |
\(4\Delta t\) | \(4 g \Delta t\) | \(3 g \Delta t^2 \) |
\(5\Delta t\) | \(5 g \Delta t\) | \(4 g \Delta t^2 \) |
і т.д. |
Взагалі, в математиці відомий загальний метод вирішення подібних задач -- математичний аналіз(*****), але тут відтворена ситуація, часта у роботі фізика-теоретика, коли готових методик вирішення математичних задач, що постають, під рукою немає.
Знайдене нами вирішення можна назвати аналітичним -- результат отримано лише з використанням математичних перетворень та логічних міркувань.
Комп'ютерне моделювання
Комп'ютерна симуляція потоків повітря навколо шатла. (c) NASA |
Напишемо на мові програмування Луа(******) ось таку програмку:
x=0; -- Початкове положення
t=0; -- Початок відліку часу
delta_t=0.01; -- Крок по часу
t_end=5; -- Момент закінчення
g=9.8; -- Прискорення вільного падіння
v=0; -- Початкова швидкість
while t<=t_end-0.00000000001 do -- щоб зупинитися рівно у 5 секунд
-- На жаль, через похибку заокруглення просто t<=t_end не працює
-- зупиняючись на t=5.05
v = v+g*delta_t; -- Зміна швидкості за час delta_t
x = x+v*delta_t; -- Зміна положення за цей же час
t = t+ delta_t; -- Переходимо до наступного моменту
end
--Виводимо результат
print(string.format( "t=%.2f\nl=%.2f\nv=%.2f", t, x, v) );
Попрацювавши, вона виведе наступне:
t=5.00
l=122.74
v=49.00
l=122.74
v=49.00
Знаючи точну відповідь, l=122.5м, \(v=49м/с^2\) можемо оцінити, наскільки добре комп'ютерне моделювання працює:\[\frac{122.74-122.5}{122.5}\approx 0.002 = 0.2%.\] Видно, що точність моделювання -- дуже висока.
Подивимося як точність залежить від кроку по часу. Для цього можна використати аналогічну програмку (для простоти не наводитиму), що повторюватиме розрахунок для різних значень \(\Delta t\):
Відхилення зростає лінійно, як і можна було очікувати.
Метод(*******), яким ми скористалися, щоб чисельно розв'язати нашу задачу, володіє ще однією цікавою властивістю. Подивимося, як змінюється пройдений шлях із часом, якщо рахувати його чисельно, та порівняємо із точним значенням. Для цього скористаємося програмою, дуже подібною на попередню:
t_end=5; -- Момент закінчення
g=9.8; -- Прискорення вільного падіння
x=0; -- Початкове положення
t=0; -- Початок відліку часу
v=0; -- Початкова швидкість
delta_t=0.01; -- Крок по часу
v_exact = 0; -- Швидкість, вирахувана точно
x_exact = 0; -- Положення, вирахуване точно
print(string.format( "t\tx\tv\tx_exact\tv_exac\terror", t, x, v, x_exact, v_exact, err) );
while t<=t_end-0.00000000001 do -- щоб зупинитися рівно у 5 секунд
-- На жаль, через похибку заокруглення просто t<=t_end не працює
-- зупиняючись на t=5.05
v = v+g*delta_t; -- Зміна швидкості за час delta_t
x = x+v*delta_t; -- Зміна положення за цей же час
t = t+ delta_t; -- Переходимо до наступного моменту
x_exact = g*t*t/2; -- Рахуємо для нього положення і час
v_exact = g*t; -- згідно точних формул
-- Розрахуємо відносну похибку
if x_exact==0 -- запобігаємо ділення на нуль на початку роботи
then
err = 0;
else
err =math.abs(x-x_exact)/x_exact;
end
print(string.format( "%.4f\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f", t, x, v, x_exact, v_exact, err) );
end
Відобразимо результати роботи на графіку:
Як бачимо, результати співпадають настільки, що візуально дві кривих ми відрізнити не можемо. Тобто, цей метод комп'ютерного моделювання непогано передає і сам процес падіння, а не лише його кінцевий результат (********).
Звичайно, цей опис все ж не ідеальний. Подивимося на цей графік "зблизька":
невеличка відмінність, похибка, все таки присутня.
Звичайно, цей опис все ж не ідеальний. Подивимося на цей графік "зблизька":
невеличка відмінність, похибка, все таки присутня.
Обернена задача
Вище ми розв'язували пряму задачу теорії -- за вказаним часом знайти пройдений шлях. Іноді потрібно розв'язувати і обернену -- задано шлях, знайти за який час тіло його пролетить. (Увага - формальний термін "обернена задача" означає дещо інше). Наприклад, за який час впаде згадана кулька із висоти 10-го поверху -- приблизно 30 метрів.
Аналітично в нашій теорії задача вирішується відносно просто, вихідне рівняння теорії: \[h=\frac{g t^2}{2},\] розв'язуємо відносно часу: \[t=\sqrt{\frac{2h}{g}}.\] У вказаному прикладі: \[t=\sqrt{\frac{2 * 30}{9.8}}\approx 2.47c.\]
Припустимо знову, що хоча формула для розв'язку прямої задачі у нас є, розв'язати аналітично обернену ми не можемо. Спробуємо залучити комп'ютер. Нам потрібно знайти таке t, що задовольнить співвідношення: \[h=\frac{g t^2}{2},\] яке можна переписати: \[h-\frac{g t^2}{2}=0.\] Подивимося, яке буде значення функції \(F(t) = h-\frac{g t^2}{2}\), в час гарантовано до падіння і в час, гарантовано після. В момент t=0 тіло ще точно не впало:\[F(t=0)=30-0=30,\] в момент t=5 тіло точно вже впало, бо мало пролетіти більше 120 метрів, як ми знаємо із попередньої задачі:\[F(t=5)=30-122.5=-92.5.\] Як відомо, неперервна функція (для наших цілей достатньо вважати, що це така функція, графік якої можна намалювати, не відриваючи олівця від паперу ;-) може змінювати знак, тільки перетнувши нуль. Значить, так як при t=0 i t=5 F(t) має різні знаки, шуканий час падіння знаходиться десь між ними. Давайте візьмемо середину цього відрізка, t=2.5, і подивимося, який знак має F(t) -- більший час падіння за 2.5 чи менший:\[F(t=2.5)=30-\frac{2.5^2*9.8}{2}=-0.625.\] Час падіння менший, а значить знаходиться десь між 0 і 2.5с. Знову беремо середину відрізка -- t=1.75 і повторюємо всю процедуру, поки віддаль між краями інтервалу часу -- похибка обчислень, не стане меншою, ніж нам потрібно(*********). Вручну це робити незручно, знову попросимо комп'ютер.
function sign(x) -- функція визначення знаку
return (x<0 and -1) or 1
end;
h=30; -- Висота
g=9.8; -- Прискорення вільного падіння
function F(t)
return h-g*t^2/2; -- Значення нашої функції
end;
t_min=0; -- Час гарантовано до падіння
t_max=5; -- Час гарантовано після падіння
t_err=0.01; -- Точність, до якої прямуватимемо
-- Визначаємо знак функції на краях інтервалу
sign_min = sign(F(t_min));
sign_max = sign(F(t_max));
while t_max-t_min>t_err do
t_middle=(t_max+t_min)/2;
Fv=F(t_middle);
if Fv==0 --раптом ми зразу потрапили на нуль
then
t_max=t_middle;
t_min=t_middle;
break; -- завершуємо розрахунок
end
if sign(Fv)==sign_min
then -- Корінь праворуч від t_middle
t_min=t_middle;
else -- Корінь ліворуч від t_middle
t_max=t_middle;
end
end
t_res=(t_max+t_min)/2; -- Остання спроба покращити результат
-- більш ймовірно що він десь посередині інтервалу, ніж строго
-- накраях
print(string.format("t=%.4f", t_res));
Задавши точність 0.01 секунди ("
t_err=0.01
" в коді) ми отримаємо:
t=2.4756,
що в межах похибки співпадає із точно розрахованою величиною -- комп'ютер і тут нас не підвів би. Експериментальна перевірка
(c) Ушастики.ru |
Перевірятимемо наступним чином. На 10-му поверсі (припустимо, для простоти, висота - 30 м) знаходиться асистент, що по сигналу експериментатора кидає тіла. Сам експериментатор знаходиться внизу і здійснює необхідні виміри. На техніку безпеки, ну, там, закритий шолом у експериментатора і страховка у асистента -- щоб не випав з вікна, відволікатися не будемо.
Перевіримо спочатку висновки оберненої задачі -- чи справді час падіння складатиме 2.47 секунди. Експеримент проводитимемо так: по сигналу експериментатора асистент відпускає металеву кульку. Експериментатор запускає секундомір у момент відпускання (тому час реакції асистента ролі не грає), зупиняє в момент удару кульки об землю.
Які будуть джерела похибок?
- Опір повітря вноситиме свій вклад. Тому слід вибирати момент, коли немає вітру. При тому, все рівно залишиться неврахована (і така, яку неможливо спрогнозувати в рамках поточної теорії) похибка. Хіба, із здорового глузду, можна припустити, що опір повітря збільшуватиме час польоту. Забудемо поки про неї.
- Кулька не почне падати ідеально нерухомою -- навіть за рахунок дрижання рук експериментатора. Вирахувати плив цього джерела похибок теорія здатна, але таку задачу -- падіння тіла із початковою швидкістю, ми поки не розв'язували. Доведеться теж змиритися.
- Похибка визначення висоти. Цілком реалістичною оцінкою буде \(Delta h = \pm10см=\pm0.1м\).
- Похибка вимірювання часу. Реакція людини -- гарантовано більша 0.1 секунди. Припустимо, що експериментатор хороший, досвідчений, секундомір у нього ідеальний з точки зору реакції людини. Тоді похибка вимірювання часу -- \(\Delta t = \pm0.2c\).
- Похибка визначення прискорення вільного падіння. Вирахуване нами значення -- середнє, може сильно відрізнятися в різних точках планети, тому \(g=9.8\pm0.1 м/с^2\).
Якщо експериментально триманий час буде вкладатися в інтервал: \[ [t-\delta t, t+\delta t] = [2.47-0.2, 2.47+0.2] = [2.45, 2.49]\], значить в рамках точності експерименту висновки теорії підтверджуються.
Насправді, користуючись різноманітними статистичними методами, точність вимірювання можна сильно підвищити, але це вже тема зовсім іншої розмови.
Ще один експеримент -- перевірка, чи справді тіла різної маси падають з однаковим прискоренням. Так як швидкість на завершальному етапі траєкторії велика, вимірювати різницю часу нереально, проведемо експеримент так: асистент одночасно кидає два тіла різної маси, а внизу їх падіння фіксує звичайна фотокамера (фотоапарат у режимі відеозапису).
Джерела похибок:
- Опір повітря. Слід проводити експеримент за відсутності вітру, а щоб урівняти невідомий нам вплив опору -- можна помістити тіла у однакові ємності. Наприклад -- пластикові кульки. При тому їх слід закріпити, щоб у процесі не літали по кульці.
- Асистент не зможе відпустити тіла абсолютно одночасно. Будемо вважати, що відмінність в часі -- порядку часу реакції, 0.2 секунди. Покращити можна, застосовуючи механічні пристрої для відпускання, наприклад електромагніти.
- Побутові фотоапарати дають частоту кадрів порядку 25 на секунду. Летячи порядку 2.5 секунди (час падіння ми вже знаємо), тіло набуває швидкості близько 25 метрів за секунду, тобто положення кульок між кадрами змінюватиметься на метр! Тому суттєвим стає, як саме фотоапарат зчитує зображення з матриці. Тобто, потрібен фотоапарат із матрицею CCD, без всіляких буферизацій стовпчиків, або щось подібне -- в цих питаннях я некомпетентний...
Нехай перше тіло було в польоті 2.47 секунди -- якраз торкнулося землі, а друге вилетіло із затримкою 0.2 секунди, і є в польоті 2.45 секунди. Тоді воно пройшло шлях \(h=2.45^2*9.8/2\approx 29.41м\). А значить, віддаль між тілами буде 30-29.41=0.59м -- більше півметра!
Отже, якщо виміряна по фото віддаль між кульками, в момент наближення до землі, складатиме півметра і менше -- в рамках похибки експерименту, тіла різної маси падають із однаковим прискоренням, і наша теорія підтверджується.
Важливе зауваження: я таких експериментів не робив, тому цілком можу допускати у описаному вище дизайні якісь суттєві помилки! Взагалі, подібні експерименти можна робити простіше і з більшою точністю, наслідуючи Галілео Галілея -- досліджуючи, як кульки котяться по похилій площині. Але відповідної теорії ми поки не розробили.
Додаток
Клікабельно (c) xkcd |
Комп'ютерне моделювання, зі свого боку, образно кажучи, стартує із світу, який описує теорія, і дає можливість порахувати, як же має той світ поводитися, повертаючи певні числа, що виражають передбачення теорії/моделі. Саме по собі таке моделювання не особливо додає розуміння явищ. Розуміння це "Всі тіла за вказаних умов падають із однаковим прискоренням", а комп'ютер може лише повернути щось типу "перше тіло падало із прискоренням 9.81, друге тіло падало із прискоренням 9.81, третє тіло ..." і т.д. Однак воно дає можливість оцінити, яка поведінка є характерною рисою теорії, а що -- лише артефакт наближень. Саме тому іноді для нього вживають термін "комп'ютерний експеримент". Моделювання -- своєрідна постановка експерименту в ідеалізованому світі теорії.
Нарешті, взявши на озброєння теоретичні передбачення та їх перевірку комп'ютерним експериментом, можемо перейти до порівняння із реальними експериментами -- перевірки, наскільки наша теорія описує реальність. Говорячи більш формально, чи є у реальності для неї референт. Зауважте -- може існувати безліч дуже хороших, не самосуперечливих теорії, які просто нічого не описують у світі, де ми живемо.
Постановка експерименту -- річ теж нетривіальна. Потрібно врахувати дуже багато факторів, що можуть впливати на нього, оцінити вплив тих факторів, які контролювати неможливо. Це, як і побудова теорій, дуже складне мистецтво, однак розмова про нього занадто відхиляється від теми поста.
До речі, у зв'язку із цим складним процесом переходу від теорії до експерименту, невідповідність експериментальних результатів теоретичним передбаченням ще не означає, що теорія невірна. Можливо, просто розрахунки проводилися недостатньо акуратно, з неправомірними наближеннями та припущеннями. Аналогічно, експеримент не завжди достатньо акуратний, точний та правильно поставлений.
Ось так, крок за кроком, по спіралі, а часто і по колу, знання про природу і поглиблюються. ;-)
Детальніше із цими питаннями можна ознайомитися тут:
- Марио Бунге "Философия физики": 1-е издание (djvu); 2-е издание (стереотипне, pdf, без типово СРСР-івської перемови).
- Герхард Фоллмер "Эволюционная теория познания".
(*) Базуючись на загальній теорії - класичній механіці, побудували часткову теорію, яку вже можна безпосередньо застосувати до опису реальності.
(**) Слово "прискорення" трішки збиває з пантелику. Прискорення може бути від'ємним, що означає, всього лиш, - тіло сповільнює рух. Однак "рухається із сповільненням" ніхто не казатиме, воно все ще "рухається з прискоренням".
(***) Як і зі всіма базовими питаннями, спроба їх означити дуже близько підводить нас до тавтологій класу "масло масляне".
(****) Згадуємо магічні слова - кінематика, динаміка.
(*****) В термінології математичного аналізу: \[a=\frac{\mathrm{d}^2 l }{\mathrm{d} t^2};\]\[v=\frac{\mathrm{d} l }{\mathrm{d} t}.\] Інтегруємо прискорення двічі за часом: \[\int a \mathrm{d}t = \frac{\mathrm{d} l }{\mathrm{d} t} \rightarrow a t + C_1 = \frac{\mathrm{d} l }{\mathrm{d} t } = v;\]\[ \int (a t + C_1) \mathrm{d} t = l \rightarrow a \frac{t^2}{2} + C_1 t + C_2 = l,\] де \(C_1,\ C_2\) -- певні константи. Знайдемо їх, знаючи, що в початковий момент швидкість v та переміщення l нульові: \[a*0+C_1=0 \rightarrow C_1=0;\] \[ a \frac{0^2}{2}+C_1*0+C_2=0 \rightarrow C_2=0. \] Отже \[l=a \frac{g^2}{2}.\]
(******) Звичайно, для хоч трішки складних розрахунків, інтерпретовані мови, типу Луа, підходять погано. Традиційно використовуються складні, компільовані, мови, наприклад FORTRAN чи C/C++. Однак нам особлива швидкодія не потрібна, а на Луа буде більш наочно -- складні допоміжні синтаксичні конструкції типу "#include <isotream>" не відволікатимуть.
(*******) Він називається методом Ейлера.
(********) Насправді, це доволі очевидно.
(*********). Це -- метод половинного ділення.
Немає коментарів:
Дописати коментар