Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Пономарева Ирина Сергеевна

Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач
<
Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Пономарева Ирина Сергеевна. Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач : Дис. ... канд. техн. наук : 05.13.18 Астрахань, 2006 150 с. РГБ ОД, 61:06-5/2851

Содержание к диссертации

Введение

Глава 1. Виртуальные лаборатории в науке и образовании 11

1.1. Формы организации научной лаборатории 11

1.2. Понятие виртуальной лаборатории в рамках данной работы ... 15

1.3. Типы задач, решаемых в рамках виртуальной лаборатории 16

1.4. Методологические требования к программному комплексу и ре-

шаемым в его рамках научно-техническим задачам 19

1.5. Архитектуры виртуальных сред 21

Выводы 23

Глава 2. Инструментальные средства для создания виртуальной лаборатории: их преимущества и недостатки 25

2.1. Требования, предъявляемые к инструментальному средству... 25

2.2. Обзор существующих технологий и разработок 27

2.2.1. Технология, основанная на Java.. 29

2.2.2. Технология, основанная на web-ориентированных математических пакетах 29

2.3. Обоснование выбора инструментального средства для решения поставленной задачи 31

2.4. Описание пакета MATLAB Web Server 36

2.5. Сходные исследования 40

Выводы 43

Глава 3. Структура виртуальной лаборатории, ее функ циональные возможности и особенности 45

3.1. Структура программного комплекса. Принцип работы 45

3.2. Интерфейс web-приложения. Html-файлы 48

3.3. Расчетная часть web-приложения. М-файлы 53

3.3.1. Реализация базовых моделей 54

3.3.2. Реализация пользовательских моделей 61

Выводы 63

Глава 4. Техническая реализация виртуальной лаборатории 65

4.1. Бесфреймовая структура 66

4.2. Интерактивный ввод данных 68

4.3. Функциональная возможность проведения сравнительного анализа получаемых результатов экспериментов ... 72

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

4.5. Анимация результатов 85

Выводы 96

Глава 5. Локальная версия виртуальной лаборатории математического моделирования ...98

5.1. Структура программного комплекса 98

5.2. Файлы запуска виртуальной лаборатории 99

5.3. Возможности реализации интерфейса программы средствами MATLAB 101

5.4. Программная реализация виртуальной лаборатории 104

5.5. Описание виртуальной лаборатории. Обзор функциональных воз

можностей 109

Выводы 115

Заключение 116

Публикации автора по теме диссертации 118

Список литературы

Введение к работе

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

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

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

ного сопровождения и решения сложных научно-технических задач математического моделирования [3].

На сегодняшний день отечественный опыт применения web-технологий для разработки научно-исследовательских программ ограничен. Коллективами ученых Новосибирского государственного университета, Московского энергетического института, Института земного магнетизма, ионосферы и распространения радиоволн РАН разрабатываются программные комплексы, работающие в режиме on-line и направленные на решение узкого круга прикладных задач. Имеющиеся публикации [4-9] указывают на присутствие ряда проблем, связанных с реализацией web-приложений. В основном это проблемы визуализации данных, в частности проблемы анимации, многопользовательского режима, интерактивности.

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

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

Основные задачи исследования состоят в следующем.

Провести классификацию задач естественнонаучного направления по их аналитическому описанию и по способу программной реализации.

Разработать методологические основы к реализации программного комплекса в виде виртуальной вычислительной среды.

Провести анализ основных программных средств и информационных технологий для решения естественнонаучных задач и обосновать возможность их применения в среде Internet.

Построить структурно-функциональную модель виртуальной вычислительной лаборатории.

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

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

Научная новизна. В работе получены следующие научные результаты, которые выносятся на защиту:

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

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

преложены эффективные алгоритмы управления выводимой информацией и представления результатов в виде анимационных изображений в двумерном или трехмерном пространстве;

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

Практическая значимость:

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

ме on-line через Internet (в Федеральном органе исполнительной власти по интеллектуальной собственности получено свидетельство о регистрации разработки № 2006611193 от 14.04.2006);

разработан программный комплекс «Виртуальная лаборатория математического моделирования в естественных науках», работающий в локальном режиме (в Отраслевом фонде алгоритмов и программ получено свидетельство о регистрации разработки № 50200400175 от 10.03.2004);

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

результаты диссертационной работы использованы в учебном процессе Астраханского государственного университета, Московского государственного университета и Воронежского государственного университета. Результаты внедрения подтверждены соответствующими актами;

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

Апробация диссертации. Результаты работы были представлены на следующих научных конференциях: I и II Всероссийские научные конференции «Проектирование научных и инженерных приложений в среде MATLAB» (Москва, 2002, 2004), X и XIII международные конференции «Математика. Экономика. Образование» (Ростов н/Д, 2002, 2005), IV Всероссийская научная Internet-конференция (Тамбов, 2002), V Всероссийский симпозиум «Математическое моделирование и компьютерные технологии» (Ки-

словодск, 2002), итоговые научные конференции АГУ «Физика. Математика. Информатика» (Астрахань, 2002-2004), VIII Международная конференция «Образование. Экология. Экономика. Информатика» (Астрахань, 2003), V Международная научно-техническая конференция «Компьютерное моделирование 2004» (Санкт-Петербург), Международная научно-практическая конференция (студентов и молодых ученых) «Электронный университет как условие устойчивого развития региона» (Астрахань, 2005), Международная научно-практическая конференция «Информатизация образования - 2005» (Елец), Всероссийская научно-практическая конференция «Информационные технологии в образовании и науке» (Москва, 2006).

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

Публикации. Основные материалы по теме диссертации опубликованы в 19 печатных работах.

Структура диссертации. Диссертация изложена на 150 страницах и состоит из введения, пяти глав, заключения, списка литературы и приложений. Список литературы содержит 61 наименование. Работа иллюстрирована 41 рисунком и содержит 3 таблицы.

Краткая характеристика содержания работы

Во введении дано обоснование актуальности темы диссертации, сформулированы цели работы, задачи и методы исследования, научная новизна, практическая значимость.

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

реализации последнего в виде виртуальной вычислительной лаборатории, действующей в режиме on-line через сеть Internet.

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

В главе 3 описывается структурная модель виртуальной лаборатории, которая на стадии проектирования генерирует предметно-ориентированные программы, действующие в среде Internet.

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

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

Заключение посвящено основным выводам, конкретным научным и практическим результатам работы.

В приложении 1 содержатся акты о внедрении результатов исследования.

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

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

Понятие виртуальной лаборатории в рамках данной работы

Не смотря на то, что понятие «виртуальная лаборатория» стало употребляться еще в 90-х годах прошлого столетия, до сих пор не сложилось неоднозначного определения. Имеется множество факторов, влияющих на взгляды авторов-разработчиков виртуальных вычислительных сред [14, 15]. Выбор того или иного варианта организации виртуальной лаборатории определяется, прежде всего, классом задач, для решения которых предназначения лаборатория. Большую роль в выборе конфигурации играет и предметная об ласть, для которой она предназначена. Рассматривая образовательную сферу, немаловажно учесть имеющуюся вычислительную базу при построении виртуальной лаборатории [16, 17].

В рамках разрабатываемой виртуальной лаборатории рассматривается широкий класс моделей из различных научных областей естественного направления. Все модели описывают сложные объекты, процессы или явления. Теоретически некоторые из них вполне возможно наблюдать в действительности. Однако, многие из них, проводимые в химической, физической, экологической и других областях, оказываются зачастую долгими, дорогостоящими, либо опасными. А некоторые научные исследования и эксперименты и вовсе невозможно провести [1]. Поэтому, в нашем случае в общий смысл понятия виртуальной лаборатории математического моделирования в естественных науках вкладывается следующее: виртуальная лаборатория представляет собой программный комплекс, действующий через Internet, обеспечивающий удаленному пользователю взаимодействие с математическими моделями изучаемых объектов и явлений. В дальнейшем тема будет рассматриваться только для такой организации виртуальной лаборатории.

Разработанная виртуальная лаборатория направлена на решение широкого круга задач естественнонаучной направленности. Так, рассматриваются модели из физики, биологии, химии, экологии, математики. Все модели описывают сложные процессы или явления [18]. Среди них: - модели на основе обыкновенных дифференциальных уравнений; модели на основе дифференциальных уравнений в частных производных; модели на основе дифференциальных уравнений с запаздыванием; одномерные и двумерные отображения; модели фазовых переходов; - клеточные автоматы; геометрические модели.

В общем виде виртуальная лаборатория состоит из семи разделов: «Дифференциальные модели», «Дифференциальные модели с запаздыванием», «Распределенные системы», «Отображения», «Клеточные автоматы», «Модели фазовых переходов», «Геометрические модели». Разделы обозначены по способу описания модели. Рассмотрим каждый из разделов.

Первый раздел «Дифференциальные модели» рассматривает модели, описывающиеся дифференциальным уравнением или системой дифференциальных уравнений. Уравнения могут быть заданы как в обычном, так и в безразмерном виде. В состав раздела вошли такие модели, как модель нелинейного маятника; модели популяционной динамики (в частности модели Воль-терры-Лотки, межвидовой конкуренции, Холлинга-Теннера); модели, описывающие автоколебания в физических, химических и биологических системах (в частности, модели механической системы, Ван дер Поля, Лефевра, Холлинга-Теннера); модели, описывающие хаотическое поведение динамических систем (в частности, аттракторы Ресслера и Лоренца).

Второй раздел «Дифференциальные модели с запаздыванием» посвящен моделям, описывающих явления, содержащих элемент задержки, в результате действия которых возникает зависимость скорости эволюции от предыдущих состояний. Так, например, реализована модель Хатчинсона.

В третьем разделе «Распределенные системы» имеются модели, например, такие как распределенная модель брюсселятора, характеризующиеся нелинейностью в сочетании с процессами диффузии вещества.

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

Обзор существующих технологий и разработок

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

Среди существующих компьютерных технологий, различающихся по своим возможностям, можно выделить языки программирования, Internet-технологии, специализированные математические пакеты [29].

Использование языков программирования таких, как Microsoft Visual C++, Delphi, Borland С, Visual Basic, Fortran, Pascal и др., является классическим вариантом создания программы. Однако в большинстве случае их используют для разработки локальных версий программы. Даже если разработка размещена в сети Internet, она скачивается как обычный файл на удаленный компьютер пользователя и используется в автономном режиме.

Среди известных Internet-технологий выделяют технологии, основанные на JavaScript, Flash или Java.

Технология JavaScript считается одной из новаторских изобретений фирмы Netscape и представляет собой язык управления сценарием отображения документа. Его синтаксис официально основывается на языке Java. А это, в свою очередь, говорит о схожести с С и C++. Применяется язык на стороне клиента, встраиваясь обычным образом в html-код. Имеет специфику в написании кода относительно браузеров, с которыми работают удаленные пользователи. В JavaScript не реализованы классы объектов, наследование, инкапсуляция и полиморфизм. Таким образом, технология, основанная на JavaScript, пригодна в основном для наглядных графических выполнений несложных расчетов и оформления пользовательского интерфейса.

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

Таким образом, можно выделить основные тенденции для создания виртуальной лаборатории математического моделирования. Первая тенденция связана с использованием Java-технологии [30], вторая - со специальными математическими пакетами, которые в частности ориентированы на работу в Internet. Оба подхода имеют свои положительные и отрицательные стороны. Рассмотрим подробнее каждую из технологий.

Мощным современным средством разработки является Java-технология [31, 32]. Она позволяет создавать апплеты - приложения, встраиваемые в web-документы. Java API (Application Program Interface) дает программисту независимый от операционной среды доступ к необходимым для создания сложных Internet-приложений средствам, таким как сетевые сокеты, потоки, графическая оконная система и др. Использование технологии Java означает на практике, что вместо статических экранов, характерных для существующей web-технологии, можно получить динамический интерфейс. Достоинством этой технологии являются ее платформенная независимость и сетевая направленность. Основным недостатком такого подхода является то, что все необходимое проблемно-ориентированное программное обеспечение на Java необходимо создавать заново. В частности, необходимо реализовывать численные методы, средства визуализации полученных результатов. Главным достоинством является то, что все вычисления происходят на компьютере конечного пользователя. После первоначальной загрузки апплета он работает в автономном режиме.

Ведущие разработчики научного программного обеспечения предлагают варианты web-технологий для работы с математическими пакетами. На сегодняшний день известно несколько десятков таких пакетов. Большинство из них ориентировано на разработку приложений, способных работать в режиме удаленного доступа. Эти системы имеют ряд преимуществ по сравнению с математическими пакетами, установленными на компьютере конечного пользователя [7]: нет необходимости устанавливать на компьютеры пользователей проблемно-ориентированное программное обеспечение, искать, проверять на отсутствие вирусов и запускать прикладной файл; достаточно только подключить компьютер к сети Internet и обратиться к виртуальной лаборатории через браузер; при этом сохраняется возможность изменять исходные данные, просматривать промежуточные результаты расчетов, а также все формулы и считывать (распечатывать, сохранять на диске) ответ;

Интерфейс web-приложения. Html-файлы

Каждая модель программного комплекса «Виртуальная лаборатория» представляет собой отдельную web-страницу с удобным интерфейсом, включающим все необходимые элементы управления для исследования: поля для ввода значений начальных условий и параметров, определяющих поведение модели; кнопку для запроса сервера на расчеты; переключатели, определяющие вариант вывода результатов на экран для сравнения результатов. Также интерфейс некоторых моделей может включать элементы управления, необходимые для управления отображения изучаемого объекта. Таким образом, разработанные HTML-шаблоны для ввода параметров задачи и вывода результатов расчетов, обеспечивают расширенную интерактивность по сравнению с типовыми шаблонами, поставляемыми в составе программного обеспечения MATLAB Web Server [4, 5, 53].

Помимо блока ввода данных моно выделить другие блоки, представленные на рисунке 3.4.

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

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

Ввод элементов управления в html-шаблон осуществляется тегами in-put . Дополнительными атрибутами type, name, value задаются соответственно тип элемента управления, имя и значение. Так, например, строка input type ="text" name="alpha" value = $alpha$

добавляет в html-документ текстовое поле, где пользователь может вводить необходимые данные. Значения введенных данных записываются под переменную alpha, характеризующую некоторый параметр модели alpha. Атрибуты name и value могут принимать как одинаковое значение, как в нашем случае, так и различные. Таким образом, по атрибуту name программа MATLAB распознает параметр модели, а по value значение для него. Через специальные символы $ $ свойство value задается для того, чтобы html-страница и т-файл могли обмениваться данными для соответствующего элемента управления, в частности, чтобы в окне ввода сохранялось последнее значение, введенное пользователем.

В качестве дополнения, необходимо отметить, что операция ввода данных через элементы управления является лишь одним из способов. Опытные пользователи имеют возможность задать интересующие параметры без первоначального открытия html-формы. Как уже отмечалось выше, запрос клиента на расчеты можно выполнить, задав команду http: //mathmod.aspu.ru/cgi - bin/matweb.exe?mlmfile = [имя приложения] в командной строке браузера. Если к данной команде добавить через знак & записи в виде [параметр]=[значение], т.е. команду вида http: //mathmod.aspu.ru/cgi - bin/matweb.exe?mlmfile = [имя приложения] & [параметр] = [значение] &...& [параметр] = [значение], то программа выполнит запрос так же, как она выполнила бы запрос со значениями параметров, считанных из полей ввода из формы. При этом для удаленного пользователя откроется html-страница с новыми результатами.

Рассмотрим блок управления выводимой информацией. Во всех моделях результаты расчетов представляются в графическом виде. При каждом новом наборе параметров модели пользователь будет видеть последний результат расчетов, т.е. каждый раз html-страница обновляется, отбрасывая прошлые расчеты и выводя лишь последний. Чтобы пользователь мог сравнивать последний результат с предыдущими, на html-страницы помещаются дополнительные элементы управления в виде переключателей «Очистка» и «Дорисовка. Для того чтобы следить за изменением поведения модели в зависимости от новых параметров, необходимо выбрать переключатель «Дорисовка». Переключатель «Очистка» будет очищать изображение от всех предыдущих решений и выведет лишь последнее. Переключатели добавляются в html-шаблон значением атрибута type-radio": input type="radio" name=" rad" value = 1 $radiol$ input type="radio" name = " rad" value = 0 $radio2$ .

Поскольку переключатели должны быть взаимосвязанные, то им необходимо задать одинаковые имена. Атрибут value и атрибут, заключенный в $ $, необходимы для определения, какой из двух переключателей является активным и для правильного расположения точки после обновления страницы. Например, при открытии html страницы активным был второй переключатель, а пользователь перед запросом на расчеты поставил точку на первом переключателе, т.е. сделал его активным. Программа считает значение атрибута value, проверит его значение.

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

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

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

В качестве примера рассмотрим модель нелинейного маятника. Модель описывается законом: х"+2рх + sin(x) = 0.

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

Первая строка программного кода опишет имя функции модели относительно входной структуры с именем h: function rs = pendulum(h)

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

Следующие несколько шагов такие же, как и в предыдущем варианте с учетом параметров модели. Создается переменная mlid, которой присваивается уникальное значение, и объявляется текущей директория Htmlfiles.

Не смотря на то, что для описания модели необходимо всего три параметра, входная структура h, помимо системных, будет включать еще один дополнительный компонент, отвечающий за взаимосвязанные переключатели: if (isfield(h;beta ) & (isfield(h, x )) & (isfield(h, y )) & (isfield(h, rad )) if (isempy( h.beta)) h.beta = 0.5; else h.beta = str2double(h.beta) end if (isempy(h.x)) h.x = 0.2; else h.x = str2double(h.x) end if (isempy(h.y)) h.y = 1; else h.y = str2double(h.y) end rb = str2double(h.rad); h.rad = rb; else beta = 0.5; h.beta = beta; h.x = 0.2; h.y = 1; rb = 0; h.rad = rb; end

Расчетная часть использует возможности MATLAB для решения дифференциального уравнения: options = odesetfOutputFcri," , ReToV,le - 4); ft, у J = odeset(@nldpe,[0 50], [h.x,h.y],options); Во второй строке после знака @ записывается имя функции, описывающую закон динамики поведения модели. В нашем примере функция называется «nldpe». Она записывается в конце программного кода и имеет следующий вид: function dydt = nldpe(t,y) global beta dydt = zeros (2,1); dydt(l) = y(2); dydt(2) = -2 beta y(2) - sin(y(l));

После стандартных действий: установки директорию Tmpfiles текущей и удаления файлов, которым больше часа, необходимо визуализировать результаты расчета. При этом надо выполнить требование удаленного пользователя, связанного со способом отображения результатов. Если активирован переключатель «Очистка», т.е. переменной rb возвратилось значение равное О, то проблема решается описанным в предыдущем примере способом: создается новая фигура, на которую визуализируется решение. Если же активирован переключатель «Дорисовка», т.е. переменной rb=l, то программа должна открыть прежний результат и добавить к нему новый. А открыть прежний результат с целью добавления нового можно лишь в случае сохранения фигуры на жесткий диск в текущую директорию. Поскольку удаленный пользователь может менять решение по выбору отображения результатов, то сохранение фигуры целесообразно в любом случае.

Следующим шагом после получения численного решения уравнения проверяем наличие ранее сохраненной фигуры, результат записываем в переменную т. т = exist ( pendout.fig ); Переменная т может принять два значения: либо 0, что означает, что с моделью не работали как минимум час и фигура отсутствует, либо 1 - фигура имеется.

Похожие диссертации на Разработка виртуальной лаборатории математического моделирования для решения естественнонаучных задач