Научная статья на тему '"математическое моделирование и вычислительный эксперимент" три урока по теме с помощью model vision'

"математическое моделирование и вычислительный эксперимент" три урока по теме с помощью model vision Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
589
43
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сениченков Юрий Борисович

Автор знакомит читателей с основами математического моделирования на примере моделирования колебаний математического маятника. Для этого использовался программный продукт MODEL VISION.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «"математическое моделирование и вычислительный эксперимент" три урока по теме с помощью model vision»

Сениченков Юрий Борисович

"МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ" ТРИ УРОКА ПО ТЕМЕ С ПОМОЩЬЮ MODEL VISION.

В школьном курсе Информатики [1 ] появилась новая тема - моделирование. Требуется, рассматривая моделирование как метод познания, объяснить школьнику, для чего и как создаются компьютерные модели. Предполагается, что в распоряжении учителя есть два часа для рассказа и два часа для проведения лабораторной работы.

Подбираем литературу

Попробуем найти подходящие нашему случаю книги. О моделировании столько написано, что надо только суметь выбрать простые, не отягощенные сложным математическим аппаратом и богатые идеями книги.

У меня на полке, из числа «простых», оказались книги: А.Б. Горстко «Познакомьтесь с математическим моделированием», В.П. Ильина «Вычислительная информатика: открытие науки», H.H. Моисеева «Математика ставит эксперимент» и два сборника статей из серии «Кибернетика - неограниченные возможности и возможные ограничения»: «Эксперимент на дисплее» (подзаголовок - «Первые шаги вычислительной физики») и «Компьютеры, модели, вычислительный эксперимент» («Введение в

информатику с позиций математического моделирования») с очерками С.П. Курдумова, Ю.П. Попова, А.А. Самарского и других.

Первые три книги несомненно могут составить основу для целого курса об устоявшихся подходах к моделированию. В них можно найти примеры моделей из различных областей знаний и различной сложности. Эти книги можно предложить школьникам для внеклассного чтения, даже если они не смогут осилить некоторые страницы. Сборники статей предполагают более высокий уровень математических знаний. Их можно рекомендовать как дополнительную литературу или, если вам позволяет время, устроить семинар, - для «математических» школ это вполне приемлемо.

Выбираем стратегию

Уроки предстоят достаточно трудные, потому что надо найти простые и содержательные примеры, пригодные для иллюстрации достаточно сложных понятий, связанных с вычислительным экспериментом.

Хорошо бы начать с того же, с чего мы начинаем свой рассказ об обычном физическом, натурном эксперименте: "Вот смотрите, хотим изучить такое-то явление. Для этого собираем лабораторную установку, то есть подбираем образцы, подключаем приборы. Планируем и проводим измерения, обрабатываем результаты

и объясняем увиденное." А завершить урок показом "живого" эксперимента. Еще лучше, если есть возможность дать учащимся самим провести простой эксперимент.

Однако ни в одной из перечисленных книг вы не найдете даже ссылок на программный продукт, который можно использовать для иллюстрации возможностей вычислительного эксперимента, не говоря уже о проведении простейшего самостоятельного вычислительного эксперимента в классе. Можно написать программу, в которой будут все необходимые вам

элементы, самому, но это достаточно трудоемко, так что не всякому под силу. Можно попробовать найти чужую программу, но беда в том, что искать-то негде. Нет аналога школьной библиотеки для программных продуктов. Рассчитывать на использование профессиональных программных сред для проведения вычислительного эксперимента не приходится - во-первых, они очень дороги, во-вторых, требуют значительных машинных ресурсов, а в-третьих, какой нормальный человек будет осваивать горы технической документации, для того чтобы показать школьнику, как моделируется механический маятник на вычислительной машине?

В качестве выхода из создавшегося положения

мы предлагаем использовать для разработки компьютерных лабораторных работ отечественный программный продукт MODEL VISION. С помощью этого пакета можно либо самому создать нужную вам лабораторную работу и даже демонстрировать процесс разработки непосредственно на уроке в качестве иллюстрации основных этапов вычислительного эксперимента, либо заранее подготовить лабораторную работу (компьютерную, виртуальную установку для проведения вычислительного эксперимента) и использовать ее для изучения конкретного явления. Я не оговорился, в рамках заданной математической модели поведение моделируемого объекта на экране дисплея и реального объекта неразличимы.

Отступление

Этот параграф, я бы хотел начать словами "Мы сами-то люди не местные...", в данном контексте означающими, что авторы программного продукта MODEL VISION, - мои коллеги и я сам, - не имеют опыта преподавания информатики в школе (наш вузовский опыт, как я понимаю, в данном случае нам не помощник). Отсутствие опыта может нас подвести прежде всего в выборе примеров. Они могут оказаться сложными для школьников и, возможно, их надо будет упрощать.

В нашей статье три части, последовательно показывающие, а) как использовать MODEL

VISION для иллюстрации основных этапов вычислительного эксперимента, б) как самому разработать простейшую лабораторную работу, в) и как, наконец, усложнить ее, дополнив динамическим зрительным образом моделируемого объекта, созданного средствами пакета. В качестве объекта исследования мы выбрали механический маятник и создали несколько лабораторных работ на эту тему. В то же время, возможно, у читателей найдутся свои примеры, которые можно было бы предложить в качестве лабораторных работ.

Урок первый

Основные этапы вычислительного эксперимента.

Вычислительный эксперимент как новая методика исследования "состоялся" после того, как удалось на каждом из этапов традиционной цепочки эффективно использовать вычислительную машину.

Традиционная цепочка

- Проведение натурного эксперимента.

- Построение математической модели.

- Выбор и применение численного метода для нахождения решения.

- Обработка результатов вычислений.

- Сравнение с результатами натурного эксперимента.

- Принятие решения о продолжении натурных экспериментов.

- Продолжение натурного эксперимента для получения данных, необходимых для уточнения модели.

Видоизмененная цепочка

- Накопление экспериментальных данных.

- Построение математической модели.

- Автоматическое построение программной реализации математической модели.

- Автоматизированное нахождение численного решения.

- Автоматизированное преобразование результатов вычислений в форму, удобную для анализа.

- Принятие решения о продолжении натурных экспериментов.

Видоизмененная цепочка реализованная в виде единого программного комплекса и составляет 'технологию" вычислительного эксперимента.

сценарии уроков

25

В наиболее общем виде этапы вычислительного эксперимента можно представить в виде последовальности технологических операций (они реализованы в соответствующих блоках программного комплекса):

1. Построение математической модели.

2. Преобразование математической модели.

3. Планирование вычислительного эксперимента.

4. Построение программной реализации математической модели.

5. Отладка и тестирование программной реализации.

6. Проведение вычислительного эксперимента.

7. Документирование эксперимента. Вычислительный эксперимент начинается

тогда, когда в результате натурного эксперимента получено достаточно данных для построения математической модели исследуемого объекта. Обычно построенная математическая модель оказывается настолько сложной, что требуется создавать не только уникальное программное обеспечение для воспроизведения ее на вычислительной машине, но и новые численные методы, чтобы найти решение в приемлемые сроки и с необходимой точностью. Сложность первоначальных моделей обусловлена прежде всего тем, что на ранних этапах исследования нет данных, позволяющих провести ее упрощение. На практике всегда исследуется иерархия моделей различной сложности, определяются границы их применимости и допустимость тех или иных упрощений. Построенная программная реализация математической модели используется для изучения законов поведения объектов, испытаний различных режимов работы, построения управляющих воздействий, поиска оптимальных характеристик. На основании изучения поведения модели либо делается вывод о возможности ее применения для практических нужд, либо принимается решение о проведении дополнительной серии натурных экспериментов и корректировки модели, и тогда весь цикл исследований приходится повторять с начала.

Программное обеспечение, позволяющее автоматизировать основные операции вычислительного эксперимента, называют пакетами прикладных программ или программными комплексами для автоматизации вычислительного эксперимента. Сложность и своеобразие этого вида научных исследований позволяет ставить вопрос о появлении новых наук: вычислительной информатики, вычислительной физики.

Моделирование

Принято говорить об объекте (моделирования) и его свойствах (атрибутах). Объект, воспроизводящий отдельные характеристики (свойства, атрибуты) другого объекта, называется его моделью. Иногда подчеркивают, что моделирование связано с представлением объектов в форме, отличной от формы их реального существования. Перечисляя основные формы представления моделей, можно сказать, что модель - это такой материальный или мысленно представимый объект, который в процессе познания (изучения) замещает объект-оригинал, сохраняя конкретные, важные для данного исследования его черты.

С этой точки зрения возможна классификация по форме представления моделей.

Моделирование

Предметное Абстрактное (концептуальное)

Физическое Знаковое

Аналоговое Математическое моделирование

Примеры.

Физическое моделирование.

Для изучения поведения самолета в воздухе строят его (физический, уменьшенный) макет и изучают его поведение в аэродинамической трубе. Для моделирования наводнения от нагонной волны и изучения его последствий создают уменьшенную копию залива и впадающей в него реки, "дуют" на воду, создавая нагонную волну, и замеряют уровень подъема воды. Главное здесь не нарушить пропорции, присущие моделируемому объекту и обеспечить подобие модели объекту.

Аналоговое моделирование.

Классическим примером использования аналогий является изучение колебаний в механических системах на примере колебаний в электрических системах. Мы говорим, что колебания маятника аналогичны колебаниям, возникающим в ЯСЬ-цепочке (электрической цепочке, состоящей из сопротивления, емкости и индуктивности).

Знаковое моделирование.

Говоря о знаковых моделях, мы подчеркиваем их идеальный, мыслимый, концептуальный характер. Язык математики, языки програм-

мирования- примеры знаковых систем, наиболее часто используемых при моделировании физических и технических объектов. Можно подчеркнуть особое место интуитивных моделей, с помощью которых можно предсказывать поведение объектов, не используя "точных", достоверных знаний об их природе.

Математическое моделирование.

Выберем конкретный пример. Пусть это будут механические колебания шарика на пружинке или колебания шарика, подвешенного на нитке.

Замечая, что колебания могут возникать в объектах различной природы, можно попытаться найти математический (абстрактный) объект, например, дифференциальные уравнения, изучая который можно понять сущность колебательных процессов независимо от их физической природы. И колебания маятника, и колебания токов и напряжений в ЯЬС-цепочке можно достаточно хорошо объяснить, изучая решения линейных дифференциальных уравнений второго порядка. Сами уравнения даже уместно написать во время урока. Показываем же мы китайские иероглифы, когда хотим показать многообразие форм языков. Можно ограничиться и явной формулой для решения соответствующего уравнения, скрыв от слушателей, как оно получено, но хотелось бы подчеркнуть, что исходные уравнения содержат больше информации, чем конкретное решение.

Следовательно, первым шагом при математическом моделировании является поиск подходящего абстрактного объекта и установление связей между реальным объектом и его моделью. В дальнейщем мы должны будем показать (доказать), что модель правильно описывает поведение объекта. Поведение объекта и модели должно быть идентичным в четко очерченных границах. Мы должны уметь продемонстрировать "правильность" поведения модели на существующем экспериментальном материале. Это дает основание доверять результатам моделирования, если модель демонстрирует нам неизвестные свойства объекта. Конечно же, наиболее убедительным доказательством в последнем случае, является реальный, натурный эксперимент, подтверждающий существование новых свойств.

Вторым шагом, является изучение абстрактного объекта и получение конкретных формул, описывающих, предсказывающих, оценивающих поведение реального объекта. Обычно для описания поведения используются уравнения, поэтому о втором этапе говорят как об этапе построения решения в замкнутой форме или с

помощью численного метода. В последнее время как в первом, так и во втором случае применяются вычислительные машины, поэтому упор делается не только на то, как найти решение, а еще и на то, как это сделать с помощью машины. Последнее и позволяет говорить о новых науках - вычислительной информатике, вычислительной физике, компьютерной алгебре.

Нахождение решения связано еще с двумя проблемами. Во-первых, появляется желание, не приступая к решению, упросить задачу, сохранив, как минимум, качественные аспекты поведения. Это может резко сократить вычислительные затраты. Второе и не менее важное-необходимо ответить на вопрос, насколько чувствительно решение к изменениям, вносимым в модель. Если решение слишком чувствительно к изменениям какого-либо параметра, результаты моделирования могут оказаться неверными, так как не точно замеренное значение параметра может исказить картину поведения.

И, наконец, третьим шагом является поиск наиболее выразительных форм представления результатов, лучше всего графических. Современные вычислительные машины прекрасно рисуют двумерные и трехмерные графики. Более того, можно попросить машину показать мультфильм, где главный герой - материальная точка, будет двигаться по графику с заданной скоростью, и мы будем видеть, как, например, амплитуда колебаний меняется во времени. Графики и картинки в мультфильмах могут быть плоскими (2-Э графика) и объемными (3-Э графика).

Построение модели, нахождение решения, представление его в удобной для анализа форме и собственно анализ (сравнение с поведением реального объекта) и составляют суть математического моделирования.

Еще одна возможная классификация - по цели моделирования. Феноменологические модели нужны для объяснения поведения, футуро-логические - для предсказания поведения в будущем, оптимизационные модели - для выбора из множества решений решения с заданными (оптимальными) свойствами.

Особое место занимает моделирование при проектировании новых устройств. В процессе проектирования сначала разрабатывается модель, а только потом создается опытный образец и, наконец, промышленный объект с заданными свойствами. Программные продукты, автоматизирующие процесс разработки новых устройств, носят название Систем Автоматического Проектирования.

ПОДБИРАЕМ КОНКРЕТНЫЙ ПРИМЕР

МАТЕМАТИЧЕСКИИ МАЯТНИК

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

Изучим поведение шарика, подвешенного на нити длины Ь и отклоненного от вертикального положения на положительный угол ф.

Разумные предположения.

Превратим шарик в материальную точку х с массой т.

О свойствах реальной нитки забудем, и скажем лишь, что она такова, что шарик движется по окружности радиуса Ь, благодаря составляющей - mg х ¡зП ф) силы тяжести P=mg, направленной по касательной к окружности в точке х. Мы хотим узнать, как меняется угол ф во времени, то есть найти функцию ф = ф (1) и изучить, как характер движения зависит от параметров т, g, Ь.

Построение модели.

Уравнения движения. (Первая математическая модель)

Поскольку скорость изменения момента им-

й( „ „ пульса —I тЬ-^ I равна действующей силе

(силе тяжести), приравнивая их, получим урав-

т й2ф = ■ ф

нение движения: тЬ = -т х 3:П(ф),

Знак в уравнении выбран с учетом того, что положительное направление на касательной совпадает с направлением увеличения угла. Уже на этом этапе видно, что от массы т характер поведения не меняется. Заметим также, что и рисунок и уравнение - знаковые модели.

Возможные упрощения.

(Вторая математическая модель).

Предположим, что отклонения от положения равновесия ф = 0 настолько малы, что можно положить зП(ф) » ф, т й2ф

тогда Ь —^ = ^ х ф .

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

Построение решения.

Последнее уравнение хорошо тем, что оно имеет решение, которое можно записать в явном виде (Третья математическая модель):

( \— л

ф() = А СОЕ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

, где

А = ф0 и а = 0 .

Вторая и третья модель отличаются лишь формой записи функции ф. В первом случае -это уравнение, построенное на основании известных физических законов. Во втором, решение этого уравнения. Удивительно, но более сложный путь, а именно составление уравнения и его последующее решение, оказывается более эффективным, чем непосредственное угадывание решения на основании имеющегося экспериментального материала.

Проверка "правильности" модели.

Как выбрать длину маятника так, чтобы маятник совершал одно колебание в секунду? Ответ. Так как частота колебаний маятника

равна Ь , а число колебаний в секунду равно

0.25 (м).

Можно провести реальный натурный эксперимент и убедиться в том, что мы правы. Будет ли этот результат справедлив для первых двух моделей при всех значениях углов начального отклонения? Какие углы считать малыми?

Изучение поведения.

Представление результатов в виде таблицы.

Формула, представляющая решение, охватывает все возможные поведения в рамках данной модели. На практике нас часто интересует конкретное поведение с конкретными значениями параметров. В этом случае чрезвычайно удобно анализировать не формулу, а график. Как реально нарисовать график? Построить предварительно таблицу, поместив в нее пары (И, ДИ)) настолько часто, чтобы не потерять важной информации о функции.

Представление результатов в виде графика.

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

Построение фазовой диаграммы.

Формы графического представления результатов весьма разнообразны. Особенностью нашей модели, точнее поведения нашего объекта, являются периодические, незатухающие колебания. Попробуем нарисовать поведение, выбрав другие оси координат. На одной оси будем откладывать значение угла ф, а на другой - угловую

скорость, которую мы обозначим ^Ф, в некоторый конкретный момент времени 1. Заставим 1 последовательно пробежать все точки отрезка [0,Т], где Т - время, соответствующее возвращению точки в исходное положение, то есть период колебаний.

( I— Л

j(t) = A cos

dj

dT

, где A = j 0 и a = 0 .

(t ) = - A

t + a

где А = ф 0 и а = 0 .

Для незатухающих колебаний наша кривая будет представлять окружность, если соответствующим образом промасштабировать оси. Мы с вами нарисовали так называемую фазовую траекторию. Периодические незатухающие колебания связаны с идеализацией изучаемого процесса, в частности мы не учли трение, всегда присутствующее в реальных процессах. Учет трения приведет к тому, что окружность превратится в спираль с центром в начале координат. Началу координат на

1 с 1 Угловая скорость Л,

Угол

фазовой диаграмме соответствует состояние покоя, когда угловая скорость оказывается равной нулю, а нить принимает вертикальное положение.

Можно представить себе ситуацию, когда амплитуда колебаний будет возрастать, тогда фазовая траектория из "закручивающейся", превратится в "раскручивающуюся" спираль.

Анимация.

Можно ли оживить рисунок.

Нарисованные нами графики статичны. Оживить их можно различными способами. Простейший - представить, что изображающая точка движется по плоскости и оставляет за собой след, соответствующий графику функции.

Как бы красиво не выглядели "ожившие" графики, они остаются всего лишь графиками. Хотелось бы большего - хотелось бы видеть "ожившим" исходный рисунок, то есть заставить двигаться шарик, вместе с ниткой. В данном случае это достаточно просто сделать, так как надо реализовать всего лишь "круговое движение".

Может ли машина все сделать за нас.

Все, что мы сейчас с вами рассмотрели, может быть автоматизировано. Исходная информация, заложенная в уравнениях, и графическая форма представления результатов - это все, что необходимо для проведения вычислительного эксперимента с помощью современного программного обеспечения.

Попробуем использовать пакет MODEL VISION для создания лабораторной работы.

Прежде всего надо схематично описать исследуемый объект, объяснив пакету, что является входной информацией, что выходной, и какие уравнения, описывают его поведение. На приведенном ниже ри-

сунке исследуемый объект, условно изображен в виде прямоугольника, у которого входами (в будущем мы хотим менять их по ходу эксперимента) являются переменные g (ускорение силы тяжести), L ( длина нити), A -начальное значение угла и force - так мы обозначили возмущающую силу, которая понадобится нам для более сложных примеров. Выходными, наблюдаемыми переменными являются угол Fi и угловая скорость VFi.

Теперь надо описать поведение, например, записав уравнения поведения объекта. Почему их стало два, вместо одного, я объясню позже. Сейчас для нас главное, что уравнения можно записывать в привычной, "текстовой форме".

Теперь закажем пакету графические формы представления результатов, или, другими словами, спроектируем окно вычислительного эксперимента.

Мы заказали, таким образом, "График", "Фазовую Диаграмму", "Таблицу" и простейший динамический образ, показывающий, как меняется угол, реализованный в форме "Линейное перемещение образа".

В результате в некоторый фиксированный момент времени на экране мы увидим следующее.

В следующей части статьи, я покажу шаг за шагом, как самому разработать более сложную "компьютерную" лабораторную работу для изучения поведения маятника с помощью программного комплекса MODEL VISION.

Литература.

1. А.Н. Шляго, И.Ф. Базлов, Е.В. Иванова, Л.П. Панкратова, Е.В. Петухова, И.С. Топуно-ва, Е.Н. Челак, В. Л. Дрибинский. Образовательные стандарты петербургской школы. Санкт-Петербург. Центр Педагогической информации. 1997.

Сениченков Юрий Борисович, кандидат физико-математических наук, доцент кафедры1 "Распределенные вычисления и компьютерные сети" факультета "Техническая кибернетика" Санкт-Петербургского Государственного Технического Университета.

НАШИ АВТОРЫ

i Надоели баннеры? Вы всегда можете отключить рекламу.