Решение физических задач с помощью электронных таблиц MS Excel

Решение физических задач с помощью электронных таблиц 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 + к

обращается в 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

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

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

От абсолютной температуры 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

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

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

For k = 1 To Vremya

For i = 2 To N - 1: For j = 2 To M - 1

If

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

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

Else xi1(1) = 0

For i = 2 To 99

xi2

+ xi1(i + 1)) * dt * dt / dx / dx Next i

For i = 2 To 99: xi

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 с.

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.