Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Задание 2. Модель центрального, абсолютно упругого удара



Постановка задачи.

Разработать модель центрального, абсолютного упругого удара двух шариков. Из курса физики известно, что при таком ударе двух тел массой M1 и M2, движущихся со скоростями V1 и V2, соответственно, выполняются законы сохранения импульса:

и закон сохранения энергии:

где U1 и U2 – скорости тел после соударения.

Совместное решение этих двух уравнений позволяет определить сначала значение скорости U1:

а затем и U2:

U2 = V1 + U1 – V2.

Используя эти соотношения, построить модель движения шариков в замкнутом объеме. Шарики имеют определенные начальные скорости и при соударении друг с другом меняют их в соответствии с вышеприведенными формулами. Для того, чтобы соударения происходили многократно, движения шариков ограничены боковыми стенками, при ударе о которые, шарики изменяют свою скорость по направлению, сохраняя ее по величине.

Ход работы.

1. Переименуйте Лист2 в «Упругий удар».

2. Заполните ячейки A1:F2, как на Рис.20.4.

3. В ячейке A5 запишите формулу: «=A1», а в ячейке C5 – «=C1».

4. В ячейке G2 введите формулу, вычисляющую разность между начальным и конечным положением шариков: «=F2 – E2»

5. В ячейках B5 и D5 будет показываться местоположение шариков, вычисляемое в программном коде. Сейчас введите сюда значения из ячеек E2 и F2 (Рис.20.5).

6. В ячейке A4 введите пояснение «1 шар», в ячейке C4 – «2 шар» (Рис.20.5).

Теперь необходимо построить диаграмму таким образом, чтобы получить на ней изображение обоих шариков, положение которых будет зависеть:

· от координат X, находящихся в ячейках B5 и D5;

· от координат Y, равных 2;

· от размеров, зависящих от массы (A5 и C5). Для этого:

7. Выделите диапазон ячеек A5:D5.

8. С помощью Мастера диаграмм выберите тип диаграммы – «Пузырьковая».

9. На шаге 2 построения диаграммы укажите источник данных рядов – «в строках» и перейдите на вкладку «Ряд».

10. Для значения ряда «Ряд 1» установите следующие параметры (Рис.20.6):

· Значения X: = Лист2!$B$5

· Значения Y: = {2}

· Размеры: = Лист2!$A$5

11. Нажмите кнопку «Добавить» под окном «Ряд».

12. Для значения ряда «Ряд 2» установите следующие параметры (Рис.20.7):

· Значения X: = Лист2!$D$5

· Значения Y: = {2}

· Размеры: = Лист2!$C$5

13. В следующем окне, на Шаге 3, уберите легенду и ось значений Y.

14. Введите название диаграммы – «Модель абсолютно упругого удара».

15. Расположите диаграмму на имеющемся листе и настройте ее по своему вкусу.

16. Установите для оси X (подведя курсор мыши к линии OX, щелкнув правой клавишей мыши и выбрав в контекстном меню команду «Формат оси») минимальное и максимальное значение шкалы соответственно 0 и 10, отказавшись от режима «Авто» для этих параметров. Примерный результат – на Рис.20.8.

17. Расположите на Листе «Упругий удар» элемент управления – командную кнопку CommandButton1 (Рис.20.9) и измените ее свойства:

· Caption = «Старт»

· Font, BackColor – по своему усмотрению

18. Напишем следующий программный код для щелчка по кнопке (необходимые комментарии приведены после знака апострофа):

Private Sub CommandButton1_Click()

'получим начальные координаты шариков

xx1 = Cells(2, 5) ' из ячейки E2

xx2 = Cells(2, 6) 'из ячейки F2

'начальные скорости обозначим через dx1 и dx2

'Координату шарика через промежуток времени t

'будем вычислять по известной формуле X=Xo+V*t

'Если t=1/10, тогда dx = v/10. Отсюда:

dx1 = Cells(2, 2) / 10

dx2 = Cells(2, 4) / 10

'Передадим начальные в координаты в текущие, используемые для вычисления

x1 = xx1

x2 = xx2

m1 = Cells(2, 1) 'получим массы шариков из ячеек A2

m2 = Cells(2, 3) 'и С2

'Рассчитаем цикл на 100 раз, принимая то,

'что увеличение счетчика на 1 - это увеличение

'времени на 1/10 с, т.е. в течение 10 условных секунд

For i = 1 To 100

'Первый шарик не должен улететь налево, т.е. если он

'приблизился к левой стенке (координата 0), его скорость

'должна поменяться по знаку, а чтобы шарик не "влипал" в стенку,

'запретим приближаться к ней ближе, чем на 0,5

If x1 <= 0.5 Then dx1 = Abs(x1)

'Для второго шарика "опасна" правая стенка с координатой 10,

'и учетом "влипания" получаем 9,5

If x2 >= 9.5 Then dx2 = -1 * Abs(dx2)

'Если первый шарик (левый) приблизился ко второму менее,

'чем на 1 (размеры шариков), то скорости шариков меняются

'в соответствии с формулами

If x1 >= x2 - 1 Then

a = dx1 ' - это скорость V1 перед ударом

dx1 = (dx1 * (m1 - m2) + 2 * dx2 * m2) / (m1 + m2) ' - это U1

dx2 = a + dx1 - dx2 ' - это U2

End If

'находим новое местоположение шариков

x1 = x1 + dx1

x2 = x2 + dx2

'отправим эти значения в таблицу, чтобы изменилась диаграмма

Cells(5, 2) = x1

Cells(5, 4) = x2

'Выполнить описанные команды, произвести перерасчет

'в соответствии с новыми данными, и перестроить диаграмму

DoEvents

'завершим цикл

Next i





Дата публикования: 2014-12-28; Прочитано: 156 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...