авторефераты диссертаций БЕСПЛАТНАЯ  БИБЛИОТЕКА

АВТОРЕФЕРАТЫ КАНДИДАТСКИХ, ДОКТОРСКИХ ДИССЕРТАЦИЙ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:   || 2 |
-- [ Страница 1 ] --

Клюев С.А.

Sergey_Klyuev

МОДЕЛИРОВАНИЕ В

ЕСТЕСТВОЗНАНИИ

2009

Рецензенты:

Кафедра Информатики и МП Славянского-на-Кубани

государственного

педагогического института, г. Славянск-на-Кубани.

В монографии рассмотрены общие и специальные вопросы моделирования.

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

химических и биологических систем. Экосистемы рассматриваются как частный случай биосистем.

© Клюев С.А. Моделирование в естествознании: Монография. 2009.

УДК 50(075.8) + 577.3 ББК 2я73А39 2 ОГЛАВЛЕНИЕ Предисловие Введение Моделирование как один из методов познания 1.

Компьютерное моделирование.

2.

2.1. Основные понятия компьютерного моделирования 2.2. Этапы компьютерного моделирования 2.3. Компьютерные программы Примеры компьютерного моделирования 3.

3.1. Атомно-молекулярные частицы и их ассоциаты 3.2. Кристаллические структуры 3.3. Синтез природных органических соединений и их аналогов.

3.4. Визуализация данных физических экспериментов 3.5. Колебательное движение 3.6. Перенос электронов 3.7. Фотосинтез 3.8. Экосистемы Информационные модели биохимических систем. Элементы 4.

биоинформатики Заключение Литература ПРЕДИСЛОВИЕ Моделирование является столь широким понятием, что рассмотреть все его вопросы в небольшой монографии крайне сложно. Основное внимание уделяется моделированию (как методу познания) физических, химических и биологических систем. В настоящее время моделирование связано с использованием компьютеров, поэтому значительная часть монографии посвящена исследованию компьютерных моделей, а значит и компьютерному эксперименту. Автор признателен организаторам проекта “ Информационно вычислительные технологии в науке” за поддержку исследований в области компьютерного моделирования, сотрудникам кафедры Информатики и методики ее преподавания Славянского-на-Кубани государственного педагогического института за предоставления возможности проведения лекций и практических занятий по спецкурсу “Компьютерное моделирование как метод познания”, составленного по материалам рукописи монографии.

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

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

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

Ньютон пользуется этим методом уже вполне осознанно, а в XIX веке трудно назвать область науки или её приложений, где моделирование не имело бы существенного значения. Исключительно большую методологическую роль сыграли в этом отношении работы Дж. Максвелла, Ф. А. Кекуле А. М. Бутлерова и других физиков и химиков — именно эти науки стали классическими «полигонами» метода моделирования. XX век принес методу моделирования новые успехи, но одновременно поставил его перед серьезными испытаниями. С одной стороны, развивающийся математический аппарат обнаружил новые возможности и перспективы этого метода в раскрытии общих закономерностей и структурных особенностей систем различной физической природы, принадлежащих к разным уровням организации материи, формам движения. С другой же стороны, теория относительности и, в особенности, квантовая механика, указали на относительный характер механических моделей, на трудности, связанные с моделированием.

Появление первых электронных вычислительных машин (Джон фон Нейман, 1947) и формулирование основных принципов кибернетики (Норберт Винер, 1948) привели к поистине универсальной значимости новых методов — как в абстрактных областях знания, так и в их приложениях.

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

Реабилитация кибернетики произошла благодаря стараниям ряда крупных ученых, прежде всего А.А. Ляпунова, отстаивавших правомерность и материалистичность кибернетического взгляда на мир. Во время «оттепели»

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

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

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

1. Моделирование как один из методов познания На сегодняшний день нет устоявшейся общепринятой точки зрения на место моделирования среди методов познания [1, 2, 3]. Множество мнений исследователей, занимающихся данным вопросом, тем не менее, укладываются в некоторую область, ограниченную двумя полярными мнениями. Одно из них рассматривает моделирование как некий вторичный метод. Другое же, наоборот, называет моделирование «главным и основополагающим методом познания», в подтверждение приводится тезис, что «всякое вновь изучаемое явление или процесс бесконечно сложно и многообразно и потому до конца принципиально не познаваемо и не изучаемо».

Главной причиной возникновения столь различных позиций связано с отсутствием общепринятого и устоявшегося в науке определения моделирования [4, 5]. Ниже предпринята попытка анализа нескольких определений термина «моделирование» и непосредственно связанного с ним термина «модель». Это вполне оправдано, так как подавляющее большинство источников определяют моделирование как «исследование процессов, явлений и систем объектов через построение и изучение их моделей». То есть наибольшую сложность представляет проблема определения модели.

Модель может рассматриваться двояко [6]. В узком смысле — это «устройство, воспроизводящее, имитирующее строение и действие какого-либо другого (моделируемого) устройства в научных, производственных или практических целях». Слово «устройство», встречающееся в определении, автоматически приводит к сужению понятия «модель» как минимум до понятия «материальная модель». Второе определение (Модель — любой образ какого либо объекта, процесса, явления, используемый в качестве его заместителя или представителя), наоборот, является широким.

Дальнейший путь изменения определений связан с целями метода моделирования. Большинство исследователей выделяют три цели:

Понимание устройства конкретной системы, её структуры, свойств, законов развития и взаимодействия с окружающим миром.

Управление системой, определение наилучших способов управления при заданных целях и критериях.

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

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

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

Моделирование - это опосредованное практическое или теоретическое исследование объекта, при котором непосредственно изучается не сам интересующий нас объект, а некоторая вспомогательная искусственная или естественная система:

1) находящаяся в некотором объективном соответствии с познаваемым объектом;

2) способная замещать его в определенных отношениях;

3) дающая при её исследовании, в конечном счете, информацию о самом моделируемом объекте.

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

В данном определении рассматривается отражение «объект–система», вместо «система–система». Это связано с тем, что не во всех случаях необходимо учитывать теорию систем.

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

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

Единая классификация моделей проблематична в силу уже показанной многозначности понятия «модель» в науке [7, 8]. Её можно проводить по различным основаниям. В зависимости от средств построения различают следующие классы моделей:

натурные модели (макет Солнечной системы);

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

На рис.1 показаны компьютерные модели атомарного и молекулярного водорода, а на рис. 2 – компьютерные модели димера воды и ионов гидроксония и гидроксида (они образуются при переносе протона).

Рис. 1. Атомарный (левый фрагмент) и молекулярный (правый фрагмент) водород.

Рис.2. Димер воды (левый фрагмент), ионы гидроксония и гидроксида (правый фрагмент).

Можно классифицировать модели по предметной области:

физические, химические, биологические, социологические, экономические и т.д.

Классификация моделей по применяемому математическому аппарату:

модели, основанные на применении обыкновенных дифференциальных уравнений;

модели, основанные на применении уравнений в частных производных;

вероятностные модели и т.д.

В зависимости от целей моделирования различают:

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

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

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

Игровые модели (компьютерные игры).

Обучающие модели (всевозможные тренажеры).

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

Имеется также классификация моделей в зависимости от их изменения во времени. Различают:

статические модели - неизменные во времени;

динамические модели - состояние которых меняется со временем.

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

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

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

Структурно-функциональная модель организации дыхательной цепи в митохондриях показана на рис. 3.

Рис. 3. Модель организации дыхательной цепи в митохондриях.

Модель сопряжения электронного транспорта с трансмембранным переносом протонов и синтезом АТФ в зеленых растениях имеет вид, показанный на рис. 4.

Рис. 4. Модель сопряжения электронного транспорта с трансмембранным переносом протонов и синтезом АТФ.

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

Любая классификация методов моделирования обречена на неполноту.

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

Выделим некоторые методы моделирования:

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

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

cо знаковым тесно связано мысленное моделирование, при котором модели приобретают мысленно наглядный характер;

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

Для моделирования характерен эксперимент над моделью (модельный эксперимент).

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

Если модель и моделируемый объект имеют одну и ту же физическую природу, то помимо термина моделирование» используют и термин «натурное «физическое моделирование».

Явление (система, процесс) может исследоваться и путём опытного изучения какого-либо явления иной физической природы, но такого, что оно описывается теми же математическими соотношениями, что и моделируемое явление. Например, механические и электрические колебания описываются одними и теми же дифференциальными уравнениями, поэтому с помощью механических колебаний можно моделировать электрические и наоборот. Такое «предметно-математическое» (аналоговое) моделирование широко применяется для замены изучения одних явлений изучением других явлений, более удобных для лабораторного исследования, в частности потому, что они допускают измерение неизвестных величин. Так, электрическое моделирование позволяет изучать на электрических моделях механические, гидродинамические, акустические и другие явления. Например, хемиосмотическое сопряжение моделируют, собирая электрическую цепь (рис. 5).

Рис. 5. Простейшая модель хемиоосмотического сопряжения.

Цепь переноса электрона (электрический ток в модели) не просто связана с мембраной, но вплетена в нее таким образом, что при движении электрона от субстрата к кислороду протоны перемещаются с внутренней поверхности наружу. Мембрана образует замкнутый пузырек, который плохо пропускает протоны, поэтому в результате «выкачивания» протонов генерируется разность потенциалов через мембрану: электрическая отрицательность внутри.

Одновременно увеличивается рН: защелачивается среда внутри пузырька.

Протоны снаружи оказываются под гораздо более высоким электрохимическим потенциалом, чем внутри, как бы под «давлением» со стороны и электрического потенциала и градиента рН, которые толкают протоны обратно через мембрану внутрь пузырька. Живая клетка использует электрическую энергию таких протонов для совершения разных видов работы, например, для синтеза АТФ из АДФ и фосфата в мембранах митохондрий (при аналоговом моделировании работа связана с синтезом веществ в электролизере). Более совершенна экспериментальная модель, позволяющая проводить прямые измерения электрического тока, генерируемого клеточными органеллами и отдельными белками. Частицы, генерирующие электрический ток (митохондрии, хроматофоры бактерий или липидные пузырьки со встроенными в них индивидуальными белками), заставляли слипаться с плоской искусственной мембраной. После этого протонный ток, созданный молекулами - генераторами в ответ на вспышку света или добавление соответствующих химических субстратов, обнаруживался напрямую измерительными электродами по обе стороны искусственной мембраны.

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

При знаковом моделировании моделями служат знаковые образования какого-либо вида: схемы, графики, чертежи, формулы, графы, слова и предложения в некотором алфавите (естественного или искусственного языка).

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

Современная форма «материальной реализации» знакового (прежде всего, математического) моделирования это моделировании на цифровых – электронных вычислительных машинах, универсальных и специализированных.

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

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

Существует словесное моделирование, называемое иначе вербальным моделированием.

Таким образом, можно различать натурное (материальное, предметное) и абстрактное моделирование;

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

в первом случае говорят о мысленном (интуитивном) моделировании, во втором — о знаковом моделировании (важнейший и наиболее распространённый вид его — логико-математическое моделирование). Наконец, моделирование на ЭВМ именуемое (часто «компьютерным») является «предметно-математическим по форме, знаковым по содержанию».

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

А.Н. Кочеpгин предлагает рассматpивать и такие классификационные признаки, как пpиpода моделируемых явлений, степень точности, объем отображаемых свойств и дp [4]. Данные признаки не всегда являются существенными.

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

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

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

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

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

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

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

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

Для модельного эксперимента, по мнению ряда авторов, характерны следующие основные операции:

переход от натурального объекта к модели – построение модели (моделирование в собственном смысле слова);

экспериментальное исследование модели;

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

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

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

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

В.А.Штофф в книге «Моделирование и философия» пишет о том, что теоретической основой модельного эксперимента является теория подобия [9].

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

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

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

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

Это становится особенно очевидным в свете возможности их реализации средствами электронно-вычислительной техники. Один из видов модельного эксперимента – модельно-кибернетический эксперимент, в ходе которого вместо «реального» экспериментального оперирования с изучаемым объектом находят программу его функционирования, которая и оказывается своеобразной моделью поведения объекта [10, 11]. Вводя этот алгоритм в ЭВМ, получают информацию о поведении оригинала в определенной среде, о его функциональных связях с меняющейся «средой обитания».

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

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

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

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

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

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

В ходе познания такие системы отображаются в различных моделях, более или менее оправданных;

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

Если такие критерии основываются на экспериментальных данных, то существует дополнительная трудность, связанная с тем, что хорошее совпадение заключений, которые следуют из модели, с данными наблюдения и эксперимента ещё не служит однозначным подтверждением верности модели, так как возможно построение других моделей данного явления, которые также будут подтверждаться эмпирическими фактами. Отсюда — естественность ситуации, когда создаются взаимодополняющие или даже противоречащие друг другу модели явления. Эти противоречия могут «сниматься» в ходе развития науки (и затем появляться при моделировании на более глубоком уровне).

Например, на определенном этапе развития теоретической физики при моделировании физических процессов на уровне «классическом»

использовались модели, подразумевающие несовместимость корпускулярных и волновых представлений;

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

Что же следует понимать под истинностью модели? Если истинность вообще — «соотношение наших знаний объективной действительности», то истинность модели означает соответствие модели объекту, а ложность модели – отсутствие соответствия. Такое определение является необходимым, но недостаточным. Требуются дальнейшие уточнения, основанные на принятии во внимание условий, на основе которых модель того или иного типа воспроизводит изучаемое явление. Например, условия сходства модели и объекта в математическом моделировании, основанном на физических аналогиях, предполагающих при различии физических процессов в модели и объекте тождество математической формы.

Таким образом, при построении тех или иных моделей, всегда сознательно отвлекаются от некоторых сторон, свойств и даже отношений, в силу чего, заведомо допускается отсутствие сходства между моделью и оригиналом по ряду параметров, которые вообще не входят в формулирование условий сходства. Истинность — свойство знания, а объекты материального мира не истинны, не ложны, они просто существуют. Можно ли говорить об истинности материальных моделей, если они — вещи, существующие объективно, материально?

В модели реализованы двоякого рода знания:

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

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

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

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

в силу связи их с определенными знаниями;

в силу наличия (или отсутствия) изоморфизма их структуры со структурой моделируемого процесса или явления;

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

И в этом отношении материальная модель является гносеологически вторичной, выступает как элемент гносеологического отражения [12, 13].

2. Компьютерное моделирование Традиционное математическое моделирование может быть связано с техническими средствами информатики или – нет [15, 16, 17]. Компьютерное математическое моделирование основано на использовании компьютеров при проведении моделирования. Оно обычно включает вычислительное моделирование и графическое моделирование (визуализацию).

2.1. Основные понятия компьютерного моделирования Компьютерная модель - представление информации о моделируемой системе средствами компьютера.

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

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

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

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

изменяется только значение характеристик.

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

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

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

Статические модели - модели, в которых представлена информация об одном состоянии системы.

Динамические модели - модели, в которых представлена информация о состояниях системы и процессах смены состояний.

Рассмотрим имитационные, вероятностные модели как динамические модели и соответсвующие им виды моделирования.

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

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

Если численные методы реализуются с помощью цифровых ЭВМ, то для реализации имитационной модели применяют следующие подходы:

Использование специальных языков имитационного моделирования: GPSS, DYNAMO, SIMSCRIPT, SIMULA. Операторы этих языков построены так, чтобы с их помощью было легко создавать и экспериментировать.

Применение системы имитационных моделей. В настоящее время распространено визуальное моделирование, где модель собирается из блоков (Arena, Simulink, Neiro).

Использование специальных языков программирования. (List, C++, Pascal, Delphi) - самый трудоемкий вариант.

В настоящее время все имитационные модели делятся на 2 типа:

Система t.

Система z.

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

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

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

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

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

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

Возможна проверка устойчивости, чувствительности и качества модели.

Устойчивость модели – это изменение выходных параметров (yi) при изменении входных (xj). Если в модели при малых изменениях входных параметров сильно меняются выходные, то модель считается слишком чувствительной, так как небольшие погрешности могут внести значительные изменения в неё. Сильная чувствительность модели может привести к неустойчивости результатов. Коэффициент чувствительности определяется по формуле (1):

kij = yi /xj (1).

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

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

Заслуживает внимания вероятностная (статистическая) модель марковских процессов. Случайный процесс, протекающий в какой-либо системе S, называется марковским (или процессом без последствия), если он обладает следующим свойством: для любого момента времени t0 вероятность любого состояния системы в будущем (при t t0) зависит только от ее состояния в настоящем (при t t0) и не зависит от того, когда и каким образом система пришла в это состояние. Классификация марковских случайных процессов производится в зависимости от непрерывности или дискретности множества значений функции х(t) и параметра (t). Различают следующие основные виды марковских случайных процессов: с дискретными состояниями и дискретным временем (цепь Маркова);

с непрерывными состояниями и дискретным временем (марковские последовательности);

с дискретными состояниями и непрерывным временем цепь Маркова);

с непрерывным (непрерывная состоянием и непрерывным временем.

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

Рис. 6. Граф для марковских процессов с дискретными состояниями.

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

Рассмотрим процесс функционирование системы, представленной на рис. 7:

Рис. 7. Граф функционирования системы.

Матрица вероятностей перехода будет иметь следующий вид:

P11 – вероятность того, что система останется в состоянии 1;

P12 – вероятность перехода системы из состояния 1 в состояние 2;

P22 – вероятность того, что система находится в состоянии 2;

P21 – вероятность перехода системы из состояния 2 в состояние 1.

Марковский случайный процесс с дискретными состояниями и непрерывным временем называется непрерывной цепью Маркова при условии, что переход системы из состояния в состояние происходит не в фиксированные, а в случайные моменты времени. Например, система находящаяся в нулевом состоянии, переходит в состояние 1 с вероятностью P0 (t) и наоборот с вероятностью P1 (t) (рис. 8).

Рис. 8. Граф непрерывной Марковской цепи.

По графу состояний можно составить систему уравнений для вероятностей состояний:

Интенсивности потоков обозначены как и µ. Система линейных дифференциальных уравнений имеет решение с учетом нормировочного условия P0 (t) + P1 (t) = 1. Решение данной системы называется неустановившимся, поскольку оно непосредственно зависит от t и выглядит следующим образом:

Другой тип модели (часто используемый в естественных науках) – корреляционно-регрессионная модель. Корреляционно-регрессионная модель определяется следующим образом:

Корреляция – мера взаимосвязи нескольких величин. Корреляционный анализ – выяснение зависимости между входными и выходными параметрами.

Корреляция делится на положительную и отрицательную (относительно характера);

простую, множественную и частную числа (относительно переменных);

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

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

Существует линейная регрессия, когда строят прямую линию, и нелинейная регрессия – экспонента, логарифм. Цели регрессии – записать зависимость в виде функции f(x). Для анализа моделирования это дает возможность построить уравнение, связывающие входные и выходные параметры.

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

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

прогноз динамики изменения системы;

оценка полноты описания системы и сравнительная информационная значимость параметров системы;

оптимизация параметров системы по отношению к заданной функции ценности;

адаптивное управление системой. Для информационной модели главное - это структура информации.

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

Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. Разновидности моделей данных: иерархическая, сетевая и реляционная. Под иерархической моделью данных понимают сочетание звеньев данных, объединенных между собой по особым принципам. Эта модель представляет собой “разветвленную к низу пирамиду”. Основополагающими структурными элементами являются узел, уровень и связи. В центре каждого разветвления находится узел. На каждом уровне находится несколько узлов (только на вершине один). Узлы соединены между собой посредством связей. Узел – комплекс атрибутов данных, изображающих какой-либо объект. Любой узел на низшем уровне соединен с одним узлом высшего уровня. Узлы, находящиеся на низших уровнях, называются подчиненными (зависимыми). Чтобы попасть к корневой записи модели данных, пользователем применяется единственный путь.

Иерархическими принципами являются следующие основные положения:

корень вершины – это главный по иерархии элемент;

одна иерархическая пирамида имеет лишь один корень вершины;

вновь созданные узлы могут включаться в пирамиду в различных направлениях;

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

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

Характерными чертами реляционной модели данных являются: удобство и простота структуры табличных данных, что необходимо для пользователя;

возможность реляционной обработки табличных данных;

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

последовательность строк и столбцов может быть выбрана пользователем произвольно;

вследствие однородности столбцов в реляционной таблице все ее элементы обладают одинаковой длиной и типом данных;

в реляционной таблице не может быть одинаковых строк;

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

2.3. Этапы компьютерного моделирования.

Этапы компьютерного моделирования представим в виде схемы (рис. 9), которая не является догмой, и в зависимости от решаемых задач ее можно изменять.

Рис. 9. Этапы компьютерного моделирования.

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

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

Учет несущественной информации вызывает излишние сложности, а иногда создает непреодолимые препятствия на пути к решению. Информация об объекте подготавливается к обработке на компьютере. Строится так называемая математическая модель объекта (процесса) [19], которая содержит:

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

называемых статистическими или постоянными параметрами модели;

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

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

формулы и алгоритмы, описывающие процесс смены состояний моделируемого объекта.

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

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

При компьютерном моделировании можно проводить обезразмеривание величин.

2.3. Компьютерные программы.

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

Различают алгоритмическое, структурное, объектно-ориентированное, визуальное и событийное программирование.

Рассмотрим этапы структурного программирования (стиль программирования, позволяющий разрабатывать хорошо структуированные программы;

используется большое число подпрограмм: процедуры и функции).

Основные положения структурного программирования:

Программа разбивается на блоки, каждый из которых имеет один "вход" и один "выход".

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

Рис. 10. Структограммы.

Турбо Паскаль – один из языков программирования высокого уровня (в дальнейшем первое слово в названии будет опускаться).

Идентификаторами Паскаля называют произвольный набор символов.

Требования к идентификаторам:

Идентификатор состоит из латинских букв и цифр (заглавные и строчные буквы не различаются).

Идентификатор должен начинаться обязательно с буквы {"а1", а не "1а"}.

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

Служебные слова запрещается использовать в качестве идентификаторов.

При написании идентификатора нельзя использовать пробелы.

Перечислим общие понятия и правила программирования на языке Паскаль:

Программа составляется из операторов Паскаля, которые разделяются символом ";

".

Для выделения группы операторов используют операторные скобки:

begin…end.

Несколько операторов, заключенных в операторные скобки, называют составным оператором.

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

Структура программы состоит из блока описания и основной программы:

Блок описания:

Program P1;

{заголовок, название программы} {±} Uses………;

{подключение внешних модулей с расширением *.tpu} {±} Const……...;

{описание констант} {±} Type………;

{задание типов} {±} Var………..;

{раздел объявления переменных}{±} Основная программа:

Begin {начало основной программы} {+} … {тело основной программы} {±} End. {конец основной программы} {+}.

{+} – обязательная часть программы.

{±} – необязательная часть программы.

Основные части программы:

Uses – подключение внешних библиотек для расширения в программе набора доступных операторов.

Пример 1:

UsesDOS, Crt, Graph, Printer;

{Подключение четырех стандартных модулей:

DOS – использование в программе команд операционной системы.

Crt – расширение возможностей ввода-вывода, использование звукового генератора.

Graph – подключение графических процедур и функций.

Printer – легкий доступ к печати.} Пример 2: Следующая программа обеспечивает реализацию легкого доступа к печати.

UsesPrinter;

{ подключение модуля} begin Write(‘количество’);

{ выводится на экран слово "количество"} Write(lst,‘количество’);

{ выводится на принтер слово "количество"} end.

Const (константы).

В этом разделе описания идентификаторам задаются значения, которые не меняются при выполнении программы.

Пример:

Const a=3;

{численная константа} b=’A’;

{символьная константа } s=’ABBA’;

{строковая константа } b1=false;

{логическая константа } M:array[1..4] of integer=(1,5,6,7);

{массив констант }.

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

Основные типы данных: простые (численные, символьные, логические и др.);

сложные (массивы, строки, записи, файлы, процедуры, объекты и др.) Численные типы: Byte, Shortint, Word, Integer, Longint, Single, Real, Double, Extended.

Символьные переменные - char Значениями символьного типа является множество всех символов ПК.

Каждому символу приписывается целое число в диапазоне 0…255.

Логические переменные - boolean Значениями логического типа может быть одна из предварительно объявленных констант (False – ложь, True – истина).

Сложные типы Массивы - array.

Тип данных Массив позволяет одному идентификатору задать несколько значений, которые отличаются порядковым номером. Номер элемента массива указывается после идентификатора в квадратных скобках {M[5] – пятый элемент массива М}. При описании массива указывается диапазон номеров элементов массива и тип, к которому относится каждый его элемент. Массивы могут быть одно-, двух- и многомерными.

Пример описания и заполнения элементов массива.

Var {описание массивов} M: array [1..5] of integer;

{одномерный массив М с номерами элементов от 1 до 5, состоящий из целых чисел} M1: array [2..3,11..15] of char;

{двумерный массив М1 с номерами строк от 2 до 3, с номерами столбцов от 11 до 15, состоящий из символов} Begin {заполнение массива} М[2]:=100;

{второму элементу численного массива М присвоено значение 100} М1[2,3]:=’d’;

{элементу второй строки и третьего столбца символьного двумерного массива М1 присвоено значение ’d’} End.

Строковые переменные – string.

Переменные строкового типа состоят из нескольких символов.

Пример.

Var s:string;

{описание идентификатора s как строковой переменной} Begin s:=’Количество’;

{задание значения строковой переменной} Writeln(s);

{распечатка на экране слова "Количество"} end.

Var (Переменные).

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

Пример.

Var x,y:real;

{идентификаторы x,y - переменные реального типа} i,j,k:integer;

{ идентификаторы i,j,k – переменные целого типа } M:array [1..4] of char;

{ M - одномерный символьный массив из элементов} M1:array [1..3,1..4] of byte;

{ M1 двухмерный массив из 12 элементов целого типа} Type re=real;

{ описание нового типа: идентификатор re - реальный тип} Var z:re;

{идентификатор z – переменная типа re, то есть реального типа} {Четыре последние строки примера можно заменить следующим образом: Var z:real;

} Основная программа Основная программа, как правило, состоит из трех частей:

1. Ввод исходных данных.

2. Расчет.

3. Вывод результата.

Рассмотрим эти части более подробно.

Ввод исходных данных.

Варианты ввода исходной информации покажем на примерах:

Const х=20;

{идентификатору x задается постоянное значения в разделе описания констант} y:=20;

{идентификатору y присваивается численное значение в теле основной программы} read(x);

{выполнение программы приостанавливается для ввода значения "x" с клавиатуры. Оператор аналогичен оператору INPUT в Бейсике} readln(x);

{ввод значения идентификатора с новой строки} read(x,y);

{ввод двух значений x,y;

одно значение от другого отделяется нажатием клавишей пробела или Enter} Write(‘x= ’);

readln(x);

{Ввод значения с пояснением;

на экране в месте ввода появляется сообщение: ‘х= ’} Расчет.

Основные математические соотношения и операции:

+ { сложение} – { вычитание} * { умножение} / { деление} = {равенство (используется при описании констант, типов и т.д.)} := {присваивание} { больше} { меньше} = { больше либо равно} = { меньше либо равно} { не равно}.

Стандартные функции:

abs(x);

{модуль, абсолютная величина} exp(x);

{еx- экспонента} sqr(x);

{x2 - квадрат числа} ln(x);

{вычисление натурального логарифма } sin(x);

{вычисление синуса} cos(x);

{вычисление косинуса} arctan(x);

{вычисление арктангенса} round(x);

{округление: x=4.9;

y=round(x), y=5 } trunc(x);

{ выделение целой части: x=4.9;

y=trunc(x), y=4} i mod j;

{ остаток целочисленного деления 10 mod 3 1} i div j ;

{ целочисленное деление 10 div 3 3} chr(i) ;

{ по порядковому номеру i возвращает символ} ord(b);

{функция, обратная предыдущей (возвращение порядкового номера)} int(r) ;

{возвращение целой части числа} frac(r) ;

{возвращение дробной части числа} Стандартные процедуры:

Dec(i);

{i:=i-1} inc(i);

{i:=i+1} Goto XY(i,j);

{перемещение курсора в указанную точку экрана с координатами i, j} str(x,S);

{идентификатор численного типа x переводит в строковую переменную S: xS. } { Требуется модуль Crt} Clrscr;

{очистка экрана} {Требуется модуль Crt } Константы Pi {число = 3.14…} Вывод результатов Write(x);

{вывод на экран значения x: при реальном x=4, на экран выводится "4.0000000000E+00"} Write(x:4:2);

{вывод форматированных данных, то есть выделение на экране заданного количества позиций для вывода идентификатора: показывает общее число позиций, 2 – число знаков после запятой: при x=4, на экран выводится "4.00"} Writeln(x);

{вывод с новой строки} Writeln(x,y);

{вывод двух значений идентификаторов} Writeln(‘x= ’,x:4:1);

{вывод с комментариями и форматированием: "x= 4.0"} Writeln(‘Площадь круга радиусом 3 м равна’,3.14*sqr(3):4:1);

{Вывод с комментариями и выполнением расчетов: "Площадь круга радиусом 3 м равна 28.3"} Технология программирования включает пять этапов: постановка задачи;

математическое описание;

разработка алгоритма;

написание текста программы;

отладка, получение результатов.

Пример: Определить площадь основания цилиндра и объем цилиндра.

Используем линейный алгоритм.

Постановка задачи: Составить программу для моделирования объекта цилиндрической формы радиусом R и высотой H.

Математические модели: расчетная формула для площади основания S=R2;

расчетная формула для объема цилиндраV=SH.

Разработка алгоритма: Описание R, S, H, V. Ввод R, H. Расчет S=R2.

Расчет V=SH. Вывод S,V.

Написание программы:

Program SP;

{ программа вычисления площади основания и объема цилиндра} Var R, H, S, V:real;

{Описание переменных} Begin Read(R, H);

{в этом месте программа останавливается, для ввода числового значения R и H} {R:=4;

H:=3}{другой вариант ввода исходных данных} S:=3.14*Sqr(R);

{расчет} V:=S*H;

{расчет} {V:=Pi*sqr(R);

} {другой вариант расчета} Writeln(‘S=’, S:8:4, ‘ V=’,V:8:4);

{Вывод} End.

Отладка и получение результатов:

R= 4.00 H=3.00 S=50.24 V=150. Данная программа может быть использована в качестве подпрограммы (процедуры) в больших структуированных программах:

Procedure SP;

Var R, H, S, V: real;

Begin Read(R, H);

S:=3.14*Sqr(R);

V:=S*H;

Writeln(‘S=’, S:8:4, ‘ V=’,V:8:4);

End;

{ “;

” – окончание подпрограммы}.

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

• Basic: Microsoft Visual Basic;

• Pascal: Borland Delphi;

• C++: Microsoft Visual C++;

• Java: BorlandJBuilder • С#: Microsoft Visual Studio.NET, Borland C#Builder.

На рис. 11 показаны фрагмент палитры компонентов, используемых для разработки формы – прототипа интерфейса будущей программы в среде быстрого программирования (проектирования) Delphi.

Рис 11. Фрагмент палитры и форма.

Разработанная форма наполняется содержанием подпрограммой – (процедурой).

Математические пакеты типа Eureka фирмы Borland, MathCAD фирмы Math Soft, MatLAB фирмы Math Work (первые публикации на русском языке относятся к началу 90-х годов) позволяют использовать возможности развитых численных методов без классической процедуры программирования и в тоже время предоставляют исследователю удобную для его работы среду. Если первое поколение этих и аналогичных, гораздо более мощных систем (Maple V, Mathematica 2, MathCAD 3.0), проявляло часто «детскую беспомощность» при решении задач в формульном виде, то последующие, а тем более нынешние поколения, работали с символьной математикой и с числами уже с той эффективностью и в таком темпе, что пользователю не было необходимости тратить на организацию процессов преобразований и вычислений все свои интеллектуальные и временные ресурсы. В настоящее время используется довольно много систем компьютерной алгебры, систем автоматизации математических вычислений, рассчитанных на массового пользователя: muMath, Reduce, MathCAD 3.0-7.0, Derive, Maple V, Mathematica 2/3 [20, 21].

Основные возможности математических пакетов:

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

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

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

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

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

преобразования формул с использованием подстановок, разложение на множители и пр.;

построение двумерных и трехмерных графиков в параметрической форме, в полярной и декартовой системах координат и т.д.

Кроме математических пакетов для проведения компьютерного моделирования удобно применять табличные процессоры (Excel пакета MS Office, Calc пакета Open Office), в которых имеется большое количество встроенных функций. Например, логическая функция ЕСЛИ возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ. Функция ЕСЛИ используется при проверке условий для значений и формул.

Табличные процессоры позволяют выполнять следующие действия:

1. Работа с выделенными блоками, их копирование, перенос, удаление.

Копирование одинаковых формул с автоматической адаптацией 2.

коэффициентов в формулах к текущему столбцу и строке.

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

4. Работа с массивами данных.

5. Сортировка и выборка данных по введенным параметрам.

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

7. Запись макросов.

Для построения информационной (информационно-логической) модели можно использовать СУБД MS Access. СУБД Access для работы с данными использует объекты доступа к данным и средство быстрого построения интерфейса — конструктор форм. Для получения распечаток применяются конструкторы отчетов. Автоматизация рутинных операций может быть выполнена с помощью макрокоманд. На тот случай, когда не хватает функциональности визуальных средств, пользователи Access могут обратиться к созданию процедур и функций. При этом как в макрокомандах можно использовать вызовы функций, так и из кода процедур и функций можно выполнять макрокоманды. Несмотря на свою ориентированность на конечного пользователя, в Access присутствует язык программирования Visual Basic for Application, который позволяет создавать массивы, свои типы данных, вызывать DLL-функции, с помощью OLE Automation контролировать работу приложений, которые могут функционировать как OLE-серверы. Access из всех рассматриваемых средств разработки имеет, пожалуй, самый богатый набор визуальных средств. Главное качество Access, которое привлекает к нему многих пользователей, – тесная интеграция с Microsoft Office. К примеру, скопировав в буфер графический образ таблицы, открыв Microsoft Word и применив вставку из буфера, мы тут же получим в документе готовую таблицу с данными из БД. Вся работа с базой данных осуществляется через окно контейнера базы данных. Отсюда осуществляется доступ ко всем объектам, а именно: таблицам, запросам, формам, отчетам, макросам, модулям.

Посредством драйверов ISAM можно получить доступ к файлам таблиц некоторых других форматов: DBASE, Paradox, Excel, текстовым файлам, FoxPro 2.x, а посредством технологии ODBC – и к файлам многих других форматов. Access 2002 может выступать как в роли OLE клиента, так и ОLE сервера. Встроенный язык структурного программирования SQL позволяет максимально гибко работать с данными и значительно ускоряет доступ к внешним данным. Пользователям, малознакомым с понятиями реляционных баз данных, Access дает возможность разделять сложные по структуре таблицы на несколько таблиц, связанных по ключевым полям.

3. Примеры компьютерного моделирования 3.1. Атомно-молекулярные частицы и их ассоциаты Рассмотрим некоторые примеры компьютерного моделирования атомно молекулярных частиц (таких как атомы, молекулы, ионы радикалы, ион радикалы), структуры биополимеров (по данным ЯМР-спектроскопии и дифракции рентгеновских лучей), процессов электронного переноса, синтеза природных органических соединений и их аналогов, колебательного движения, экологических систем и использования информационных моделей в биологических науках.

Словесное описание (вербальные модели) атомно-молекулярных частиц следующее:

Атомы — нейтральные частицы, состоящие из положительно заряженных ядер и отрицательно заряженных электронов.

Молекулы – нейтральные частицы, состоящие из атомов, характеризующиеся наличием только спаренных электронов.

Ионы – заряженные атомно-молекулярные частицы.

Радикалы – нейтральные атомно-молекулярные частицы, имеющие неспаренные электроны.

Ион-радикалы – заряженные атомно-молекулярные частицы, имеющие неспаренные электроны.

Для компьютерного математического моделирования указанных частиц используют эмпирические, полуэмпирические и неэмпирические методы [22].

Эмпирические методы основаны на молекулярной (классической) механике.

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

Напомним математическое выражение для закона Гука:

F= - k x (6);

F - возвращающая сила;

k - силовая постоянная;

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

Существуют модели и ангармонического осциллятора. Соответствующий график представлен на рис. 12.

Рис. 12. Зависимость энергии от расстояния для ангармонического осциллятора. U – энергия;

r – расстояние между атомами.

Энергия валентных взаимодействий описывается параболическими потенциалами:

U (x) = kb x2/2 (7);

kb – эффективная жёсткость валентной связи, x – смещение.

Энергия колебаний валентных углов также описывается параболическим потенциалом:

U () = kv ( - o )2/2 (8);

kv – эффективная упругость валентного угла, i – значение валентного угла, o -его равновесное значение.

В литературе несложно найти выражения и для энергий других взаимодействий.

Энергия торсионных взаимодействий и потенциалов, отвечающих плоским группам, определяется формулой:

U (Ф) = kф [cos(nФ - )+1] (9) ;

n –кратность торсионного барьера, – сдвиг фазы, kф- константа, определяемая высотой потенциального барьера.

Энергии электростатического взаимодействия соответствует выражение:

U = q i q j/ r0 (10);

– парциальные заряды на атомах, – диэлектрическая q q i,, j проницаемость, r0-равновесное расстояние между атомами..

Потенциал Букингема, используемый для описания ван-дер-ваальсовых взаимодействий, основан на предположении об экспоненциальной зависимости сил отталкивания между молекулами от расстояния между ними. Энергия взаимодействия между молекулами в этом случае зависит от расстояния (R) между ними:

U(R) = be-aR – cR-6 – dR-8 (11);

a, b, c, d – постоянные.

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

Потенциал Леннарда-Джонса служит для расчета энергии межмолекулярного взаимодействия. Он основан на предположении о быстром возрастании сил отталкивания между молекулами на малых расстояниях, происходящем по закону R-n. Потенциал Леннарда-Джонса (6-12) получают при n = 12, зависимость R-6 в этом случае отражает наличие дисперсионных сил.

Потенциальная энергия взаимодействия между системами, не имеющими постоянных диполей, описывается выражением U(r) = 4 [(/r)12 - (/r)6] (12);

где и – эмпирические константы, r – расстояние между взаимодействующими системами;

(/r)12- описывает отталкивание, (/r) 6 – описывает притяжение между системами (рис. 13).

Рис. 13. Зависимость энергии от расстояния.

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

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

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

Полуэмпирические и неэмпирические методы основаны на квантовой механике.

В неэмпирических методах проводится полное решение уравнения Шреденгера:

Е = Н (13);

– волновая функция, Е – энергия, Н – оператор Гамильтона, Н = Т + V есть сумма операторов кинетической энергии Т и потенциальной энергии V.

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

Исходными данными служат заряды ядер и их положения в молекуле или кристалле и наборы базисных функций (как правило, слейтеровского или гауссового типов). Это наиболее точный из вычислительных методов, заключающийся в решении одноэлектронных уравнений Хартри-Фока или Кона Шэма с учетом электронной корреляции. Чаще всего при решении используют приближение МО ЛКАО (молекулярные орбитали представляются в виде линейной комбинации атомных орбиталей). В уравнение Шреденгера входит волновая функция. Волновая функция – это функция координат частиц xi и времени t (x1, x2, …,xn, t) = ({x},t), полностью описывающая состояние системы n частиц. Волновая функция является решением уравнения Шреденгера для рассматриваемой системы и содержит полную информацию о системе, позволяя определить пространственное расположение частиц, их импульсы, кинетическую энергию и т.д. Выражение *({x},t)({x},t)dx имеет смысл вероятности того, что в момент времени t 1-я частица находится в интервале координат от x1 до x1 +dx1, 2-я частица находится в интервале координат от x1 до x2+dx2, и т.д.

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

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

таким образом, они являются либо фиксированными числами, либо зависят от расстояния между атомами. Полуэмпирические методы намного быстрее, чем неэмпирические. Они применимы к большим системам и для некоторых классов соединений дают очень точные результаты. Однако это достигается за счет специально подобранных параметров, справедливых лишь в пределах узкого класса соединений. При переносе на другие классы, те же методы могут дать абсолютно неверные результаты. Кроме того, параметры расчета часто подбираются таким образом, чтобы воспроизводить те или иные молекулярные свойства, поэтому придавать физический смысл отдельным параметрам не следует. Во многих пакетах программ, используемых для моделирования молекул, широко применяют Z-матрицы. Z-матрица включает в себя символы химических элементов (a) и такие параметры молекулярной системы, как расстояние между атомами (b), величины валентных (d) и двугранных углов (e).



Pages:   || 2 |
 














 
2013 www.netess.ru - «Бесплатная библиотека авторефератов кандидатских и докторских диссертаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.