Самоучитель по Matlab
Некоторые возможности MATLAB:
Работа с матрицами и векторами. Позволяет выполнять математические операции, такие как сложение, умножение и деление. Например, для умножения матриц достаточно ввести A * B, где A и B — матрицы.
Визуализация данных. Предлагает широкий выбор встроенных функций для построения графиков и диаграмм. С помощью команд plot, scatter и bar можно визуализировать данные в различных формах.
Разработка алгоритмов. Позволяет создавать функциональные модули, которые можно повторно использовать в других проектах. MATLAB позволяет создавать модули, обёртывать их в функции и писать собственные библиотеки.
Моделирование и управление системами. Например, дополнение к MATLAB — Simulink — поддерживает графическое моделирование и анализ динамических систем.
Поддержка различных типов данных. Включает числа, строки, массивы и структуры данных.
Разработка приложений и интерфейсов с помощью графического пользовательского интерфейса (GUI).
-
Данные о системных ресурсах и пакетах расширения
Версии Windows 98, Millennium Edition, NT4,2000, как и Windows 95 OSR2 и старше, поступают к вам с уже установленным программным обеспечением OpenGL. Но для того, чтобы использовать новый, впервые введенный в MATLAB 6 режим рендеринга графики Open GL, на компьютеры Windows 95 версий ниже OSR2 вам необходимо предварительно установить программное обеспечение Open GL
Визуализация и графические средства
Техническая документация по системе
MATLAB в Интернете
Главная страница фирмы MathWorks
Регистрация через Интернет
Поддержка системы MATLAB фирмой MathWorks
MATLAB в образовании
Обновление системы MATLAB через Интернет
Доступ к FTP-серверу фирмы MathWorks
Данные о системных ресурсах и пакетах расширения
История появления системы MATLAB
Что нового мы узнали?
Возможности прежних версий MATLAB 4.x
Возможности версий MATLAB 5.x
Возможности новейшей версии MATLAB 6
Интеграция с другими программными системами
Ориентация на матричные операции
Расширяемость системы
Мощные средства программирования
-
Дефрагментация рабочей области
По мере задания одних переменных и стирания других рабочая область перестает быть непрерывной и начинает содержать дыры и всякий «мусор». Это рано или поздно может привести к ухудшению работы системы или даже к нехватке оперативной памяти. Подобная ситуация становится возможной, если вы работаете с достаточно большими массивами данных
Константы и системные переменные
Текстовые комментарии
Переменные и присваивание им значений
Уничтожение определений переменных
Операторы и функции
Применение оператора: (двоеточие)
Сообщения об ошибках и исправление ошибок
Форматы чисел
Особенности задания векторов и матриц
Установка и файловая система MATLAB
Объединение малых матриц в большую
Удаление столбцов и строк матриц
Дефрагментация рабочей области
Сохранение рабочей области сессии
Ведение дневника
Загрузка рабочей области сессии
Завершение вычислений
Завершение работы с системой
Запуск MATLAB и работа в режиме диалога
Новый и старый облик системы MATLAB 6.0
Операции строчного редактирования
Команды управления окном
MATLAB в роли суперкалькулятора
О переносе строки в сессии
Понятие о математическом выражении
-
Анимация в пространстве — аттрактор Лоренца
Современная трехмерная графика — одна из причин большой популярности системы MATLAB. В этом разделе мы не будем рассматривать конкретные реализации тех или иных видов трехмерной графики. Вы можете самостоятельно вывести на экран дисплея текст (листинг) любого файла примеров трехмерной графики с помощью команды type.
Встроенные фигуры
В паутине нейронных сетей
Просмотр текстов примеров и m-файлов
Меню Help
Запуск справочной системы
Виды работы справочной системы
Работа с индексным каталогом
Поиск по всей справке
Новые функции системы MATLAB 6.0
Вызов списка разделов интерактивной справки
Поиск функций по имени
Просмотр документации в формате PDF
Вызов галереи демонстраций
Демонстрационные примеры Simulink
Копирование демонстрационных примеров
Справка по конкретному объекту
Справка по группе объектов
Справка по ключевому слову
Дополнительные справочные команды
Вызов списка демонстрационных примеров
Пример — тест на быстродействие компьютера
Что больше — e ^ pi или pi ^ e?
-
Браузер файловой структуры
Для просмотра файловой структуры MATLAB служит специальный браузер файловой системы (Path Browser), который запускается при обычной загрузке системы. Если был установлен упрощенный интерфейс, то для запуска браузера файловой системы используется окно Current Directory (Текущая папка)
Браузер рабочей области
Команды просмотра рабочей области who и whos
Браузер файловой структуры
Команды, операции и параметры
Меню системы
Подменю File
Открытие окон для подготовки новых файлов
Загрузка и сохранение файлов
Установка путей доступа файловой системы
Общая характеристика пользовательского интерфейса
Настройка элементов интерфейса
Обеспечение печати — команды Print и Print Selection
Меню Edit — средства редактирования документов
Меню View и Window
Интерфейс редактора/отладчика m-файлов
Цветовые выделения и синтаксический контроль
Понятие о файлах-сценариях и файлах-функциях
Панель инструментов редактора и отладчика
Работа с точками прерывания
Обзор интерфейса графических окон
Упрощенный интерфейс
Панель инструментов камеры обзора
Меню инструментов Tools
Вращение графиков мышью
Операции вставки
Работа с папками
Выполнение команд !, dos, unix и vms
Общение с Интернетом из командной строки
Некоторые другие команды
Средства панели инструментов
Вызов окна открытия нового файла
Вызов окна загрузки имеющегося файла
Операции с буфером обмена
Отмена результата предшествующей операции
Запуск приложения Simulink
-
Цветные плоские круговые диаграммы
Закрашенные секторы часто используются для построения круговых диаграмм. Для этого в MATLAB служит команда piе:
Угловые гистограммы
Графики векторов
График проекций векторов на плоскость
Контурные графики
Создание массивов данных для трехмерной графики
Графики поля градиентов quiver
Построение графиков поверхностей
Сетчатые 3D-графики с окраской
Сетчатые 3D-графики с проекциями
Построение графиков отрезками прямых
Построение поверхности столбцами
Построение поверхности с окраской
Построение поверхности и ее проекции
Построение освещенной поверхности
Средства управления подсветкой и обзором фигур
Построение графиков функций трех переменных
График трехмерной слоеной поверхности
Tрехмерные контурные графики
Установка титульной надписи
Установка осевых надписей
Графики в логарифмическом масштабе
Ввод текста в любое место графика
Позиционирование текста с помощью мыши
Вывод пояснений
Маркировка линий уровня на контурных графиках
Управление свойствами осей графиков
Включение и выключение сетки
Наложение графиков друг на друга
Разбиение графического окна
Изменение масштаба графика
Установка палитры цветов
Графики в полулогарифмическом масштабе
Установка соответствия между палитрой цветов и масштабом осей
Окраска поверхностей
Установка палитры псевдоцветов
Создание закрашенного многоугольника
Окраска плоских многоугольников
Вывод шкалы цветов
Цветные плоские круговые диаграммы
Другие команды управления световыми эффектами
Окрашенные многоугольники в пространстве
Ветные объемные круговые диаграммы
Столбцовые диаграммы
Построение цилиндра
Построение сферы
Трехмерная графика с треугольными плоскостями
Что нового мы узнали?
Построение гистограмм
Лестничные графики — команды stairs
Графики с зонами погрешности
График дискретных отсчетов функции
-
Дескрипторы объектов
Дескриптор объектов root всегда равен 0, а дескриптор объектов figure (рисунок) — это целое число, указывающее на номер графического окна. Дескрипторы других объектов — это числа с плавающей запятой. По значениям дескрипторов MATLAB идентифицирует объекты. Дескриптор одного такого объекта представляет собой одно число, а если объектов несколько — несколько чисел (вектор)
Дескрипторы объектов
Операции над графическими объектами
Свойства объектов — команда get
Изменение свойств объекта — команда set
Управление работой средств OpenGL
Управление прозрачностью графических объектов
Примеры, иллюстрирующие возможности дескрипторной графики
Основные команды для создания пользовательского интерфейса
Пример создания объекта интерфейса
Движение точки на плоскости
Растровая графика
Пакет прикладных программ Images
Примеры применения пакета Images
Примеры программирования задач со средствами пакета Images
Галерея трехмерной графики
Движение точки в пространстве
Основные средства анимации
Вращение фигуры — логотипа MATLAB
Волновые колебания мембраны
Объекты дескрипторной графики
Создание графического окна и управление им
Создание координатных осей и управление ими
-
Алгебраические и арифметические функции
В системе MATLAB определены следующие алгебраические и арифметические функции
Алгебраические и арифметические функции
Тригонометрические и обратные им функции
Гиперболические и обратные им функции
Функции округления и знака
Функции комплексного аргумента
Арифметические операторы и функции
Операторы отношения и их функции
Логические операторы
Специальные символы
Системные переменные и константы
Функции поразрядной обработки
Функции обработки множеств
Функции времени и даты
-
Бета-функция и ее варианты
beta(Z.W) — возвращает бета-функцию для соответствующих элементов комплексных массивов Z и W. Массивы должны быть одинакового размера (или одна из величин может быть скаляром)
Функции Бесселя
Бета-функция и ее варианты
Эллиптические функции и интегралы
Функции ошибки
Интегральная показательная функция
Гамма-функция и ее варианты
Ортогональные полиномы Лежандра
-
Функции формирования матриц
Для создания матриц, состоящих из других матриц, используются следующие функции
Перестановки элементов матриц
Вычисление произведений
Суммирование элементов
Функции формирования матриц
Поворот матриц
Выделение треугольных частей матриц
Вычисление сопровождающей матрицы
Вычисление тестовых матриц
Матрицы Адамара
Матрицы Ганкеля
Создание единичной матрицы
Матрицы Гильберта
Вычисление магического квадрата
Матрицы Паскаля
Матрицы Теплица
Матрицы Уилкинсона
Матричные функции
Создание матрицы с единичными элементами
Создание матрицы с нулевыми элементами
Создание линейного массива равноотстоящих точек
Создание вектора равноотстоящих в логарифмическом масштабе точек
Создание массивов со случайными элементами
Создание массивов со случайными элементами - 2
Конкатенация матриц
Создание матриц с заданной диагональю
-
Функции приведения матрицы к треугольной форме
В строго треугольной матрице нули находятся и на главной диагонали. В линейной алгебре часто используется приведение матриц к той или иной треугольной форме. Оно реализуется следующими функциями
LU- и QR-разложения
Вычисление собственных значений и сингулярных чисел
Приведение матриц к форме Шура и Хессенберга
Вычисление нормы и чисел обусловленности матрицы
Определитель и ранг матрицы
Определение нормы вектора
Определение ортонормированного базиса матрицы
Функции приведения матрицы к треугольной форме
Определение угла между двумя подпространствами
Вычисление следа матрицы
Разложение Холецкого
-
Алгоритмы упорядочения
Для несимметрической матрицы S вектор упорядоченности столбцов р такой, что S(:. р) будет иметь более разреженные L и U в LU-разложении, чем S. Такое упорядочение автоматически применяется при выполнении операций обращения \ и деления /, а также при решении систем линейных уравнений с разреженными матрицами
Элементарные разреженные матрицы
Реобразование разреженных матриц
Работа с ненулевыми элементами разреженных матриц
Визуализация разреженных матриц
Алгоритмы упорядочения
Норма, число обусловленности и ранг разреженной матрицы
Разложение Холецкого разреженных матриц
LU-разложение разреженных матриц
-
Доступ к отдельному элементу многомерного массива
Таким образом, в многомерных массивах используется то же правило индексации, что и в одномерных и двумерных. Произвольный элемент, например, трехмерного массива задается как М(1 .j.k), где 1 — номер строки, j — номер столбца и k — номер страницы. Этот элемент можно вывести, а можно присвоить ему заданное значение х: М(1 ,j,k)=x.
Вычисление размера размерности массива
Перестановки размерностей массивов
Сдвиг размерностей массивов
Удаление единичных размерностей
Понятие о многомерных массивах
Применение оператора : в многомерных массивах
Доступ к отдельному элементу многомерного массива
Удаление размерности в многомерном массиве
Создание страниц, заполненных константами и случайными числами
Использование функций ones, zeros, rand и randn
Объединение массивов
Вычисление числа размерностей массива
-
Функция присваивания значений полям
struct('fieldl' .VALUES1, 'field2' .VALUES2,...) — возвращает созданную данной функцией структуру, содержащую указанные в параметрах поля 'fieldn' с их значениями ' VALUESn'. Значением может быть массив ячеек
Тип данных — структуры
Создание структур и доступ к их компонентам
Функция создания структур
Проверка имен полей и структур
Функция возврата имен полей
Функция возврата содержимого полей структуры
Функция присваивания значений полям
Удаление полей
-
Функции преобразования типов данных
num2cell (A,DIM) — преобразует массив чисел А в массив ячеек, помещая в одну и ту же ячейку элементы, соответствующие одному значению индекса вдоль измерения, указанного параметром DIM. Например, num2cell (A.2) преобразует каждый ряд массива А в отдельную ячейку. cat(DIM.C{:}) осуществляет обратное преобразование
Создание массивов ячеек
Создание ячеек с помощью функции cell
Визуализация массивов ячеек
Создание строкового массива ячеек из массива символов
Присваивание с помощью функции deal
Тестирование имен массивов ячеек
Функции преобразования типов данных
Многомерные массивы ячеек
-
Аппроксимация Лапласиана
Матрица L имеет тот же размер, что и матрица U, и каждый ее элемент равен разности элемента массива U и среднего значения четырех его соседних элементов (для узлов сетки во внутренней области). Для вычислений используется пятиточечная формула аппроксимации Лапласиана
Квазиминимизация невязки — функция qmr
Вычисление нулей функции одной переменной
Минимизация функции одной переменной
Минимизация функции нескольких переменных
Аппроксимация Лапласиана
Апроксимация производных конечными разностями
Вычисление градиента функции
Численное интегрирование
Метод трапеций
Элементарные средства решения СЛУ
Численное интегрирование методом квадратур
Работа с полиномами
Умножение и деление полиномов
Вычисление полиномов
Вычисление производной полинома
Решение полиномиальных матричных уравнений
Разложение на простые дроби
Решение обыкновенных дифференциальных уравнений
Решатели ОДУ
Использование решателей систем ОДУ
Функции для решения систем линейных уравнений с ограничениями
Описание системы ОДУ
Дескрипторная поддержка параметров решателя
Пакет Partial Differential Equations Toolbox
Решение СЛУ с разреженными матрицами
Точное решение, метод наименьших квадратов и сопряженных градиентов
Двунаправленный метод сопряженных градиентов
Устойчивый двунаправленный метод
Метод сопряженных градиентов
Квадратичный метод сопряженных градиентов
-
Анализ попадания точек внутрь полигона
IN=inpolygon(X,Y.xv.yv) — возвращает матрицу IN того же размера, что X и Y. Каждый элемент матрицы IN принимает одно из значений — 1, 0.5 или 0 — в зависимости от того, находится ли точка с координатами (X(p,q),Y(p,q)) внутри полигона, вершины которого определяются векторами xv и yv
Анализ попадания точек внутрь полигона
Построение диаграммы Вороного
Преобразования Фурье
Функции одномерного прямого преобразования Фурье
Функции многомерного прямого преобразования Фурье
Функция перегруппировки
Функции обратного преобразования Фурье
Функция свертки и обратная ей функция
Функция свертки двумерных массивов
Нахождение максимального и минимального элементов массива
Дискретная одномерная фильтрация
Двумерная фильтрация
Функция коррекции фазовых углов unwrap
Интерполяция и аппроксимация данных
Полиномиальная регрессия
Интерполяция периодических функций рядом Фурье
Интерполяция на неравномерной сетке
Одномерная табличная интерполяция
Двумерная табличная интерполяция
Трехмерная табличная интерполяция
Нахождение средних, срединных значений массива и стандартных отклонений
N-мерная табличная интерполяция
Интерполяция кубическим сплайном
Средства обработки данных в графическом окне
Полиномиальная регрессия для табличных данных
Оценка погрешности аппроксимации
Сплайновая интерполяция в графическом окне
Эрмитовая многоинтервальная интерполяция
Сравнение сплайновой и эрмитовой интерполяции
Функции сортировки элементов массива
Вычисление коэффициентов корреляции
Вычисление матрицы ковариации
Триангуляция
Расчет триангуляции
Нахождение выпуклой оболочки
-
Функции преобразования систем счисления
dec2bin(d) — возвращает строку двоичных символов (0 и 1), эквивалентную десятичному числу d. Аргумент d должен быть неотрицательным целым числом, меньшим чем 2
Операции над строками
Преобразование символов и строк
Функции преобразования систем счисления
Вычисление строковых выражений
-
Операции над форматированными файлами
count = fprintf(fid.format,A....) — форматирует данные, содержащиеся в действительной части матрицы А, под контролем строки format и записывает их в файл с идентификатором fid. Функция fprintf возвращает число записанных байтов. Значение идентификатора fid — целое число, возвращаемое функцией fopen
Операции с двоичными файлами
Операции над форматированными файлами
Позиционирование файла
Специализированные файлы
-
Частные каталоги
Если вы решили отказаться от применения измененного файла, достаточно стереть его в частном каталоге. Такая возможность связана с тем, что интерпретатор при поиске m-файла прежде всего просматривает частный каталог и интерпретирует найденный в нем файл. И только если файл не найден, ищется файл в родительском каталоге
Статус переменных и команда global
Использование подфункций
Частные каталоги
Вывод сообщений об ошибках
Функция lasterr и обработка ошибок
Функции подсчета числа аргументов
Переменные varargin и varargout
Комментарии
Особенности выполнения m-файлов функций
Основные понятия программирования
Создание Р-кодов
Управляющие структуры
Диалоговый ввод
Условный оператор
Циклы типа for...end
Циклы типа while...end
Конструкция переключателя
Конструкция try...catch...end
Создание паузы в вычислениях
Понятие об объектно-ориентированном программировании
Основные средства программирования
Создание класса или объекта
Проверка принадлежности объекта к заданному классу
Другие функции объектно-ориентированного программирования
Основные типы данных
Виды программирования
Двойственность операторов, команд и функций
Некоторые ограничения
Структура и свойства файлов сценариев
Статус переменных в функциях
-
Команды отладки программ
Для перехода в командный режим отладки в m-файл следует включить команду keyboard. Ее можно запустить и в командном режиме
Построение диаграмм Парето
Работа с системой контроля версий
Общие замечания по отладке m-файлов
Команды отладки программ
С пронумерованными строками
Установка, удаление и просмотр точек прерывания
Управление исполнением m-файла
Просмотр рабочей области
Профилирование m-файлов
Создание итогового отчета
-
Демонстрация возможностей работы со звуком
Эта команда служит для комплексной демонстрации возможностей работы со звуком. Она выводит диалоговое окно, которое позволяет выбрать несколько видов звукового сигнала, создать для них массив данных звука и воспроизвести звук (если компьютер оснащен звуковой картой, совместимой с Sound Вlastеr)
Демонстрация возможностей работы со звуком
-
Communications Toolbox
Пакет прикладных программ для построения и моделирования разнообразных телекоммуникационных устройств: цифровых линий связи, модемов, преобразователей сигналов и др. Имеет богатейший набор моделей самых различных устройств связи и телекоммуникаций. Содержит ряд интересных примеров моделирования коммуникационных средств
Spline Toolbox
Statistics Toolbox
Optimization Toolbox
Partial Differential Equations Toolbox
Control System Toolbox
Nonlinear Control Design Toolbox
Robust Control Toolbox
Model Predictive Control Toolbox
(Мю)-Analysis and Synthesis
Вывод списка пакетов расширения
Stateflow
Quantitative Feedback Theory Toolbox
LMI Control Toolbox
System Identification Toolbox
Frequency Domain System Identification Toolbox
Communications Toolbox
Digital Signal Processing (DSP) Blockset
Fixed-Point Blockset
Signal Processing Toolbox
Higher-Order Spectral Analysis Toolbox
Simulink for Windows
Image Processing Toolbox
Wavelet Toolbox
Financial Toolbox
Mapping Toolbox
Power System Blockset
Data Acquisition Toolbox и Instrument Control Toolbox
Database toolbox и Virtual Reality Toolbox
Excel Link
MATLAB Compiler
Real Time Windows Target и Workshop
Report Generator для MATLAB и Simulink
Neural Networks Toolbox
Fuzzy Logic Toolbox
Symbolic Math Toolbox
Пакеты математических вычислений