- •Предисловие
- •Введение
- •Зачем нужен такой практикум?
- •О чем сказано далее
- •О системе 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
Из важных и популярных объектов моделирования опущены задачи, связанные с уравнениями в частных производных, и задачи о фрактальных структурах: практикум рассчитан на ограниченное время.
При выполнении каждого из заданий за основу удобно брать соответствующие простейшие программы, входящие в пакет MPP(Modeling of Physics Phenomena), специально подготовленный для этого практикума. Объединять программы, реализующие разные задания одной задачи, в одну большую программу не стоит.
Отчет студента – это действующая программа, которая демонстрируется преподавателю на месте (плюс ответ на вопросы по физике, решаемые с ее помощью). Письменный отчет при этом не требуется.
1. Введение
1.1.Зачем нужен такой практикум?
Основные применения компьютеров в физических исследованиях – это управление экспериментом (данного вопроса мы не касаемся) и моделирование 2. Цель практикума – ознакомить студентов с некоторыми методами создания и исследования моделей физических явлений. Одновременно происходит изучение языка программирования MATLAB (не в полном объеме, но сразу же на уровне «разговорного»).
Разумеется, работа с моделями не может привести к открытию совершенно нового явления, скажем, элементарной частицы с неожиданными свойствами. Однако именно компьютерное моделирование привело, например, к возникновению нового взгляда на интересное и сложное явление – турбулентность. Кстати, и в работах, приводящих к открытию новых элементарных частиц и исследованию их свойств, моделирование не только используется на этапе проектирования экспериментальных установок, но и является непременной составной частью обработки экспериментальных данных. Расширяется применение компьютерного моделирования в технике. Наконец, моделирование может оказать заметную помощь студенту в изучении физики.
1.2. О чем сказано далее
В пп. 1.3, 1.4 «Введения» кратко сказано о системе MATLAB. Возможно, вы уже имели дело с программированием или использовали какую-либо систему научных
2Разумеется, существует также необходимая «организационная» работа – поиск в ком-
пьютерных сетях полезной информации, редактирование текстов и т.п.
4
расчетов и моделирования (например, MathCad) и не нуждаетесь в «популярных» объяснениях. Тогда достаточно только просмотреть эти пункты. С приложениями следует знакомиться при необходимости.
Физическую постановку задач, методы их решения и рекомендуемые к выполнению задания можно найти в разделах, относящихся к соответствующим задачам.
1.3.О системе MATLAB
Система MATLAB (MATrix LABoratory) давно и успешно разрабатывается фирмой MathWorks. Эта система создана для работы в среде Windows 3.1 (версия 4 и 4.2) и в среде Windows-95(98) (версии начиная с 5.0). Система представляет собой интерактивную среду для вычислений и моделирования, причем она может работать как в режиме непосредственных вычислений, так и в режиме интерпретации написанных программ. Если вы находитесь в системе MATLAB, то, набрав в ответ на приглашение текст
>> y=sin(0.125)
и завершив его нажатием клавиши ENTER , получите в ответ
y=
0.1247
>>
После ввода команды непосредственного вычисления система «интерпретирует» введенные инструкции и осуществляет вычисление. Результат сразу выводится на экран. Помимо обычных алгебраических вычислений система имеет большой набор встроенных функций (см. Приложение E), а также имеется возможность создавать свои собственные функции. Библиотеки функций (кроме встроенных) представляют собой специальные директории, в которых хранятся файлы с текстами функций. Эти тексты интерпретируются системой при обращении к ним и могут использоваться как образцы для написания своих функций.
Имеется также целый набор библиотек, позволяющих строить на экране 2- и 3- мерные изображения. Именно графическое представление результатов делает наши исследования чрезвычайно эффективными. Кроме того, имеется библиотека, которая обеспечивает удобное управление исполнением программ. Краткое описание этих и некоторых других библиотек приведено в Приложении E.
5
1.4.Немного о работе с системой MATLAB
После того как вы кликнули на иконке MATLAB, перед вами появится экран, в верхней части которого имеется строка с выпадающими меню, инструментальная панель с кнопками, реализующими наиболее часто выполняемые действия (рис. 1), и в самом окне - строка запроса в виде двух знаков >>. Это командное окно
MATLAB
Рис. 1. Инструментальная панель командного окна
Стандартное выпадающее меню File содержит такие пункты, как New для создания новых файлов, Open M-file - открытие существующего файла-программы или файла-функции для редактирования, проверки текста или отладки. При использовании этого пункта вам предлагается стандартное окно выбора файлов, а после выбора необходимого файла открывается окно редактора/отладчика m-файлов. Подробнее об m-файлах будет сказано далее, сейчас же достаточно знать, что так называются текстовые файлы с расширением .m, содержащие тексты программсценариев или тексты функций из стандартных или собственных библиотек. В редакторе их можно исправлять, устанавливать точки остановки для отладки, но следует помнить, что для того, чтобы новый, исправленный вариант функции или программы вступил в силу, необходимо стандартным образом (через меню редактора File или с помощью соответствующей кнопки на панели инструментов редактора/отладчика) сохранить измененный файл.
Инструментальная панель (см. рис. 1) командного окна позволяет выполнять требуемые действия простым нажатием на соответствующую кнопку. Большинство кнопок имеют стандартный вид и выполняют стандартные, подобные другим программам действия - это копирование (Copy), открытие файла (Open), печать (Print) и т.д. Следует обратить внимание на кнопку Path Browser, которая позволяет прокладывать пути к разным директориям и делать необходимую директорию текущей, а также на кнопку Workspace Browser, позволяющую просматривать и редактировать переменные в рабочей области.
Команда help, набранная в ответ на запрос, завершаемая нажатием клавиши
6