§ 23. Электронные таблицы и математическое моделирование
Основные темы параграфа:
♦ математическая модель;
♦ этапы математического моделирования на компьютере;
♦ пример математического моделирования в ЭТ.
Математическая модель
Что такое компьютерное математическое моделирование ? Снова вернемся к теме математического моделирования, обсуждение которой было начато в § 9. Реальную систему, для которой создается математическая модель, принято называть объектом моделирования. Объектами математического моделирования могут быть некоторые конструкции, например, железнодорожный мост или корабль; природные объекты, например месторождение полезных ископаемых, водохранилище, а также процессы и явления, происходящие во времени, например взлет космической ракеты с космодрома, изменение погодных условий в определенной географической точке, изменение со временем численности определенных популяций.
Для людей могут оказаться жизненно важными многие вопросы, связанные с этими объектами и процессами. Например: на какой высоте ракета достигнет первой космической скорости и выйдет на орбиту спутника Земли; до какой предельной температуры нагреется ее оболочка? Какой может быть максимальная нагрузка на железнодорожный мост, при которой не будет происходить его разрушение? Каким будет уровень воды в водохранилище в тех погодных условиях, которые предсказывают метеорологи? Не вымрет ли данная популяция животных через сто лет?
На эти вопросы желательно получить ответы теоретическим путем, поскольку экспериментальный путь либо невозможен, либо он возможен, но опасен. Например, при перегрузке моста можно его разрушить, при перегреве корпуса ракеты ее можно сжечь; а экспериментально проверить, что будет с популяцией животных через сто лет, невозможно. В подобных ситуациях на помощь человеку приходят математическое моделирование и вычислительный эксперимент.
Этапы математического моделирования на компьютере
В математической модели используются количественные (числовые) характеристики объекта. Например, в математической модели полета ракеты учитываются масса и скорость ракеты, сила тяги двигателей, сопротивление атмосферного воздуха, теплоемкость обшивки ракеты, время полета, высота ракеты над поверхностью Земли, плотность атмосферы. Все эти величины связываются между собой через уравнения, отражающие физические законы движения тела в воздушной среде, нагревания тела в процессе трения. Из этих уравнений, зная одни величины — исходные данные, можно вычислить другие величины — результаты. Например, зная массу ракеты, силу тяги двигателей, скорость сгорания топлива, коэффициент трения воздуха о корпус, можно вычислить, какой будет высота и скорость ракеты в данный момент времени, а также температура обшивки ракеты. Часто такие расчеты бывает трудно осуществить вручную, и тогда используются компьютерные методы решения задачи.
Реализованная на компьютере математическая модель называется компьютерной математической моделью, а проведение расчетов с помощью компьютерной модели с целью прогнозирования поведения моделируемой системы называется вычислительным экспериментом.
Таким образом, этапы компьютерного математического моделирования следующие:
1) выделение количественных характеристик моделируемой системы, существенных для решаемой задачи;
2) получение математических соотношений (формул, уравнений, систем уравнений и пр.), связывающих эти характеристики;
3)
определение способа решения полученной математической задачи и
реализация ее на компьютере с помощью прикладных программных средств или
на языках программирования;
4) решение поставленной задачи путем проведения вычислительного эксперимента.
В результате вычислительного эксперимента можно получить прогноз поведения исследуемой системы; выяснить вопрос о том, как изменение одних характеристик системы отразится на других.
Одним из видов прикладных программных средств, пригодных для реализации математической модели на компьютере, являются электронные таблицы.
Пример математического моделирования в ЭТ
Чаще всего электронные таблицы используются в задачах такого типа, которые были рассмотрены в предыдущих параграфах: для получения расчетных ведомостей, смет, справок, списков, т. е. в области делопроизводства. Однако электронные таблицы могут оказаться полезными и для научных целей. С их помощью можно строить компьютерные математические модели, проводить вычислительные эксперименты. Рассмотрим пример такого вычислительного эксперимента.
Ученые установили, что прирост какого-либо вида живых организмов за счет рождаемости прямо пропорционален их количеству, а убыль за счет смертности прямо пропорциональна квадрату их количества. Этот закон известен под названием закона Мальтуса.
Пусть в одном хозяйстве собираются разводить карпов. Прежде чем запускать мальков в пруд, решили провести расчеты. Согласно закону Мальтуса, изменение числа рыб за один год вычисляется по формуле
ΔN= kN – qN2.
Здесь N — число карпов в начале года, k — коэффициент прироста, q
— коэффициент смертности. Экспериментально установлено, что для данного
вида рыб (карпы) и в данных условиях (состояние водоема, наличие корма)
k = 1, q = 0,001.
Если первоначально в пруд запущено N0 рыб, то из закона следует, что количество карпов через год будет таким:
N1 = N0 + (kN0 - qN20).
Через два года:
N2 = N1 + (kN1 - qN21)
и так далее. Можно написать общую формулу для вычисления количества рыб в i-м году после их запуска:
Ni = Ni-1 + (kNi-1 – qN2i-1) для i = 1, 2, 3,…
Эта формула является математической моделью процесса размножения рыб в водоеме.
Заполним электронную таблицу для проведения по этой формуле расчета рыбного «поголовья» в пруду в течение нескольких лет — табл. 4.13.
Не надо думать, что всю таблицу приходится вводить посимвольно с клавиатуры. Строки, начиная с 7-й, формируются путем копирования предыдущей строки. При этом относительные адреса изменяются автоматически.
Для получения результатов достаточно занести в ячейку F1 первоначальное число рыб.
Таблица 4.13. Расчет числа рыб в пруду с интервалом в год
| A | B | C | D | E | F |
1 | k = | 1 | q = | 0,001 | N= | |
2 | | | | | | |
3 | Год | | Число рыб | | | |
4 | | | | | | |
5 | 1 | | =F1 + 1*F1-1*F1*F1 | | | |
6 | =A5+1 | | =C5 + 1*C5-1*C5*C5 | | | |
7 | =A6+1 | | =C6 + 1*C6-1*C6*C6 | | | |
8 | =A7+1 | | =C7 + 1*C7-1*C7*C7 | | | |
9 | =A8+1 | | =C8 + 1*C8-1*C8*C8 | | | |
.. | ..... | . | ........ | ..... | .... | ... |
Теперь можно экспериментировать. Последним, как за 10 лет будет меняться число карпов при разном количестве первоначально запущенных рыб. Вот несколько таблиц с результатами таких расчетов:
k=1 q=0,001 N=100 | | k=1 q=0,001 N=1000 |
Год | Число рыб | | Год | Число рыб |
1 | 190 | | 1 | 1000 |
2 | 343 | | 2 | 1000 |
3 | 569 | | 3 | 1000 |
4 | 814 | | 4 | 1000 |
5 | 965 | | 5 | 1000 |
6 | 998 | | 6 | 1000 |
7 | 1000 | | 7 | 1000 |
8 | 1000 | | 8 | 1000 |
9 | 1000 | | 9 | 1000 |
10 | 1000 | | 10 | 1000 |
k=1 q=0,001 N=1500 | | k=1 q=0,001 N=2000 |
Год | Число рыб | Год | Число рыб | |
1 | 750 |
| 1 | 0 |
2 | 937 |
| 2 | 0 |
3 | 996 |
| 3 | 0 |
4 | 1000 |
| 4 | 0 |
5 | 1000 |
| 5 | 0 |
6 | 1000 |
| 6 | 0 |
7 | 1000 |
| 7 | 0 |
8 | 1000 |
| 8 | 0 |
9 | 1000 |
| 9 | 0 |
10 | 1000 |
| 10 | 0 |
Не правда ли, удивительные результаты? Из приведенных таблиц следует, что невозможно иметь в пруду 2000 карпов и более. Если начальное число рыб меньше 1000, то оно постепенно будет расти до 1000 штук и далее не будет меняться. Если сразу запустить 1000 рыб, то это количество останется неизменным и в последующие годы. Даже если запустить сначала 1500 рыб, то через год их численность в два раза сократится, а затем все равно дойдет до 1000. Если же запустить в пруд 2000 рыб, то через год все они вымрут.
Из полученных результатов рыбоводы могут сделать практические выводы. Приведенные выше таблицы автоматически получались после изменений значения всего лишь в одной ячейке F1.
Коротко о главном
Математической моделью называется информационная модель объекта, выраженная математическими средствами (формулами, уравнениями и т. п.).
Табличный процессор может применяться в качестве инструмента для математического моделирования.
Полученную математическую модель можно использовать для проведения вычислительного эксперимента. Вычислительный эксперимент — это расчеты с помощью компьютерной математической модели с целью прогноза поведения какой-то системы, с целью выяснения вопроса о том, как изменение одних характеристик системы отражается на других.
Вопросы и задания
1. Что такое математическая модель?
2. Что такое вычислительный эксперимент?
3.
Проведите вычислительный эксперимент в таблице расчета количества рыб в
пруду, поставив следующую цель: подобрать такие значения параметров k и
q, при которых количество рыб за 10 лет может быть доведено до 2000.
4. К решению предыдущей задачи добавьте графическую обработку результатов: график изменения численности рыб с течением времени.