Учебное пособие. 2-е изд., испр

Вид материалаУчебное пособие
Подобный материал:


Поршнев С. В.
Компьютерное моделирование физических процессов
в пакете MATLAB. + CD:
Учебное пособие. 2-е изд., испр.

ISBN 978-5-8114-1063-7

Год выпуска 2011
Тираж 1000 экз.
Формат 16,5  23,5 см
Переплет: твердый
Страниц 736


Цена 1 198,88 руб.

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

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

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

Предисловие


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

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

Наш выбор из достаточно большого количества специализированных пакетов для математических вычислений в качестве базового программного средства MATLAB обусловлен тем, что:

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

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

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

— в пакет интегрирован математический аппарат, реализующий символьные вычисления.

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

Отметим, что высказанная точка зрения ни в коей мере не ставит под сомнение необходимость издания соответствующей справочной и учебной литературы по MATLAB. Однако при ее выборе читателю следует проявлять определенную осторожность, так как в ряде случаев включенный в них материал оказывается плохо отредактированным, а в некоторых местах неотредактированным, а потому лишенным всякого смысла, вариантом электронного перевода на русский язык англоязычной документации MATLAB. Примером подобной литературы может быть книга [3], по мнению ее авторов являющаяся одновременно научной монографией по математической системе MATLAB и руководством пользователя [3, с. 23], которая, однако, никоим образом не ответствует требованиям, предъявляемым к научным монографиям. Кроме того, практически все примеры использования функций и программ, приводимые авторами [3], заимствованы (при этом некоторые из них с ошибками) из фирменной документации MATLAB. В этой связи, представляется уместным посоветовать пользователям математического пакета при выборе соответствующей литературы помнить бессмертный афоризм Козьмы Пруткова: «Бди!»

Первое издание книги _Компьютерное моделирование физических процессов в пакете MATLAB было выпущено в 2003 г. тиражом 2000 экземпляров и на сегодняшний день стало библиографической редкостью. Во второе издание книги включены разделы, в которых рассматриваются нелинейные физические системы и алгоритмы построения фрактальных объектов. Эти дополнения автор считает наиболее важными, так как нелинейные математические модели, появившись впервые именно в физике, сегодня вышли далеко за ее пределы и используются в различных науках (не только естественных, но и гуманитарных), что привело к возникновению во второй половине ХХ в. появлению новой науки, названной «Нелинейной динамикой».

Кроме того, ко второму изданию прилагается CD-диск, на котором в папке «Файлы MATLAB» размещены компьютерные реализации всех обсуждавшихся в книге m-файлов и m-функций.

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

Поршнев С. В.
Компьютерное моделирование физических процессов
в пакете MATLAB. + CD:
Учебное пособие. 2-е изд., испр.

Оглавление

Предисловие .......... 8

1 Моделирование относительных движений в классической механике .......... 12


1.1. Введение .......... 12

1.2. Построение орбиты Луны в гелиоцентрической системе отсчета .......... 13

1.3. Построение орбиты Марса в системе отсчета, связанной с Землей .......... 21

2 Физические процессы, описываемые дифференциальными уравнениями первого порядка .......... 29


2.1. Моделирование остывания нагретых тел .......... 29

2.2. Алгоритм Эйлера .......... 30

2.3. Программа для решения дифференциальных уравнений первого порядка .......... 31

2.4. Оценка коэффициента остывания по экспериментальным результатам .......... 36

2.5. Решение дифференциальных уравнений методом Рунге–Кутта четвертого порядка .......... 48

2.6. Моделирование радиоактивного распада .......... 50

2.7. Моделирование цепной реакции ядерного взрыва .......... 51

3 Динамика материальной точки .......... 54


3.1. Общая постановка задачи математического описания динамики материальной точки .......... 54

3.2. Движение тел в гравитационном поле без учета трения .......... 55

3.3. Движение тел в гравитационном поле с учетом силы трения .......... 62

4 Задача Кеплера .......... 68


4.1. Введение .......... 68

4.2. Уравнения движения планет .......... 68

4.3. Численное моделирование орбиты .......... 73

4.4. Проверка второго закона Кеплера .......... 75

4.5. Пространство скоростей .......... 84

4.6. Моделирование Солнечной системы .......... 87

5 Моделирование статических электрических и магнитных полей .......... 91


5.1. Электростатическое поле системы неподвижных электрических зарядов .......... 91

5.2. Магнитное поле витка с постоянным током .......... 102

5.3. Магнитное поле соленоида с постоянным током .......... 109

5.4. Магнитное поле тороидальной обмотки с постоянным током .......... 139

5.5. Численное решение уравнений Лапласа и Пуассона .......... 146

6 Моделирование движения электрических зарядов в постоянных электрических и магнитных полях .......... 164


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

6.2. Рассеивание частиц в центральном поле. Опыт Резерфорда .......... 165

6.3. Моделирование движения электрических зарядов в постоянном магнитном поле .......... 178

6.4. Моделирование движения электрических зарядов в постоянных электрических и магнитных полях .......... 183

6.5. Моделирование движения электрических зарядов в неоднородном магнитном поле .......... 187

6.6. Моделирование движения заряда в сложных электростатических полях .......... 208

7 Фурье-анализ непрерывных и дискретных функций .......... 219


7.1. Введение .......... 219

7.2. Разложение периодических сигналов в ряды Фурье .......... 219

7.3. Эффект Гиббса .......... 223

7.4. Спектральный анализ непрерывных функций .......... 228

7.5. Спектральный анализ дискретных функций .......... 232

7.6. Спектральный анализ дискретных функций конечной длительности .......... 235

7.7. Быстрое преобразование Фурье .......... 239

7.8. Влияние длины интервала анализа на точность измерения частоты монохроматического сигнала .......... 243

8 Моделирование колебательных процессов 252


8.1. Линейный гармонический осциллятор .......... 252

8.2. Математический маятник .......... 257

8.3. Затухающие колебания .......... 262

8.4. Вынужденные колебания линейного гармонического осциллятора .......... 263

8.5. Двойной плоский маятник .......... 266

8.6. Маятники с осциллирующей точкой подвеса .......... 275

8.6.1. Компьютерное моделирование математического маятника c точкой подвеса, совершаюшей горизонтальные гармонические колебания .......... 275

8.6.2. Математическая модель маятника c точкой подвеса, совершающей вертикальные гармонические колебания .......... 280

8.6.3. Математическая модель маятника c точкой подвеса, совершающей движение по окружности .......... 285

8.7. Моделирование колебательной химической реакции .......... 289

9 Моделирование волновых явлений .......... 315


9.1. Введение .......... 315

9.2. Моделирование свободных колебаний цепочки связанных осцилляторов .......... 315

9.3. Моделирование вынужденных колебаний цепочки связанных гармонических осцилляторов .......... 330

9.4. Моделирование волновых движений .......... 340

9.5. Фурье-анализ волновых пакетов, движущихся в среде с дисперсией .......... 345

9.6. Моделирование явлений интерференции и дифракции .......... 360

9.7. Геометрическая оптика .......... 373

9.8. Поляризация .......... 378

10 Моделирование систем, состоящих из большого числа частиц, методом молекулярной динамики .......... 382


10.1. Введение .......... 382

10.2. Математическая модель статистической системы .......... 382

10.3. Численный алгоритм решения системы уравнений движения .......... 385

10.4. Моделирование методом молекулярной динамики системы, состоящей из большого числа частиц .......... 389

10.5. Оценка макроскопических характеристик статистической системы .......... 403

10.6. Оценка коэффициентов переноса методом молекулярной динамики .......... 411

10.7. Моделирование фазовых переходов методом молекулярной динамики .......... 416

10.8. Основные итоги .......... 419

11 Методы Монте-Карло 420


11.1. Введение .......... 420

11.2. Численные методы интегрирования функций, зависящих от одной переменной .......... 420

11.3. Основы метода Монте-Карло .......... 424

11.4. Алгоритм генерации случайных чисел с равномерным законом распределения .......... 435

11.5. Алгоритм Метрополиса .......... 438

12 Случайные блуждания .......... 444


12.1. Введение .......... 444

12.2. Одномерные случайные блуждания .......... 444

12.3. Метод случайных блужданий на плоскости .......... 454

12.4. Моделирование движения решеточного газа .......... 473

12.5. Непрерывная модель случайных блужданий .......... 478

13 Моделирование статистической системы в процессе релаксации и состоянии равновесия .......... 481


13.1. Введение .......... 481

13.2. Моделирование процесса релаксации статистической системы .......... 482

13.3. Энтропия .......... 492

14 Компьютерное моделирование микроканонического ансамбля методом Монте-Карло .......... 501


14.1. Микроканонический ансамбль .......... 501

14.2. Моделирование микроканонического ансамбля .......... 502

14.3. Модель Изинга .......... 511

15 Моделирование канонического ансамбля методом Монте-Карло .......... 528


15.1. Введение .......... 528

15.2. Канонический ансамбль .......... 528

15.3. Алгоритм Метрополиса для канонического ансамбля .......... 529

15.4. Моделирование двумерной модели Изинга методом канонического ансамбля .......... 542

16 Моделирование квантовых систем .......... 556


16.1. Введение .......... 556

16.2. Методы численного решения стационарного уравнения Шредингера .......... 558

16.3. Моделирование колебаний двухатомной молекулы в квазиклассическом приближении .......... 570

16.4. Нестационарное уравнение Шредингера .......... 588

16.5. Оценка энергии основного состояния квантовой системы методом Монте-Карло .......... 601

16.6. Оценка энергии основного состояния квантовой системы вариационными методами Монте-Карло .......... 610

17 Моделирование фрактальных объектов .......... 619


17.1. Введение .......... 619

17.2. Избранные понятия фрактальной геометрии и хаотической динамики .......... 619

17.3. Рекурсивный алгоритм построения фрактальных объектов .......... 621

17.4. L-системы и терл-графика .......... 630

17.5. Системы итерированных функций .......... 644

17.6. Методы оценки фрактальной размерности .......... 662

A Основные приемы работы с пакетом MATLAB .......... 674


A.1. Введение в пакет MATLAB .......... 674

A.2. Работа в командном окне .......... 687

A.2.1. Вход в систему MATLAB .......... 687

A.2.2. Интерактивный доступ к справочной информации .......... 688

A.3. Редактирование и повторный вызов командной строки .......... 690

A.3.1. Формат ввода .......... 690

A.3.2. Копия протокола сессии .......... 691

A.4. Создание матриц .......... 691

A.4.1. Явное задание матриц .......... 691

A.4.2. Подматрицы и использование двоеточия .......... 692

A.4.3. Функции построения матриц .......... 694

A.5. Операции, выражения и переменные .......... 694

A.5.1. Правила записи операторов .......... 694

A.5.2. Матричные операции .......... 695

A.6. Операции с массивами .......... 696

A.7. Сохранение данных из рабочей области .......... 696

A.8. Операторы FOR, WHILE, IF, CASE и операторы отношения .......... 696

A.8.1. Цикл FOR .......... 696

A.8.2. Цикл WHILE .......... 698

A.8.3. Условный оператор IF .......... 698

A.8.4. Оператор переключения CASE .......... 698

A.9. Условия (операторы отношения) .......... 699

A.10.Функции MATLAB .......... 700

A.10.1. Скалярные функции .......... 700

A.10.2. Векторные функции .......... 700

A.10.3. Матричные функции .......... 700

B M-файлы .......... 702


B.1. Файлы-программы .......... 702

B.1.1. Файлы-функции .......... 702

B.1.2. Текстовые строки, сообщения об ошибках .......... 706

B.2. Работа с m-файлами .......... 706

B.2.1. Список путей доступа к файлам .......... 707

B.2.2. Использование редактора/отладчика .......... 708

B.2.3. Отладка m-файлов .......... 710

C Создание графического интерфейса пользователя .......... 713

D Оценки погрешностей численного интегрирования .......... 724