
- •Предисловие
- •Введение
- •Зачем нужен такой практикум?
- •О чем сказано далее
- •О системе 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
остановки отладки (Quit Debugging). Как было отмечено выше, с помощью пункта меню View/Workspace Browser можно не только просмотреть, но и изменить значение любой переменной. При этом в одном из окон редактора открывается таблица, подобная электронной таблице, и в ней можно не только просматривать, но и исправлять значения перемнных.
7.4. Сравнение алгоритмов: flops и etime
Для определения эффективности алгоритмов принято использовать два параметра - число операций с плавающей запятой (flops) и затраченное время. Функция MATLAB flops сохраняет полное число выполненных операций с плавающей запятой. Команда flops(0) (не flops = 0!) обнуляет счетчик выполненных операций. Таким образом, если вы в начале исполнения вашего алгоритма введете команду flops(0), то команда flops сразу после его завершения даст число операций. Функция clock возвращает текущее время с точностью до сотых долей секунды (см. help clock). При наличии двух таких времен t1 и t2 функция etime(t2,t1) выдает время, прошедшее от t1 до t2. Можно, например, измерить время, требуемое для решения данной линейной системы Ax = b методом исключения Гаусса следующим образом: t = clock; x = A\ b; time = etime(clock,t). Вы можете сравнить это время и число flops с временем решения этой же системы с помощью оператора x = inv(A)*b;. Попробуйте сами сделать это. В версии 4.0 и выше имеются более удобные функции tic и toc.
8.Графика
MATLAB может создавать как плоские графики, так и трехмерные сетчатые поверхности, а также движущиеся графики, или анимацию. Для знакомства с некоторыми графическими возможностями имеющейся у вас версии запустите программу demo.
Основными и наиболее часто употребительными являются графики, которые представляют собой линии, описывающие те или иные численные данные. MATLAB предоставляет набор команд высокого уровня, которые используются для построения таких линий. Это такие команды, как plot, title, axis, text, hist, contour и ряд других, описанных в следующих двух разделах.
134