- •Предисловие
- •Введение
- •Зачем нужен такой практикум?
- •О чем сказано далее
- •О системе MATLAB
- •Первые задачи
- •Фигуры Лиссажу
- •Биения
- •Волны
- •Основные графические объекты и их использование
- •Отрисовка движущихся кривых
- •Об использовании безразмерных переменных
- •Маятник
- •Свободные колебания
- •Вынужденные колебания
- •Переходные колебания
- •Резонанс
- •О случайном движении
- •Движение частиц в центральном поле
- •Траектория финитного движения
- •Влияние малого возмущения
- •Движение двух частиц
- •Случайные блуждания и диффузия
- •Закономерности случайных блужданий
- •Оценка параметров движения броуновской частицы в жидкости
- •Программа, изображающая случайные блуждания
- •Броуновские частицы в поле тяжести
- •Броуновское движение
- •Случайные силы
- •Корреляционные функции
- •Шары
- •Расчет движения шаров
- •Алгоритм расчета
- •Процедура Balls
- •Динамический хаос
- •Почему движение шаров становится непредсказуемым?
- •Как убедиться в появлении хаоса?
- •Функции распределения
- •Стохастический нагрев и стохастическое охлаждение
- •Потери пучка при прохождении через вещество
- •Эффективные сечения
- •Потери частиц пучка при прохождении слоя
- •Потери энергии
- •Распределение по углам и энергиям
- •Работа с сигналами и модель диодного выпрямителя
- •Работа с сигналами
- •Расчет простейших цепей
- •Статическая модель диода. Решение нелинейных уравнений
- •ПРИЛОЖЕНИЕ
- •Свободные колебания
- •Электрические и магнитные поля
- •Частица в магнитной ловушке
- •Фокусировка пучков частиц
- •Концентрация частиц
- •Приближенные методы решения систем дифференциальных уравнений
- •Моделирование распределения случайных величин
- •Компиляция файлов MATLAB
- •Список литературы
- •Работа в командном окне
- •Вход в систему MATLAB
- •Интерактивный доступ к справочной информации и документации
- •Команда hеlр
- •Команда lookfor
- •Меню Help
- •Редактирование и перевызов командной строки
- •Формат вывода
- •Копия протокола сессии
- •Введение матриц
- •Явное определение матриц
- •Функции построения матриц
- •Операции, выражения и переменные
- •Правила записи операторов
- •Матричные операции
- •Операции с массивами
- •Сохранение данных из рабочей области
- •Операторы for, while, if, case и операторы отношения
- •Цикл for
- •Цикл while
- •Условный оператор if
- •Оператор переключения case
- •Условия (операторы отношения)
- •Функция find
- •Функции MATLAB
- •Скалярные функции
- •Векторные функции
- •Матричные функции
- •M-файлы
- •Файлы-программы, или сценарии
- •Файлы-функции
- •Текстовые строки, сообщения об ошибках, ввод
- •Работа с m-файлами
- •Список путей доступа
- •Работа со списком путей доступа
- •Текущий каталог
- •Средство просмотра и редактирования путей доступа Path Browser
- •Использование редактора/отладчика
- •Отладка m-файлов
- •Сравнение алгоритмов: flops и etime
- •Графика
- •Плоские графики
- •Команда plot
- •Разметка графика и надписи
- •Управление осями при выводе графиков
- •Несколько графиков на листе
- •Специальные виды графиков
- •Столбиковые диаграммы
- •Ступенчатые кривые
- •Гистограммы
- •Изображение функций
- •Трехмерные изображения
- •Одномерная кривая
- •Сеточные поверхности
- •Изолинии
- •Дескрипторная графика (графика низкого уровня)
- •Графические объекты и их иерархия
- •Дескрипторы и работа с ними
- •Свойства графических объектов и работа с ними. Функции get и set
- •Движущиеся графики (анимация)
- •Разработка графического интерфейса пользователя
- •Создание внешнего вида интерфейса
- •Способы взаимодействия графического интерфейса с функциями пользователя
- •Общая структура функции NAME.M графического интерфейса
- •Функционирование графического интерфейса
- •Разработка функции Run
- •Разработка функции Exit
- •Разработка функции Edit
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ФИЗИЧЕСКИЙ ФАКУЛЬТЕТ
Г. Л. Коткин, В. С. Черкасский
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ФИЗИЧЕСКИХ ПРОЦЕССОВ С ИСПОЛЬЗОВАНИЕМ MATLAB
Учебное пособие
Новосибирск
2001
ББК 32.97:53 УДК 53.072
Коткин Г. Л., Черкасский В. С. Компьютерное моделирование физических процессов с использованием MATLAB: Учеб. пособие / Новосиб. ун-т. Новосибирск, 2001. 173 с.
Данное учебное пособие является руководством для компьютерного практику-
ма.
Предназначено для студентов физического факультета НГУ, но может быть руководством по использованию пакета MATLAB студентами и исследователями
других специальностей.
Подготовлено при содействии Федеральной целевой программы “Государственная поддержка интеграции высшего образования и фундаментальной науки на 19972000 годы”, проект N274.
Рецензент кандидат технических наук Ю.М.Прокопьев
Печатается по решению методической комиссии физического факультета НГУ.
c Новосибирский государственный
университет, 2001
Предисловие
Практикум «Компьютерное моделирование физических процессов» под тем или иным названием действовал на физического факультета НГУ более 20 лет. В настоящее время в связи с существенным изменением компьютеров произошел практически полный переход на новую операционную среду с графическим интерфейсом (типа Windows-95). Это предопределило изменения, которые были внесены в практикум. Перед нами стояла задача, не разрушая того полезного, что было наработано в практикуме за годы его эксплуатации, перейти на работу в новой операционной среде и расширить круг задач, которые решаются в практикуме. Кроме того, практикум предназначен студентам, уже имевшим дело с компьютером и знакомым с основными понятиями программирования.
Данное пособие представляет собой существенно переработанное и дополненное пособие, ранее изданное в НГУ [1], которое, в свою очередь, являлось объединением двух работ: Израйлев Ф.М.,Коткин Г.Л., Фрумин Л.Л., Эйдельман С.И. Моделирование физических процессов и явлений. Новосибирск, НГУ, 1986; Коткин Г.Л., Фрумин Л.Л. Моделирование физических явлений: Практикум. Новосибирск, НГУ, 1992.
Существенным отличием данного варианта практикума является использование не универсального языка программирования (как Фортран или Паскаль), а специальной системы MATLAB фирмы MathWorks, созданной для облегчения решения инженерных и научных задач. Поскольку данная система является относительно новой и литература по ней весьма ограничена [2-6], в настоящем пособии она будет описана отдельно. Следует сказать, что эта система является Windowsориентированной 1, интерактивной, допускающей режим непосредственных вычислений как численного, так и аналитического характера, а также режим программирования на специальном языке программирования, работающем в режиме интерпретации. Для решения основных задач курса студентам предлагаются заготовки, которые решают простейшие вопросы и могут служить основой для доработки и усложнения соответствующих моделей. Эти заготовки доступны в виде исходных текстов – так называемых m-файлов.
В предлагаемых задачах затронуты разные подходы к моделированию. Это исследование моделей, движение в которых определяется обыкновенными дифференциальными уравнениями (задачи «МАЯТНИК», «ПЛАНЕТА», «ДИОД»), метод Монте-Карло («СЛУЧАЙНЫЕ БЛУЖДАНИЯ», «БРОУНОВСКОЕ ДВИЖЕНИЕ», «ПОТЕРИ ПУЧКА»), молекулярная динамика («ШАРЫ»).
1Есть версии MATLAB и в операционной системе UNIX.
3