Решение физических задач с помощью электронных таблиц MS Excel
Майер Р.В.
Аннотация — В статье рассмотрена проблема использования табличного процессора MS Excel при изученин физики. Обсуждаются возможности этой программы и анализируются решения следующих задач: 1) расчет движения колебательной системы; 2) получение сечения Пуанкаре для хаотических колебаний; З) изучение перемешивания фазового объема при колебаниях маятника Дафинга; 4) расчет излучения абсолютно черного тела (законы Планка, Стефана-Больцмана и Вина); 5) задача о
теплопроводности стержня и пластины; б) моделирование одномерной волны, решение волнового уравнения. В статье приводятся тексты 7 программ-макросов на языке Visual Basic, представлены получающиеся графики и результаты вычислений. Предлагаемые программы могут быть использованы при изучении физики и компьютерного моделирования.
Ключевые слова -- электронные таблицы, компьютерное моделирование, программирование, методика преподавания физики, дидактика физии, решение задач.
Использование компьютерных моделей и численных методов позволяет существенно расширить круг решаемых задач [3-6]. Важно при этом использовать доступные программные средства, освоение которых не вызывает сложностей. Школьный и вузовский курсы информатики предусматривают изучение табличного процессора MS Excel. Он является мощным программным средством, которое объединяет в себе электронные таблицы, средства визуального программирования и графический модуль, позволяющий построить различные диаграммы, графики и поверхности. Поэтому при решении физических задач имеет смысл использовать именно этот программный продукт.
Хотя пакет MS Excel имеет меньше возможностей по сравнению со
специализированными пакетами (MathCad, MathLab, Math и т.д.), он позволяет реализовать простейшие алгоритмы численного решения диффуравнений, создать компьютерные модели и решить достаточно широкий круг задач по физике. Известные книги и учебные пособия [1, 2, 7] не дают полного представления о возможностях использования электронных таблиц при изучении
Майер Роберт Валерьевич, доктор педагогических наук, профессор кафедры физики и дидактики физики ГОУ ВПО “Глазовский государственный педагогический институт” email: robert_mai er @ mail. ru
физики. Поэтому проблема использования табличного процессора Excel для решения физических задач остается актуальной. Можно предположить, что макросы, созданные в табличном процессоре Excel, позволяют промоделировать большое количество физических систем, требующих численного решения дифференциальных уравнений и нахождения определенных интегралов. Поэтому его целесообразно использовать при изучении физики и основ компьютерного моделирования.
Ниже рассмотрены несколько примеров решения задач из различных разделов физики. Во всех анализируемых случаях соответствующее диффуравнение представляется в конечноразностном виде [3-6] и создается макрос (небольшая программа) на языке Visual Basic [1, 2, 7]. Для написания макроса достаточно выбрать: Вид ^ Панели инструментов ^ Элементы управления ^ Кнопка. Необходимо кнопку Command Button1 перенести на таблицу и дважды кликнуть по ней. В появившееся окно следует записать текст программы, которая будет исполняться после запуска. Макрос считывает данные из заданных в нем ячеек электронной таблицы и, произведя расчеты, создает таблицу результатов вычислений. На ее основе стандартными средствами Excel можно построить график изучаемой зависимости [1, 2]. Макросы к некоторым задачам составлены так, что при повторном нажатии на кнопку программа увеличит время на At, повторит расчеты и построит новый график. Все физические величины в рассмотренных задачах измеряются в условных единицах.
Задача 1. Автоколебательная система состоит из груза массой m , подвешенного на пружине жесткостью к , и клапана, регулирующего
поступление энергии от источника. При прохождении грузом положения равновесия (I x l< 0,5) в направлении оси Ox, на него
действует постоянная сила F . Необходимо рассчитать состояние системы в произвольный
момент времени t , построить график
автоколебаний и фазовую кривую.
Построим математическую модель: a = du I dt = (F - kx - ru) I m, u = dx I dt,
5, если |x| < 0,5 и u> 0,
0, в противном случае.
Используемая программа ПР-1 состоит из цикла по времени t , в котором рассчитываются
значения координаты x, скорости U и ускорения a в следующий момент времени t + At .
Программа ПР-1. Private Sub CommandButton1_Click() m = 1.1: k = 1: r = 0.05: dt = 0.02 While t < 50 t = t + dt: i = i + 1
If (Abs(x) < 0.5) And (v >= 0) Then F = 5 Else F = 0
a = (F - r * v - k * x) I m
v = v + a * dt: x = x + v * dt : Cells(i, 1) = t
Cells(i, 2) = x: Cells(i, 3) = v: Cells(i, 4) = a
Wend
End Sub
Рис. 1. Результаты моделирования автоколебательной системы.
Рис. 2. Сечение Пуанкаре для маятника Дафинга при (р= 0, 1, 2, 4 рад.
Задача 2. Проанализируйте колебания шарика, находящегося внутри потенциальной ямы с двумя углублениями (маятник Дафинга), если его
42
потенциальная энергия U(x) = к (x М - x I2). Получите график хаотических колебаний и сечение Пуанкаре в случае, когда на него действует периодически изменяющаяся сила.
Колебания маятника Дафинга описывается дифференциальным уравнением:
3
mx + rx + к(x - x) = Fm cos(^-1). Систему можно охарактеризовать координатой x , проекцией импульса шарика p x и проекцией силы Fx . Сечение Пуанкаре, соответствующее фазе p , строится так: в момент, когда cos(^ • t + p)
обращается в 0 , на фазовой плоскости ставится точка с координатами x и p x . Используется программа ПР-2, результаты моделирования приведены на рис. 2. Видно, что сечение Пуанкаре имеет фрактальную структуру, что характерно для хаотических колебаний.
Программа ПР-2. Private Sub CommandButton1_Click()
F = 1: k = 4: r = 0.5: m = 1: w = 2.3: dt = 0.001 fi = 2.64: faza = Cells(1, 5)
While t < 5000
t = t + dt: z = Cos(w * t + faza) a = (F * Cos(w * t) - k * (x * x * x - x) - r * v) I m
v = v + a * dt : x = x + v * dt If (z > 0) And (zz < 0) Then
j = j + 1: Cells(j, 1) = x: Cells(j, 2) = v
zz = z Wend End Sub
Задача 3. Промоделируйте перемешиваемость фазового объема в случае свободных колебаний маятника Дафинга.
Представим себе совокупность одинаковых маятников Дафинга, совершающих свободные колебания, которые отличаются только начальными условиями Х0, p0 • Движение маятников
3
описывается уравнением: mx + rU + к (Х — х) = 0.
Пусть в момент t = 0 фазовые точки, характеризующие начальное состояние маятников, находятся внутри прямоугольника, ограниченного интервалами [х, Х + Ax] и [p, p + Ap]. Программа ПР-3 рассчитывает состояние каждого маятника в заданный момент времени t', который заранее вводят в ячейку E1, и записывает результаты вычислений в столбцы А и B. Получается таблица из 1600 строк, на ее основе строится фазовый портрет данного ансамбля маятников в момент t'.
Программа ПР-3. Private Sub CommandButton1_Click() m = 1: k = 1: r = 0.02: dt = 0.002 For i = 1 To 40: For j = 1 To 40
x = 0.04 * i: v = 0.04 * j t = 0: s = s + 1 Vremya = Cells(1, 5)
While t < Vremya t = t + dt
a = (-k * (x * x * x - x) - r * v) I m v = v + a * dt: x = x + v * dt Wend: Cells(s, 1) = x: Cells(s, 2) = v Next: Next End Sub
На рис. 3 представлены результаты вычислений для моментов t' = 10, 20, 60. Видно, что при t' ^ ^ происходит расползание фазового объема, его перемешивание в фазовом пространстве, что свидетельствует о хаотичности колебаний. Если колебания затухают ( г > 0), то фазовый объем уменьшается до 0. В случае незатухающих колебаний ( г = 0) фазовый объем ведет себя как несжимаемая жидкость (сохраняет свою величину), как того требует теорема Лиувилля.
Рис. 3. Перемешивание фазового объема для маятника Дафинга в моменты t' = 10, 20 и 60.
Задача 4. Постройте график зависимости спектральной светимости г абсолютно черного тела от частоты излучения для разных температур T. Методом численного интегрирования определите интегральную светимость R абсолютно черного тела для данной температуры. Подтвердите, что R прямо пропорциональна четвертой степени T (закон Стефана-Больцмана):
R = оГ4.
Зависимость спектральной светимости г абсолютно черного тела от частоты V и температуры Г выражается формулой Планка:
, ^ 2лку3
г (уГ) = "т-----------------
c2(exp(hv I кT) -1)
От абсолютной температуры T и частоты v перейдем к параметрам
к
T' = T-• h
ґ2лкл 1I3
с2 у
и v' = v
ґ2лкл 1I3
с2 у
Тогда формула Планка приобретет простой вид:
г(у',Т') = V'3 /(ехр(у'/Т') -1). Нахождение интегральной светимости черного тела может быть осуществлено методом численного интегрирования. Используемая программа ПР - 4 позволяет построить графики г = г (у') при
различных Т' и рассчитать интегральную светимость Я по формуле: п п
я=X г (у'і)Ау'=
3
v'3 Av'
i =1
f-1exp(V'iIT ]) -1
где V'i = iAV. Перед ее запуском значение T' следует записать в ячейку D1. После нажатия на кнопку запуска программа создает таблицу из двух столбцов V' и r , содержащую 20000 строк, в ячейке E1 появляется значение интегральной светимости R . На основе полученных результатов строится график r = r(v') . Программа позволяет заполнить таблицу 1 и доказать, что
О = RIT 4 = const, то есть R растет 4
пропорционально T .
Таблица 1.
Т R ^m а = R/T4 Ъ = \тТ
100 649 ■ 10ь 0,00355 6,49 0,355
200 10400 • 106 0,00177 6,50 0,354
300 52600 • 106 0,00118 6,49 0,354
400 166000 • 10® 0,000885 6,48 0,354
500 405000 • 10® 0,000709 6,48 0,355
600 841000 • 10® 0,00059 6,49 0,354
Задача 5. Найдите длину волны Ат, соответствующую максимуму спектральной светимости г = г (у1) абсолютно черного тела, имеющего температуру Г . Подтвердите, что эта длина волны Ат, обратно пропорциональна его температуре: Ат = Ь /Г (закон смещения Вина).
Используется та же программа ПР-4. Температуру Г' записывают в ячейку Б1, после запуска макроса получающиеся значения Ат появляются в ячейке Е2. С помощью программы можно рассчитать Ь = ЛтГ и заполнить таблицу 1. Из нее видно, что по мере увеличения Г длина волны Ат, соответствующая максимуму спектральной светимости, уменьшается так, что величина Ь = ЛтГ остается постоянной.
Программа ПР - 4. Private Sub CommandButton1_Click() t = Cells(1, 4): h = 1: Max = 0 For nu = 1 To 20000 F = nu * nu * nu / (Exp(nu / t) - 1)
Cells(nu, 1) = nu Cells(nu, 2) = F R = R + F * h
If F > Max Then wm = nu: Max = F Next
Cells(1, 5) = R Cells(2, 5) = 1 / wm End Sub
Задача 6. Имеется однородный стержень длиной L с коэффициентом теплопроводности а . Задано начальное распределение температуры T(х) и мощности источников тепла q(x). Необходимо рассчитать температуру различных точек стержня в произвольный момент времени t' . Уравнение теплопроводности для стержня:
дт
а
д 2T
д Эх2 СР
Построим одномерную сетку с шагом к = Ах. В конечных разностях получаем:
- +
q
' t ' t /Л ' f ' t і 'f ' t
Tt+1 = T- + а^—1^-—^At + ql- At.
Ax cp
Используется программа ПР-5. Время t' следует записать в ячейку E1. При запуске макроса, он создает таблицу из двух столбцов х и T(х), на основе которой можно построить график T = T (х) (рис. 4). Содержимое ячейки E1 увеличивается на 500. При повторном нажатии на кнопку, соответствующим образом изменяются результаты вычислений, и строится новый график для момента
t '+500.
Программа ПР - 5. Private Sub CommandButton1_Click()
Dim t(100) As Single Dim t1(100) As Single dx = 1: dt = 0.01
For i = 1 To 100: Cells(i, 1) = i * dx If i < 20 Then t(i) = 4 Else: t(i) = 0 Next i: Vremya = Cells(1, 5)
For k = 1 To Vremya: For i = 2 To 99
If (i > 75) And (i < 80) Then q = 0.2 Else q = 0
11 (i) = t(i) + 1.5 * (t(i - 1) - 2 * t(i) + t(i + 1)) * dt / dx /
dx + q * dt
Next i
For i = 1 To 100: t(i) = t1(i): Next i
t(1) = 4: t(100) = t(99): Next k
For i = 1 To 100: Cells(i, 2) = t(i): Next i
Cells(1, 5) = Cells(1, 5) + 500
End Sub
Рис. 4. Распределение температуры вдоль стержня.
Задача 7. Имеется однородная пластина размером Ьх х Ьу с коэффициентом
теплопроводности а. Задано начальное распределение температуры Т(х, у) и мощности источников тепла ^(х, у) . Необходимо рассчитать температуру различных точек пластины в произвольный момент Ї'.
Уравнение теплопроводности для пластины:
дТ
dt
а
22 д 2T д2T +
dx2 dy
v
2
+
У
cp
Задача решается аналогично. Дискретизируют двумерную область, переходя к сетке N x M с шагом h = Ах = Ay и записывают конечноразностное уравнение. Используется программа ПР-6. Время t' записывают в ячейку A33 и нажимают на кнопку запуска макроса. На экране появляется двумерная матрица значений температуры в узлах сетки в момент t' (рис. 5). При повторном запуске программы она пересчитывает значения T(i, j) в узлах двумерной
сетки для момента t'+25 . На рис. 5 отрегулирована ширина столбцов и вручную изменен цвет ячеек, температура которых находится в заданных диапазонах.
Программа ПР-6. Private Sub CommandButton1_Click()
N = 30: M = 30: h = 1: dt = 0.01
Dim t(30, 30) As Single
Dim t1(30, 30) As Single
For i = 1 To N: For j = 1 To M
If i < 20 Then t(i, j) = 10 Else t(i, j) = 0
Next j: Next i: Vremya = Cells(33, 1)
For k = 1 To Vremya
For i = 2 To N - 1: For j = 2 To M - 1
If (Abs(i - 12) < 5) And (Abs(j - 15) < 6)
Then q = 10 Else q = 0 AA = t(i - 1, j) - 4 * t(i, j) + t(i + 1, j) + t(i, j - 1) + t(i, j + 1): t1(i, j) = t(i, j) + 0.5 * (AA) * dt / h / h + q * dt Next j: Next i
For i = 2 To N: For j = 2 To M t(i, j) = t1(i, j): Next j: Next i: Next k For i = 2 To N: For j = 2 To M Cells(i, j) = t(i, j): Next j: Next i Cells(33, 1) = Cells(33, 1) + 25 End Sub
0 0 0 0 и и 0 ■1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 и и
0 0 0 0 и 1 1 ■1 2 2 3 3 3 3 3 3 3 2 2 1 1 1 0 0 0 0 0 и и
и и и и 1 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 ■1 и и и и и 0
и и и 1 1 2 4 5 8 9 11 -12 12 12 12 12 11 9 8 5 4 2 1 1 и и и и 0
0 0 0 1 2 4 6 10 14 18 20 22 23 23 23 22 20 18 14 10 5 4 2 1 0 0 0 и 0
0 0 1 1 3 5 10 16 25 31 35 38 39 39 39 38 35 31 25 10 10 5 3 1 1 0 0 и 0
0 0 1 2 4 8 14 25 42 53 59 02 64 65 64 62 59 53 42 25 14 8 4 2 1 0 0 и 0
0 0 1 2 5 У 18 31 53 66 74 78 81 81 81 78 74 66 53 31 18 9 5 2 1 0 0 и 0
0 1 1 3 S 11 20 35 59 74 83 88 90 91 90 88 83 74 59 35 20 11 6 3 1 1 0 и 0
0 1 1 3 0 12 21 37 62 78 87 93 90 96 96 93 87 78 62 37 21 12 6 3 1 1 0 0 и
0 1 1 3 0 12 22 38 63 79 89 94 97 98 97 94 89 79 63 38 22 12 6 3 1 1 0 и и
0 1 1 3 0 12 21 37 62 78 87 93 90 96 96 93 87 78 62 37 21 12 6 3 1 1 0 0 и
0 1 1 3 0 11 20 35 59 74 83 88 90 91 90 88 83 74 59 35 20 11 6 3 1 1 0 0 и
0 0 1 2 5 9 18 31 53 66 74 78 81 81 81 78 74 66 53 31 18 9 5 2 1 0 0 0 и
0 0 1 2 4 8 14 25 42 53 59 62 64 65 64 62 59 53 42 25 14 8 4 2 1 0 0 0 и
0 0 1 1 3 5 10 16 25 31 35 38 39 39 39 38 35 31 25 16 10 5 3 1 1 0 0 и и
и и и 1 2 4 6 10 14 18 20 22 23 23 23 22 20 18 14 10 6 4 2 1 и и и и 0
и и и 1 1 2 4 5 8 10 11 -12 12 12 12 12 11 10 8 5 4 2 1 1 и и и и 0
и и и и 1 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 1 и и и и и 0
0 0 0 0 и 1 1 1 2 2 3 3 3 3 3 3 3 2 2 1 1 1 0 0 0 0 0 и 0
0 0 0 0 О 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 и 0
0 0 0 0 О 0 0 0 0 0 1 1 1 1 1 1 1 0 0 и 0 0 0 0 0 0 0 и 0
0 0 0 0 О 0 0 0 0 0 0 и 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 и 0
0 0 0 0 0 и 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 0 0 0 0 0 0 0 и
0 0 0 0 0 и 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 0 0 0 0 0 0 0 и
0 0 0 0 0 и 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 0 0 0 0 0 0 0 и
0 0 0 0 0 и 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 0 0 0 0 0 0 0 и
0 0 0 0 0 и 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 0 0 0 0 0 0 0 и
0 0 0 0 0 0 0 0 0 0 0 0 0 и 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Рис. 5. К задаче о теплопроводности пластины.
Задача 8. Левый конец струны совершил одно колебание, правый конец закреплен. Рассчитайте смещение £( х) различных точек струны в произвольный момент времени t' .
Запишем уравнение одномерной волны:
d 2f_ 1 d 2f
2
dx2 U dtA
В конечных разностях при F = 0 получаем:
= t ■—^- F (x, t).
2
2
ft+1 = 2ft -f
t-1 , „ч2 fi-1
+ U
2ft + f
t+1
At
Ax
Используется программа ПР-7. При запуске она считывает время ґ' из ячейки Е1, вычисляет смещение ^(х) узлов сетки в момент ґ' и создает таблицу, на основе которой строится график £(х) . После этого ґ' увеличивается на 100. При повторном запуске макрос рассчитывает £(х) в момент ґ '+100 и строит новый график.
Рис. 4. Результат решения волнового уравнения.
Программа ПР-7. Private Sub CommandButton1_Click()
Dim xi(100) As Single
Dim xi1(100) As Single
Dim xi2(100) As Single
dx = 1: dt = 0.02: v = 8: Vremya = Cells(1, 5)
For i = 1 To 100: Cells(i, 1) = i * dx: Next i
For k = 1 To Vremya: t = t + dt
If 2 * t < 6.28 Then xi1(1) = 20 * Sin(2 * t)
Else xi1(1) = 0
For i = 2 To 99
xi2(i) = 2 * xi1(i) - xi(i) + v * (xi1(i - 1) - 2 * xi1(i)
+ xi1(i + 1)) * dt * dt / dx / dx Next i
For i = 2 To 99: xi(i) = xi1(i): xi1(i) = xi2(i)
Next i: xi(100) = 0: Next k
For i = 1 To 100: Cells(i, 2) = xi(i): Next i
Cells(1, 5) = Cells(1, 5) + 100
End Sub
ЗАКЛЮЧЕНИЕ
В настоящей работе проанализированы возможности использования электронных таблиц MS Excel для решения физических задач следующего типа: 1) расчет движения
колебательной и автоколебательной системы; 2)
получение сечения Пуанкаре для хаотических колебаний; 3) перемешивание фазового объема при колебаниях маятника Дафинга; 4) изучение законов излучения абсолютно черного тела; 5) решение задачи о теплопроводности стержня и пластины; 6) моделирование одномерной волны, решение волнового уравнения. Установлено, что для этого удобно использовать макросы — небольшие программы, написанные на языке Visual Basic. В статье представлены листинги 7 макросов. Применение рассмотренных компьютерных моделей способствует установлению
межпредметных связей между математикой, физикой, информатикой и повышению интереса к этим дисциплинам. Они могут быть использованы при проведении учебных исследований, в курсовых и дипломных работах.
БИБЛИОГРАФИЯ
1. Васильев А.Н. Научные вычисления в Microsoft Excel. — М.: Издательский дом “Вильямс”, 2004.512 с.
2. Гельман В.Я. Решение математических задач средствами Excel: Практикум. - СПб.: Питер, 2003. - 240 с.
3. Кунин С. Вычислительная физика. — М.: Мир, 1992. — 518 с.
4. Майер Р.В. Задачи, алгоритмы, программы [Электронный ресурс] / URL: http://maier-rv.glazov. net, http://mayer.hop.ru
5. Майер Р.В. Компьютерное моделирование физических явлений. — Глазов, ГГПИ: 2009. — 112 с. (http://maier-rv.glazov.net)
6. Поттер Д. Вычислительные методы в физике.— М.: Мир, 1975.— 392 с.
7. Угринович Н.Д. Исследование информационных моделей. Элективный курс: Учебное пособие - М.: БИНОМ. Лаборатория знаний, 2004. - 183 с.
The solution of physical tasks with use of tabular MS Excel processor Mayer R.V.
Abstract - In article the problem of use of the tabular MS Excel processor when studying physics is considered. Possibilities of the program are discussed, solutions of the following tasks are considered: 1) calculation of movement of oscillatory system; 2) obtaining Poincare section for chaotic fluctuations; 3) studying of a mixing of phase volume at fluctuations of Dufing’s pendulum; 4) tasks on laws of radiation of absolutely black body (Plank, Stephan-Boltsman and Vina law); 5) calculation of heat conductivity of a bar and a plate; 6) modeling of an one-dimensional wave, solution of the wave equation. Texts of 7 programs (macros) are provided in article in the Visual Basic language, turning-out schedules and results of calculations are submitted. Offered programs can be used when studying physics and computer modeling.
Keywords: spreadsheets Excel, computer modeling, programming, a technique of teaching of physics, didactics of physics, the solution of tasks.