Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

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

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Построение траектории Броуновского движения

Тип Реферат
Предмет Промышленность и производство
Просмотров
1218
Размер файла
194 б
Поделиться

Ознакомительный фрагмент работы:

Построение траектории Броуновского движения

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования

«Брестский государственный университет имени А. С. Пушкина»

Математический факультет

Кафедра информатики и прикладной математики

Курсовая работа

ПОСТРОЕНИЕ ТРАЕКТОРИИ БРОУНОВСКОГОДВИЖЕНИЯ

Подготовила:

Кондратюк Анна Степановна,

студентка 3 курса специальности

«Математика. Информатика»

Руководитель:Черноокий

Александр Леонидович

Брест 2009


СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. СЛУЧАЙНЫЕ ФРАКТАЛЫ

1.1 Снежинка Коха

1.2 Салфетка Серпинского

1.3 Броуновское движение

2. СУТЬ БРОУНОВСКОГО ДВИЖЕНИЯ

3. ОПРЕДЕЛЕНИЕ

4. ПРОГРАММИРОВАНИЕ НА DELPHI

4.1 Код программы «Броуновское движение, как хаотичное движение частиц»

4.2 Код программы «Построение траектории броуновское движение»

ЗАКЛЮЧЕНИЕ

ЛИТЕРАТУРА


ВВЕДЕНИЕ

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

Какими же инструментами располагает теория хаоса? В первую очередь это фракталы.

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

Траектории частиц броуновского движения, которым занимались Роберт Броун еще в 1828 году и Альберт Эйнштейн в 1905 году, представляют собой пример фрактальных кривых, хотя их математическое описание было дано только в 1923 году Норбертом Винером. В 1890 году Пеано сконструировал свою знаменитую кривую.

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

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


1. СЛУЧАЙНЫЕ ФРАКТАЛЫ

Фрактальные объекты повсеместно встречаются в природе. Это модели снежинок, деревьев, кустов, листьев и тому подобных объектов. Однако фракталы, получаемые с помощью L-систем или СИФ, обладают одним явным недостатком, ограничивающим их применение для моделирования естественных объектов. Они детерминированы.

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

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

Некоторые примеры фракталов:

1.1 Снежинка Коха

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

Пример построения этого фрактала изображен ниже на рис.1.

Рис.1.Снежинка Коха


1.2 Салфетка Серпинского

Три первых шага в построении этого фрактала изображены на рис.2, а сам фрактал — на рис.3.

Число треугольных пар все меньшего и меньшего масштаба в нем бесконечно. Число черных треугольников в этом построении растет как 3n, где n — номер шага, а длина их стороны уменьшается как 2–n. Легко показать, что площадь белых пятен равна площади исходного треугольника.

Рис.2 Построение салфетки Серпинского

Рис.3. Салфетка Серпинского

1.3 Броуновское движение

Рассмотренные выше примеры фракталов относятся к так называемым точным фракталам или детерминистическим. Они все построены по вполне определенному геометрическому правилу. Помимо точных фракталов, существуют еще так называемые случайные фракталы. В расположении их элементов есть некоторая доля случайности. Простейшим случайным фракталом является траектория частицы, совершающей броуновское движение — рис.4. И хотя сама траектория имеет очень сложный извилистый характер, определить ее фрактальную размерность очень просто. Для этого заметим, что если частица продиффундировала на расстояние R, то среднее число "шагов", которое она сделала, где l — характерная длина одного шага.

Поэтому:

Рис. 4. Траектория движения броуновской частицы.

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


2. СУТЬ БРОУНОВСКОГО ДВИЖЕНИЯ

Начало исследования броуновского движения датируется 1827 годом, когда шотландский ботаник Роберт Броун обнаружил, что мелкие частицы, взвешенные в жидкости, совершают беспорядочное непрерывное движение, которое было названо в честь своего открывателя. В 1905 году Альберт Эйнштейн объяснил это движение хаотическими столкновениями с молекулами окружающей среды.

Шотландский ботаник Роберт Броун (иногда его фамилию транскрибируют как Браун) еще при жизни как лучший знаток растений получил титул «князя ботаников». Он сделал много замечательных открытий. В 1827 Броун проводил исследования пыльцы растений. Он, в частности, интересовался, как пыльца участвует в процессе оплодотворения. Как-то он разглядывал под микроскопом выделенные из клеток пыльцы североамериканского растения Clarkia pulchella (кларкии хорошенькой) взвешенные в воде удлиненные цитоплазматические зерна. Неожиданно Броун увидел, что мельчайшие твердые крупинки, которые едва можно было разглядеть в капле воды, непрерывно дрожат и передвигаются с места на место. Он установил, что эти движения, по его словам, «не связаны ни с потоками в жидкости, ни с ее постепенным испарением, а присущи самим частичкам». Наблюдение Броуна подтвердили другие ученые. Мельчайшие частички вели себя, как живые, причем «танец» частиц ускорялся с повышением температуры и с уменьшением размера частиц и явно замедлялся при замене воды более вязкой средой. Это удивительное явление никогда не прекращалось: его можно было наблюдать сколь угодно долго. Поначалу Броун подумал даже, что в поле микроскопа действительно попали живые существа, тем более что пыльца – это мужские половые клетки растений, однако так же вели частички из мертвых растений, даже из засушенных за сто лет до этого в гербариях. Тогда Броун подумал, не есть ли это «элементарные молекулы живых существ», о которых говорил знаменитый французский естествоиспытатель Жорж Бюффон. Это предположение отпало, когда Броун начал исследовать явно неживые объекты; сначала это были очень мелкие частички угля, а также сажи и пыли лондонского воздуха, затем тонко растертые неорганические вещества: стекло, множество различных минералов. «Активные молекулы» оказались повсюду: «В каждом минерале, – писал Броун, – который мне удавалось измельчить в пыль до такой степени, чтобы она могла в течение какого-то времени быть взвешенной в воде, я находил, в больших или меньших количествах, эти молекулы».

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

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

Норберт Винер в 1923 году построил первую удовлетворительную с математической точки зрения модель выборочных реализаций и доказал их «почти наверное» (на языке теории вероятностей) непрерывность.

Простейшей дискретной аппроксимацией броуновского движения служит случайное одномерное блуждание. В этом случае частица первоначально располагается в точке х0 = 0 на прямой. Частица совершает единичный шаг вправо или влево в зависимости от случайного выбора, например, бросания монеты. Случайное блуждание происходит итеративно. Для каждого п = 1,2,3,….положим, что

хn = хn-1 ± 1.

Более точным приближением к реальному броуновскому движению является замена шагов ±1 случайными величинами gп, имеющими гауссовское, или нормальное распределение. После первого шага частица находится в положении 1= 0 + g1, а после n шагов в положении

.

На рис.5. изображена типичная реализация гауссовского случайного блуждания.

Рис.5. График гауссовского случайного блуждания

Случайная величина X называется гауссовской, или нормальной с математическим ожиданием µ и дисперсией σ2, если она распределена, но закону:

то есть её плотность вероятности f(x) имеет вид:


.

График y=f(x) напоминает колокол рис.6. В наших приложениях математическое ожидание обычно равно нулю.

Гауссовское случайное блуждание легко реализуется на компьютере. Единственная сложность― необходим генератор гауссовских случайных чисел. Если имеется генератор, равномерно распределённый на отрезке [0,1] случайных чисел, то вполне приемлемое приближение можно получить, используя формулу:

,

Можно использовать и более общую формулу:

,

0,8
0,6
0,4
0,2
0
-0,2
-0,4
-0,6
-0,8
-4-3-2-101234

Рис.6. Нормированная гауссовская кривая


3. ОПРЕДЕЛЕНИЕ

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

Случайный процесс X{t) называется гауссовским, если для каждого конечного набора моментов времени t1, t2, …, tnвектор ( X(t1), X(t2),… , X(tn)) имеет гауссовское распределение. Двумерный гауссовский процесс Х(х; у) определяется аналогично.

Определение: Гауссовский процесс X(t) называется одномерным броуновским движением, или винеровским процессом на интервале [а, Ь], если он обладает следующими свойствами

Х(0) = 0 и функция X(t) почти всегда непрерывна.

Свойство гауссовости приращений: случайная величина

имеет гауссовское распределение с математическим ожиданием и дисперсией где σ — положительная константа, то есть

P(ΔX<x)=

Броуновское движение, как и любой процесс с независимыми приращениями, есть Марковский процесс. Это означает, что условная вероятность события «Х(t2) достигает определённого значения при данном значении Х(t1)», где t1>t2, зависит только от t1 и t2. Эта вероятность не зависит от поведения Х(t), при t<t1, то есть в процессе случайного блуждания каждый шаг делается без какой-либо информации о том, каким образом процесс достиг текущего значения.

Условная вероятность события А при заданном событии В обозначается P(A/B). Формальное определение Марковского процесса:

Где


4. ПРОГРАММИРОВАНИЕ НА DELPHI

Delphi обусловлен как тем, что это наиболее популярная среда программирования, так и объективными несомненными достоинствами.

Среди них:

простой и мощный язык программирования Pascal;

удобная и полная объектная модель;

достаточно удобная среда разработки;

обширная объектная библиотека VCL;

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

Delphi – это потомок среды программирования TurboPascal. Система визуального объектно-ориентированного проектирования Delphi позволяет:

Создавать законченные приложения для Windows самой различной направленности.

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

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

Создавать мощные системы работы с базами данных любых типов.

Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.

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

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

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

Общее описание среды

Верхней части окна среды отображается полоса главного меню. Назначение каждого пункта меню можно уточнить в справочной системе Delphi. Для получения справки следует выбрать интересующий пункт меню и нажать клавишу F1. Выбор команды меню выполняется любым из стандартных способов: F10, Alt+горячая клавиша или щелчком мыши на нужном пункте меню.

Назначение команд меню представлены в таблице:

Раздел менюНазначение
1) Меню File (Файл)Разделы меню позволяют создавать новый проект, новую форму, открыть ранее созданный проект или форму, сохранить проекты или форму в файлах с заданными именами.
2) Меню Edit (Правка)Разделы этого меню позволяют выполнять обычные для приложений Windows операции с буфером обмена, а также дают возможность выравнивать группы размещенных на форме компонентов по размерам и местоположению.
3) Меню Search (Поиск)Разделы этого меню позволяют осуществлять поиск фрагментов текста, ошибок, объектов, модулей, переменных и символов в редакторе кода.
4) Меню View (Вид)Разделы этого меню позволяют вывести на экран или скрыть различные элементы среды проектирования и открыть окна, связанные с интегрированным отладчиком.
5) Меню Project (Проект)Разделы меню позволяют добавлять и удалять из проекта формы, задавать опции проекта, компилировать проект без его выполнения, дать информацию о размерах приложения.
6) Меню Run (Выполнить)Предоставляет возможность выполнять проект в нормальном или отладочном режимах, по шагам, останавливаясь в указанных точках, просматривая значения переменных и т.д.
7) Меню Component (Компонент)Содержит раскрывающееся меню, которое позволяет работать с компонентами: создавать новые компоненты, изменять палитру компонентов и т.п.
8) Меню Database (База данных)Раздел меню позволяет использовать инструментарий для работы с базами данных.
9) Меню Tools (Сервис)Включает ряд разделов, позволяющих выполнять различные вспомогательные программы: редактор изображений, программы, конфигурирующие базы данных и сети и т.п.
10) Меню Windows (Окно)Содержит список открытых окон среды и предоставляет возможность перехода из одного окна в другое.
11) Меню Help (Помощь)Содержит разделы, помогающие работать со справочной системой среды программирования Delphi.
1. Палитра компонентов Standard (Стандартная)Большинство компонентов на этой странице являются аналогами экранных элементов операционной системы Windows: меню, кнопки, полосы прокрутки, панели и т.п. Имена компонентов можно узнать из всплывающей подсказки. Назначение компонентов можно уточнить, используя систему контекстной справки Delphi.
2. Палитра компонентов Additional (Дополнительная)Содержит более развитые компоненты: а) воспроизведение звука, музыки и видео; б) отображение графической информации.
3. Палитра компонентов System (Системная)Предоставляет возможность объединять отдельные элементы, такие как списки каталогов и файлов, а также генерировать события через определенные промежутки времени.
4. Палитра компонентов Win32Содержит компоненты, позволяющие созданным программам использовать интерфейс Windows.
5. Палитра компонентов Dialogs (Диалоговая)Содержит стандартные диалоговые окна для операций над файлами, поиска и замены текста, выбор шрифтов, цветов и т.д.
6. Палитра компонентов DataAccess, DataControls (Сервис баз данных)Использует механизм баз данных для организации доступа к файлам баз данных различных форматов.
7. Палитра компонентов QReport (Отчеты)Предоставляет компоненты для визуального проектирования отчетов баз данных.
8. Палитра компонентов Servers (Сервис)Предоставляет компоненты-наследники для доступа ко всем серверным объектам MicrosoftOffice.
9. Палитра компонентов Samples (Примеры)Содержит компоненты-примеры, которые можно добавлять в собственные приложения.
10. Палитра компонентов InternetПредоставляет компоненты для разработки приложений, позволяющих создавать HTML‑файлы непосредственно из файлов баз данных и других типов, взаимодействующих с другими приложениями для Интернета.

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

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

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

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

Рассмотрим некоторые свойства любого компонента:

СвойствоНазначение
Caption (надпись)Название компонента
ColorЦвет поверхности компонента
Font ColorЦвет шрифта
Font HeightВысота шрифта
Font NameИмя шрифта
Font SizeРазмер шрифта
StylefsBoldСтиль надписи на компоненте – Жирный
Style fsItalicСтиль надписи на компоненте – курсив
Style fsUnderlineСтиль надписи на компоненте – подчеркивание
Style fsStrikeOutСтиль надписи на компоненте – зачеркивание

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

Страница Событий – вторая часть Инспектора объектов. На ней указаны все события, на которые может реагировать выбранный объект.

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

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

Общая организация программы в Delphi

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

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

Структура файла главной (головной) программы приложения Delphi.

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

Головной файл приложения Delphi имеет следующую структуру:

Program < имя >;

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

Begin

{операторы тела программы}

End.

Типичная головная программа приложения имеет следующий вид:

Program Project 1;

Uses

Forms,

Unit 1 in ‘Unit 1.pas’ {Form 1}, Unit 2 in ‘Unit 2.pas’ {Form 2};

{$R *. res}

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

Begin

Application. Initialize;

Application. CreateForm (TForm 1, Form 1);

Application. CreateForm (TForm 2, Form 2);

Application. Run;

End.

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

2) После заголовка в тексте программы располагается предложение:

Uses

Forms,

Unit 1 in ‘Unit 1.pas’ {Form 1}, Unit 2 in ‘Unit 2.pas’ {Form 2};

В этом предложении перечисляются модули, загружаемые программой. Первый модуль Forms является системным, а следующие – модулями разработанными самостоятельно форм. Данный пример подразумевает, что в проекте были созданы две формы с именами Form1, Form2 в модулях Unit1, Unit2. Заключенные в фигурные скобки название форм представляют собой комментарии.

3) Следующая строка текста – {$R *. res} – представляет собой директиву компилятора, связанную с использованием файлов ресурсов. Указанный файл должен быть файлом ресурсов Windows. По умолчанию используется расширение.RES для файлов ресурсов.

4) Первый оператор в теле программы Application. Initialize; – инициализирует приложение, следующий за ним оператор Application. CreateForm (TForm 1, Form 1); и Application. CreateForm (TForm 2, Form 2); – создаютобъектыформы1 иформы2, последнийоператор Application. Run; – начинает выполнение приложения.

Общая структура файла модуля:

Unit < имя модуля >;

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

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

Initialization // (Необязательный раздел – операторы выполняются один раз при первом обращении к модулю)

Finalization // (Необязательный раздел – операторы выполняются при любом завершении работы модуля)

End.

Рассмотрим теперь текст модуля с пустой формой:

UnitUnit1;

Interface // Открытый интерфейс модуля

Uses {Список подключаемых модулей}

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

Type {Объявление класса формы}

TForm1 = class (TForm)

Private // закрытый раздел класса

Public // открытый раздел класса

End;

VarForm 1: TForm1;

Implementation // Реализациямодуля

{$R *. dfm}

End.


4.1 Код программы «Броуновское движение, как хаотичное движение частиц»

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, math;

type

TForm1 = class(TForm)

Label1: TLabel;

GroupBox1: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

Button1: TButton;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit3: TEdit;

Panel1: TPanel;

PaintBox: TPaintBox;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

procedure GetData;

end;

Molecula = record

x, y:Integer; // координатычастицы

Vx, Vy: Integer; // составляющие скорости

angle: real; // угол полета

speed: byte;

end;

var

Form1: TForm1;

R, Vmax, n: integer;

mol: array [1..100] of molecula;

run: boolean;

implementation

{$R *.dfm}

procedure TForm1.GetData;

begin

R:=strtoint(Edit1.Text); // радиусчистицы

Vmax:=strtoint(Edit2.Text); // максимальная скорость движения

n:=strtoint(Edit3.Text); // количествочастиц

end;

procedure TForm1.Button1Click(Sender: TObject);

var i, j: byte;

temp: integer;

begin

GetData;

// запускдвижения

PaintBox.Refresh;

PaintBox.Canvas.Brush.Color:=clBlack;

PaintBox.Canvas.Pen.Color:=clBlack;

PaintBox.Canvas.Rectangle(0,0,400,400);


PaintBox.Canvas.Brush.Color:=clBlue;

PaintBox.Canvas.Pen.Color:=clBlue;

Randomize;

// определение начального положения частиц

for i:=1 to N do

begin

// начальные координаты

mol[i].x:=RandomRange(R, PaintBox.Width-R);

mol[i].y:=RandomRange(R, PaintBox.Height-R);

// начальное направление движения

mol[i].angle:=Random(360)*Pi/180;

mol[i].speed:=RandomRange(1, Vmax);

// cоставляющиедвижениячастицыпоосям

mol[i].Vx := Round(mol[i].speed * Sin(mol[i].angle));

mol[i].Vy := Round(mol[i].speed * Cos(mol[i].angle));

// выводнаэкран

PaintBox.Canvas.Ellipse(mol[i].x-R, mol[i].y-R, mol[i].x+R, mol[i].y+R);

end;

Run:=True;

repeat

for i:=1 to N do

begin

// стираеммолекулу

PaintBox.Canvas.Brush.Color:=clBlack;

PaintBox.Canvas.Pen.Color:=clBlack;

PaintBox.Canvas.Ellipse(mol[i].x-R, mol[i].y-R, mol[i].x+R, mol[i].y+R);

// обработка столкновения

for j:=1 to n do

if j<>i then

begin

// определяем столкновение молекулы

if sqrt(sqr(mol[i].x-mol[j].x)+sqr(mol[i].y-mol[j].y))<2*R+1 then

begin

temp:=mol[i].Vx; mol[i].Vx:=mol[j].Vx; mol[j].Vx:=temp;

temp:=mol[i].Vy; mol[i].Vy:=mol[j].Vy; mol[j].Vy:=temp;

end;

end;

// сдвигаем на новую позицию.

mol[i].x:=mol[i].x+mol[i].Vx;

mol[i].y:=mol[i].y+mol[i].Vy;

// проверка на выход за границы области

if mol[i].x>PaintBox.Width-R then

begin

mol[i].x:=PaintBox.Width-R;

mol[i].Vx:=-mol[i].Vx;

end;

if mol[i].x<R then

begin

mol[i].x:=R;

mol[i].Vx:=-mol[i].Vx;

end;

if Mol[i].y>PaintBox.Height-R then

begin

mol[i].y:=PaintBox.Height-R;

mol[i].Vy:=-mol[i].Vy;

end;

if mol[i].y<R then

begin

mol[i].y:=R;

mol[i].Vy:=-Mol[i].Vy;

end;

// выводнаэкран

PaintBox.Canvas.Brush.Color:=clBlue;

PaintBox.Canvas.Pen.Color:=clBlue;

PaintBox.Canvas.Ellipse(mol[i].x-R, mol[i].y-R, mol[i].x+R, mol[i].y+R);

Application.ProcessMessages;

end;

sleep(5);

Application.ProcessMessages;

if run=false then break;

until false;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Run:=False;

end;

end.

{

// temp:=mol[i].Vx; mol[i].Vx:=mol[j].Vx; mol[j].Vx:=temp;

// temp:=mol[i].Vy; mol[i].Vy:=mol[j].Vy; mol[j].Vy:=temp;

// Random(360)*Pi/180;

mol[j].angle:=360*Pi-mol[j].angle;

// temp:=mol[i].angle; mol[i].angle:=mol[j].angle; mol[j].angle:=temp;

// cоставляющие движения частицы по осям

mol[j].Vx := Round(mol[j].speed * Sin(mol[j].angle));

mol[j].Vy := Round(mol[j].speed * Cos(mol[j].angle));

mol[i].angle:=360*Pi-mol[i].angle;

// cоставляющие движения частицы по осям

mol[i].Vx := Round(mol[i].speed * Sin(mol[i].angle));

mol[i].Vy := Round(mol[i].speed * Cos(mol[i].angle));

// сдвигаем на новую позицию.

mol[i].x:=mol[i].x+mol[i].Vx;

mol[i].y:=mol[i].y+mol[i].Vy;

//mol[j].Vx:=mol[j].Vx+mol[i].Vx;

// mol[j].Vy:=mol[j].Vy+mol[i].Vy;

4.2 Код программы «Построение траектории броуновское движение»

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Timer1: TTimer;

ScrollBar1: TScrollBar;

StaticText1: TStaticText;

Button2: TButton;

Button3: TButton;

Bevel1: TBevel;

ColorDialog1: TColorDialog;

Button4: TButton;

procedure Button1Click(Sender: TObject);

procedure initz;

procedure paint;

procedure ScrollBar1Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

x1,x2,y1,y2,time,tx,ty:integer;

implementation

{$R *.dfm}

procedure tform1.initz;

begin

tx:=136;

ty:=120;

x1:=tx;

y1:=ty;

canvas.MoveTo(x1,y1);

canvas.Pen.Color:=clblue;

canvas.Pen.Width:=3;

scrollbar1.SetParams(80,0,99);

time:=100-scrollbar1.Position;

timer1.Enabled:=false;

end;

procedure tform1.paint;

begin

x2:=random(bevel1.Width)+tx;

y2:=random(bevel1.Height)+ty;

canvas.LineTo(x2,y2);

canvas.Pen.color:=canvas.pen.color+1;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if not timer1.Enabled then

begin

timer1.Enabled:=true;

timer1.Interval:=time;

button1.Caption:='STOP!';

end else

begin

timer1.enabled:=false;

button1.Caption:='GO!';

end;

end;

procedure TForm1.ScrollBar1Change(Sender: TObject);

begin

time:=100-scrollbar1.Position;

timer1.Interval:=time;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

initz;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

repaint;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

paint;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if colordialog1.Execute then

canvas.Pen.color:=colordialog1.Color;

end;

end.

Этапы выполнения программы:



ЗАКЛЮЧЕНИЕ

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

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


ЛИТЕРАТУРА

Архангельский А.Я. «Программирование в Delphi». Учебник по классическим версиям Delphi. – М.: ООО «Бином-Пресс», 2006

Барлет М.С. «Введение в теория случайных процессов»

Булинский А.В., Ширяев А.Н. «Теория случайных процессов». ―М.:

ФИЗМАТЛИТ, 2005 г

Кроновер Р.М. «Фракталы и хаос в динамических системах. Основы теории». Москва: Постмаркет, 2000 г.

Миллер Б.М., Панков А.Р. « Теория случайных процессов»

«Немного о фракталах» http://edu.ioffe.ru


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Подогнать готовую курсовую под СТО

Курсовая, не знаю

Срок сдачи к 7 дек.

только что
только что

Выполнить задания

Другое, Товароведение

Срок сдачи к 6 дек.

1 минуту назад

Архитектура и организация конфигурации памяти вычислительной системы

Лабораторная, Архитектура средств вычислительной техники

Срок сдачи к 12 дек.

1 минуту назад

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

Курсовая, профилактики травматизма, медицина

Срок сдачи к 5 дек.

2 минуты назад

краткая характеристика сбербанка анализ тарифов РКО

Отчет по практике, дистанционное банковское обслуживание

Срок сдачи к 5 дек.

2 минуты назад

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

Лабораторная, Моделирование, математика

Срок сдачи к 10 дек.

4 минуты назад

Проектирование заготовок, получаемых литьем в песчано-глинистые формы

Лабораторная, основы технологии машиностроения

Срок сдачи к 14 дек.

4 минуты назад

2504

Презентация, ММУ одна

Срок сдачи к 7 дек.

6 минут назад

выполнить 3 задачи

Контрольная, Сопротивление материалов

Срок сдачи к 11 дек.

6 минут назад

Вам необходимо выбрать модель медиастратегии

Другое, Медиапланирование, реклама, маркетинг

Срок сдачи к 7 дек.

7 минут назад

Ответить на задания

Решение задач, Цифровизация процессов управления, информатика, программирование

Срок сдачи к 20 дек.

7 минут назад
8 минут назад

Все на фото

Курсовая, Землеустройство

Срок сдачи к 12 дек.

9 минут назад

Разработка веб-информационной системы для автоматизации складских операций компании Hoff

Диплом, Логистические системы, логистика, информатика, программирование, теория автоматического управления

Срок сдачи к 1 мар.

10 минут назад
11 минут назад

перевод текста, выполнение упражнений

Перевод с ин. языка, Немецкий язык

Срок сдачи к 7 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно