- •Предисловие
- •Введение
- •Зачем нужен такой практикум?
- •О чем сказано далее
- •О системе 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
Рис. 5. Силы, действующие на математический маятник в поле тяжести
вторая часть войдет в функцию типа Run_Beats. Если у Вас не получится выполнить это задание самостоятельно, ознакомьтесь с текстами функций в директории WAVEPAK.
3.Об использовании безразмерных переменных
Во многих задачах бывает полезно вводить безразмерные переменные. (Это относится, разумеется, не только к работам с применением компьютера.) Показать, как это можно сделать и чем это удобно, лучше всего на конкретном примере.
Рассмотрим задачу о движении математического маятника – грузика массы m, подвешенного в поле тяжести на невесомом стержне длины l (рис. 5). Будем считать также, что маятник движется в одной плоскости.
Пусть на маятник действуют сила трения, пропорциональная скорости грузика, Fтр = −Av, и внешняя переменная сила F (t) = F cos Ωt, направленная горизонтально. (Можно представлять, что маятник помещен в большой плоский конденсатор с вертикальными пластинами, к которым приложено переменное напряжение, а на грузике находится постоянный заряд). Для удобства сопоставления с текстом программы мы обозначаем угол отклонения маятника от вертикального направления x.
Для угла отклонения нити от вертикали можно записать уравнение
ml |
d2x |
= −mg sin x − Al |
dx |
+ F cos x cos Ωt. |
(1) |
dt2 |
dt |
22
В отсутствие силы трения и внешней переменной силы период малых колебаний
маятника равен, как известно, 2π l/g.
Введем вместо времени t новую переменную τ согласно соотношению t = l/gτ; переменная τ оказывается, очевидно, безразмерной. Тогда уравнение (1) приводит-
ся к виду |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d2x |
= − sin x − a |
dx |
+ f cos x cos ωτ, |
(2) |
|||||||||||
|
dτ2 |
dτ |
|
|||||||||||||
где |
|
|
|
|
|
|
|
|
|
, ω = Ω |
|
|
|
|
|
|
|
a = A |
|
l |
, f = F |
|
l |
– |
(3) |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
m |
g |
|
mg |
g |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
безразмерные величины.
Такое преобразование обнаруживает некоторые законы подобия: зависимость x(τ) (при заданных x(0), dx/dτ(0)) оказывается одной и той же при разных значениях m, l, g, A, F, Ω, если одинаковы составленные из них безразмерные комбинации a, f, ω. Этот факт позволяет существенно сократить объем полного исследования задачи, так как достаточно рассматривать различные значения трех параметров вместо шести. Иначе говоря, результаты исследования одного маятника можно перенести на другие простым изменением масштабов.
Кроме того, при численном определении решения уравнения (2) мы не будем, как правило, иметь дело с величинами, отличающимися друг от друга на много порядков, в то время как для уравнения (1) это вполне могло бы получиться при неудачном выборе единиц измерения. И хотя наш компьютер работает с «размахом» от -308 порядка (realmin) до 308 (realmax), лучше эту возможность не использовать без необходимости. Это позволит, в частности, не осложнять грубые оценки, выполняемые без компьютера.
Переход от уравнения (1) к (2) можно оформить и несколько иначе. Вместо обычных единиц измерения длины, массы и времени выберем «естественные» для данного маятника. За единицу длины примем его длину, за единицу массы – его
массу, а единицу времени выберем такой, чтобы было g = 1 (т.е. равной l/g). Подставив l = m = g = 1 в (1), мы получим уравнение вида (2), в котором величины t, A, F и Ω подразумеваются выраженными в этих «естественных» единицах. Принимая для этих величин обозначения τ, a, f, ω, приходим к (2). Чтобы получить на этом пути соотношения (3), нужно построить из l, m, g множители необходимой размерности. Скажем, сила имеет размерность mg, поэтому запишем F = mgf. Это равенство справедливо в «естественных» единицах и справедливо при переходе к любым другим единицам, если считать f безразмерной величиной, поскольку размерности его левой и правой частей тогда одинаковы. Аналогично могут быть получены и остальные соотношения (3). Именно выбор естественных для
23