. Система математических расчетов MATLAB
Система математических расчетов MATLAB

Система математических расчетов MATLAB

Общие свойства и возможности рабочего стола MATLAB 5

Получение справок (Getting Help) 7

Рабочее пространство системы MATLAB 13

Просмотр и редактирование массивов данных при помощи 13

редактора Array Editor 16

Пути доступа системы MATLAB 18

Операции с файлами 20

Дуальность (двойственность) команд и функций 23

Действия над матрицами в системе MATLAB 24

Двоеточие (Colon) 28

Решение систем линейных уравнений 30

Степени матриц и матричные экспоненты 35

Собственные значения и собственные векторы 37

Полиномы и интерполяция 41

Анализ данных и статистика 50

Многомерные Массивы 65

Создание Многомерных Массивов 66

Организация и хранение данных 74

Массивы структур 75

Массивы ячеек 86

Програмирование на MATLAB-е 97

Типы данных 108

Команды управления данными (Flow Control) 114

Приложение 1. Тематические направления системы MATLAB 121

Приложение 2. Команды общего назначения

(General purpose commands) 123

Приложение 3. Операторы и специальные символы 126

Приложение 4. Элементарные математические функции

(Elementary math functions). 127

Приложение 5. Элементарные матрицы и операции над ними

(Elementary matrices and matrix manipulation)

Приложение 6. - Матричные функции и линейная алгебра

(Matrix functions - numerical linear algebra) 129

Приложение 7. Полиномы и интерполяция

(Interpolation and polynomials) 132

Приложение 8. Анализ данных и преобразование Фурье

(Data analysis and Fourier transforms) 133

Приложение 9. Функции обработки символьных строк

(Character strings) 135

Справочник по базовым функциям

системы MATLAB 137

Система математических расчетов MATLAB

Система MATLAB (сокращение от MATrix LABoratory - МАТричная Лаборатория) разработана фирмой The MathWorks, Inc. (США, г.Нейтик, шт. Массачусетс) и является интерактивной системой для выполнения инженерных и научных расчетов, которая ориентирована на работу с массивами данных. Система использует математический сопроцессор и допускает обращения к программам, написанным на языках Fortran, C и C ++ .

Наиболее известные области применения системы MATLAB:

математика и вычисления;

вычислительный эксперимент, имитационное моделирование;

анализ данных, исследование и визуализация результатов;

научная и инженерная графика;

разработка приложений, включая графический интерфейс

MATLAB – это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, необходимое для программирования на скалярных языках типа Fortran или C. Будучи ориентированной на работу с реальными данными, эта система выполняет все вычисления в арифметике с плавающей точкой, в отличие от систем компьютерной алгебры REDUCE, MACSYMA, DERIVE, Maple, Mathematica, Theorist, где преобладает целочисленное представление и символьная обработка данных.

Система MATLAB – это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М-файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ (Application Toolboxes или просто Toolboxes), которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы.

В действительности Toolboxes – это нечто большое, чем просто набор полезных функ-ций; часто это результат работы многих исследователей по всему миру, которые объеди- няются в группы по самым различным интересам, начиная от нейтронных сетей, дифференциальных уравнений в частных производных, сплайн-аппроксимации, статистики и размытых множеств до проектирования робастных систем управления, теории сигналов, идентификации, а также моделирования линейных и нелинейных динамических систем с помощью исключительно эффективного пакета SIMULINK. Именно поэтому пакеты прикладных программ MATLAB Application Toolboxes, входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировых достижений в разных областях науки и техники.

Вызов и выход из MATLAB

Вызов MATLAB. Для вызова системы MATLAB требуется двойное нажатие на иконку в рабочем столе Windows. При инсталляции MATLAB-а стартовой директорией по умол-чанию является $matlabroot\work, где $matlabroot есть директория, где установлены файл-ы системы MATLAB.

При вызове, система MATLAB автоматически выполняет главный М-файл (master M-file) matlabrc.m., и файл startup.m (есди последний существует). Файл matlabrc.m, которые расположен в директории local, зарезервирован фирмой The MathWorks, а в многопользова-тельских системах может быть использован также системным менеджером. Файл startup.m предназначен для задания ряда стартовых опций (возможностей) по усмотрению пользователя. Вы можете изменить исходные пути доступа (см. далее), ввести заранее определенные переменные в рабочее пространство, изменить текущую директорию и т.д. Стартовый файл startup.m следует ввести в директорию $matlabroot\toolbox\local (более подробно с данным вопросом можно ознакомиться в справочных пособиях по MATLAB-у).

Выход из MATLAB-а. Для окончания сеанса работы с MATLAB следует выбрать опцию Exit MATLAB (Выход из MATLAB) в меню File на рабочем столе MATLAB-а, или напеча-тать quit (Выход) в командном окне Command Window.

При выходе, MATLAB выполняет специальный файл finish.m, относящийся к типу сценари-ев (см. далее) , если только данный файл существует в текущей директории или где-либо на пути доступа системы MATLAB. Файл finish.m создается пользователем. Он должен содер-жать функции или операции, которые пользователь желает автоматически выполнить при выходе из системы MATLAB, например, такие как сохранение рабочего пространства или вызов диалогового окна, запрашивающего подтверждения выхода. В указанной выше дирек-тории $matlabroot\toolbox\local имеются два файла, которые пользователь может использо-вать в качества образца при создании своего файла finish.m:

finishsav.m – Включает функцию save, что приводит к автоматическому запоминанию рабо-чего пространства при выходе из MATLAB-а.

finishdlg.m – Выводит на экран подтверждающее диалоговое окно, которое позволяет анну-лировать выход.

Рабочий стол (desktop) системы MATLAB

Рабочий стол системы MATLAB содержит следующие инструментальные окна, часть из которых не появляется при начальном запуске:

Command Window (Командное Окно) – Выполняет все функции и команды системы

Command History (История Команд) – Просмотр функций, введенных ранее в

Command Window, их копирование и выполнение.

Launch Pad (Окно Запуска) – Запускает все инструменты и обеспечивает доступ ко

всем пакетам системы MATLAB .

Current Directory Browser (Окно Просмотра Текущего Каталога) – Просмотр файлов

MATLAB, а также сопутствующих файлов, а также выполнение таких операций

над файлами, как поиск и открытие файлов.

Help Browser (Окно Просмотра Помощи) – Поиск и просмотр документации по всем

функциям и средствам системы MATLAB.

Workspace Browser (Окно Просмотра Рабочего Пространства) – Просмотр и изменение

содержания рабочего пространства (workspace) системы MATLAB.

Array Editor (Редактор Массивов Данных) – Просмотр содержимого массивов данных,

записанных в виде таблицы и редактирование данных.

Editor/Debugger (Редактор/Отладчик) – Для создания, редактирования и отладки

М-файлов, т.е. файлов, содержащих функции системы MATLAB.

Общий вид рабочего окна MATLAB представлен ниже (рис.1). Каждое из перечисленных окон может быть выведено из конфигурации рабочего стола нажатием кнопки со стрелкой в верхнем правом углу окна (см. рис. 1). Обратная операция, то есть ввод в общую конфигурацию, осуществляется выбором опции Dock в меню View сответствующего окна. Можно также изменить конфигурацию рабочего стола путем перемещения любого откры-того окна в новое положение. Для этого нужно просто нажать левой клавишей мыши на выбранное название окна (Title Bar) и «перетащить» его в желаемое положение.

Для восстановления стандартной конфигурации рабочего стола MATLAB необходимо выбрать опцию Default (По Умолчанию) в подменю Desktop Layout (План Рабочего Стола) в меню View (Вид) любого открытого окна системы. Все окна MATLAB содержат также контекстное меню (context menu), которое вызывается нажатием правой кнопки мыши и содержит наиболее часто применяемые опции (функции), связанные с данным окном.

Таким образом. в системе MATLAB имеется возможность изменения вида рабочего стола путем открытия, закрытия, перемещения или изменения размеров каждого из индивидуаль-ных окон.

Просмотр продуктов Просмотр или Кнопка для

и демонстрационных Вызов изменение текущей вывода окна из состава

роликов помощи Ввод функций директории рабочего стола Закрытие окна

Просмотр и вызов Переход к рабочему Нажатием левой клавиши мыши и перемещением

введенных ранее команд пространству (Workspace) можно изменять границы окон

и к окну текущего каталога

Рис. 1. Общий вид рабочего стола системы MATLAB

Общие свойства и возможности рабочего стола MATLAB

Ниже приводится вид инструментальной панели системы MATLAB и указано назначение основных кнопок.

М-файл Копировать Создать новую модельSimulink

Просмотр или изменение

Открыть файл Undo текущего каталогаю

Выбор использованных ранее

Вырезать Вставить Redo Вызов Помощи (Help) каталогов

Всплывающее окно указателя, Просмотр с целью изменения

описывающее кнопку текущего каталога

Undo – отмена последнего действия; Redo – повторение последнего действия.

Рис. 2. Инструментальная линейка (Toolbar) рабочего стола

Command Window (Командное окно)

1. Выполнение функций и ввод переменных

Приглашение к вводу команды (>>) в Command Window означает, что MATLAB готов к приему. При появлении приглашения >> вы можете ввести переменную или выполнить ко-манду. Например, для создания 3х3 матрицы А следует напечатать

A = [1 2 3; 4 5 6; 7 8 10]

При нажатии клавиш Enter (или Return) после набора строки, MATLAB реагирует выводом следующей записи

При этом переменная (матрица) запоминается в рабочем пространстве (workspace) MATLAB.

Внимание! Система MATLAB чувствительна к выбору регистра, т.е. MATLAB разли-чает переменные а и А ! При написании команды (функции) также не следует использо- вать заглавные буквы !

Для выполнения функций следует напечатать функцию включая все аргументы и нажать Enter. При этом MATLAB отобразит в командном окне результат. Например, напечатав

Если вы хотите ввести несколько командных строк без их немедленного выполнения, вос-пользуйтесь комбинациями Shift+Enter после ввода каждой строки. Последующее нажатие Enter приведет к выполнению всех введенных строк.

Приглашение K>> в командном окне означает, что MATLAB находится в режиме отладки (debug mode). Данный режим будет подробно рассмотрен в дальнейшем.

2. Вычисление выделенных функций и выражений (Evaluating a Selection)

Для вычисления выделенных выражений в командном окне следует нажать правую кнопку мыши и выбрать в контекстном меню опцию Evaluate Selection. Данная операция невозмо-жна если система MATLAB занята, например, выполняет М-файл.

3. Открытие выделения (Opening a Selection)

Для открытия М-файла некоторой функции следует выделить эту функцию в командном окне и выбрать в контекстном меню опцию Open Selection. Это приведет к открытию данно- го файла в окне Редактора/Отладчика (Editor/Debugger).

Внимание! Вы можете одновременно выполнять на MATLAB-е только одну функцию. Если MATLAB выполняет некоторую команду, то все последующие введенные команды запоминаются и выполняются только при окончании предыдущей !

4. Ввод нескольких функций в одну строку

Для ввода нескольких функций в одну командную строку, их нужно разделить точкой с запятой ( ; ). Например, запись трех следующих функций в одной командной строке

format short; x = (1:10)'; logs = [x log10(x)]

и нажатие Enter приведет к выполнению этих функций слева направо и к распечатке таблицы десятичных логарифмов в пределах от 1 до 10.

5. Ввод длинных функций

Если запись не помещается на одной строке, следует использовать три точки, (. ) для обозначения того, что запись будет продолжена на следующей строке; нажать Enter для перехода к следующей строке, и затем продолжить ввод записи. Например,

s = 1 – 1/2 + 1/3 – 1/4 + 1/5 – 1/6 + 1/7 .

1/8 + 1/9 – 1/10 + 1/11 – 1/12;

Для записей с одинарными кавычками, такими как строки символов, кавычки следует ста-вить на каждой строке. Например, вводя следующую длинную строку

headers = ['Author Last Name, Author First Name, ’ .

'Author Middle Initial’]

Author Last Name, Author First Name, Author Middle Initial

Максимальное количество символов в одной строке равно 4096.

6. Окраска и выделение синтаксиса

Некоторые записи появляются в различных цветах с целью облегчить поиск элементов, таких, например, как парных сочетаний if/else. Имеются следующие основные варианты:

При записи строки с начальной кавычкой, она окрашена в лиловый цвет. Когда вы закрываете кавычку, строка становится коричнево-красной.

При написании ключевых слов, таких как зарезервированных для программирования (например, for, else, while и т.д.), а также троеточия (. ), они окрашиваются в синий цвет. Слова, записанные между зарезервированными приобретают структурирован-ный вид, т.е. имеют отступы, облегчающие чтение текста.

Двойное нажатие на начальную или конечную скобку (например, обычную, квадрат-ную [ ], или фигурную < >) приводит к селекции (окрашиванию) всех символов между данной скобкой и ее парой. При введении конечной скобки происходит кратковремен-ное высвечивание соответствующей начальной.

При напечатании символа процента (%), который в системе MATLAB является приз-наком начала строки комментария (эти строки не выполняются), соответствующая строка окрашивается в зеленый цвет.

При вводе команды обращения к операционной системе, которые начинаются с воск- лицательного знака (!), строка окрашивается в золотой цвет.

Сообщения об ошибках имеют красный цвет.

Можно изменить приведенную стандартную окраску, введя соответствующие изменения в опции Preferences в меню рабочего стола File. Там же предусмотрена возможность выбора шрифта и размера символов.

7. Редактирование командной строки

Ниже приводятся некоторые свойства системы MATLAB, дающие экономию времени при вводе:

Свойства буффера обмена. При работе в командном окне целесообразно использовать опции Cut (Вырезать), Copy (Копировать), Paste (Вставить), Undo (Отмена последнего действия), Redo (Повторение последнего действия) из меню Edit (Редактирование), или соответствующие кнопки инструментальной панели (см. рис. 2). Некоторые из этих опций доступны также из контекстного меню командного окна.

Свойства клавиши Tab (Табуляция). MATLAB автоматически завершает имя функции, переменной, названия файла или свойства дескриптора графического объекта (handle graphics property), если вы наберете соответствующие первые несколько букв и нажмете кла-вишу Tab. Если это однозначно определяемое имя, то оно будет автоматически завершено. Если же данные буквы входят в название нескольких функций, то повторное нажатие клавиши Tab вызовет список всех возможных функций. Например, напечатайте cos и наж- мите Tab. Система MATLAB не отреагирует, что означает наличие многих имен начинаю-щихся с cos. При повторном нажатии Tab MATLAB отобразит список всех имеющихся в на- личии подходящих функций:

cos cosh costfun

cos_tr cosint costs_march.

Вызов предыдущих строк. Используйте клавиши стрелок, табуляции и управления на кла-виатуре для повторного вызова, редактирования и повторного использования функций, кото-рые вы ввели ранее. Допустим, вы ввели по ошибке

rho = (1+ sqt(5))/2

При нажатии Enter MATLAB ответит:

Undefined function or variable 'sqt'.

(Неизвестная функция или переменная sqt),

поскольку вы неправильно ввели функцию sqrt (квадратный корень). Вместо того чтобы перепечатывать всю строку, можно нажать клавишу . Предыдущая строка будет повторно отображена. Используя клавишу можно привести курсор в требуемое положение и доба-вить недостающую букву r. Повторные нажатия клавиши вызовут раннее введенные стро-ки. Все вводимые вами функции запоминаются в буфере обмена. При этом можно воспользо- ваться свойством «интеллектуального повторного вызова» (smart recall) для повторного вы-зова ранее введенных функций, которое заключается в том, что достаточно набрать только первые несколько символов из названия требуемой функции. Например, напечатав буквы plo и нажав клавишу мы вызовем последнюю функцию, которая начинается с plo. Данное свойство чувствительно к выбору регистра.

Ниже приводится полный список клавиш, которые можно использовать в командном окне

📎📎📎📎📎📎📎📎📎📎