Начало работы с MATLAB
Миллионы инженеров и ученых во всем мире используют MATLAB ® , чтобы анализировать и разработать системы и продукты, преобразовывающие наш мир. Матричный язык MATLAB является самым естественным способом в мире выразить вычислительную математику. Встроенная графика облегчает визуализацию и понимание данных. Окружение рабочего стола способствует экспериментированию, исследованиям и открытиям. Эти средства MATLAB и возможности все строго протестированы и разработаны, чтобы работать совместно.
MATLAB помогает вам воплощать свои идеи за пределами рабочего стола. Можно запустить исследования больших наборов данных и масштабировать до кластеров и облаков. Код MATLAB может быть интегрирован с другими языками, позволив вам развернуть алгоритмы и приложения в сети, предприятии и промышленных системах.
Примеры
- Описание рабочего стола
Ввод операторов в командной строке и просмотр результатов. - Матрицы и массивы
MATLAB работает, в основном, с массивами и матрицами, как в целом, так и с их частями. Матрица является двумерным массивом, часто используемым в линейной алгебре. - Индексация массива
Переменные в MATLAB обычно являются массивами, которые могут содержать много чисел. Когда необходимо получить доступ к выбранным элементам массива, используйте индексацию. - Переменные рабочей области
Рабочая область содержит переменные, которые вы создаете в MATLAB или импортируете из файлов данных или других программ. - Текст и символы
Создайте строковые массивы для текста или создайте символьные массивы для данных. - Вызов функций
MATLAB предлагает большое количество функций, которые выполняют вычислительные задачи. Чтобы вызвать функцию, заключите ее входные параметры в круглые скобки. - 2D и 3D-графики
Графические функции включают 2D и 3-D функции построения графика, чтобы визуализировать данные и передать результаты. - Программирование и скрипты
Самый простой тип программы MATLAB называется скриптом. Скрипт содержит последовательность команд и вызовов функции. - Справка и документация
Все функции имеют сопроводительную документацию, которая включает примеры и описывает входные параметры функции, выходные параметры и синтаксис вызова.
Дистанционное обучение

MATLAB Onramp
Бесплатный двухчасовой онлайновый курс MATLAB
Видео

Начало работы с MATLAB
Получите представление о MATLAB, языке технических вычислений.

Работа в среде разработки
Доступ к инструментам, таким как браузер рабочей области истории команд и редактор переменных, сохраните и загрузите свои данные о рабочей области и управляйте окнами и структурой рабочего стола.
MATLAB – Обзор
MATLAB (матричная лаборатория) – это язык программирования высокого уровня четвертого поколения и интерактивная среда для численных расчетов, визуализации и программирования.
Это позволяет матричные манипуляции; построение графиков функций и данных; реализация алгоритмов; создание пользовательских интерфейсов; взаимодействие с программами, написанными на других языках, включая C, C ++, Java и FORTRAN; анализировать данные; разработать алгоритмы; и создавать модели и приложения.
Он имеет множество встроенных команд и математических функций, которые помогают вам в математических вычислениях, создании графиков и выполнении численных методов.
Сила вычислительной математики MATLAB
MATLAB используется во всех аспектах вычислительной математики. Ниже приведены некоторые часто используемые математические вычисления, где он используется чаще всего:
- Работа с матрицами и массивами
- 2-D и 3-D Печать и графика
- Линейная алгебра
- Алгебраические уравнения
- Нелинейные функции
- Статистика
- Анализ данных
- Исчисление и дифференциальные уравнения
- Численные расчеты
- интеграция
- Трансформации
- Кривая Фитинг
- Различные другие специальные функции
Особенности MATLAB
Ниже приведены основные характеристики MATLAB –
- Это язык высокого уровня для численных расчетов, визуализации и разработки приложений.
- Он также предоставляет интерактивную среду для итеративного исследования, проектирования и решения проблем.
- Он предоставляет обширную библиотеку математических функций для линейной алгебры, статистики, анализа Фурье, фильтрации, оптимизации, численного интегрирования и решения обыкновенных дифференциальных уравнений.
- Он предоставляет встроенную графику для визуализации данных и инструменты для создания пользовательских графиков.
- Интерфейс программирования MATLAB предоставляет инструменты для разработки, позволяющие повысить качество сопровождения кода и максимально повысить производительность.
- Он предоставляет инструменты для создания приложений с пользовательскими графическими интерфейсами.
- Он предоставляет функции для интеграции алгоритмов на основе MATLAB с внешними приложениями и языками, такими как C, Java, .NET и Microsoft Excel.
Это язык высокого уровня для численных расчетов, визуализации и разработки приложений.
Он также предоставляет интерактивную среду для итеративного исследования, проектирования и решения проблем.
Он предоставляет обширную библиотеку математических функций для линейной алгебры, статистики, анализа Фурье, фильтрации, оптимизации, численного интегрирования и решения обыкновенных дифференциальных уравнений.
Он предоставляет встроенную графику для визуализации данных и инструменты для создания пользовательских графиков.
Интерфейс программирования MATLAB предоставляет инструменты для разработки, позволяющие повысить качество сопровождения кода и максимально повысить производительность.
Он предоставляет инструменты для создания приложений с пользовательскими графическими интерфейсами.
Он предоставляет функции для интеграции алгоритмов на основе MATLAB с внешними приложениями и языками, такими как C, Java, .NET и Microsoft Excel.
Использование MATLAB
MATLAB широко используется в качестве вычислительного инструмента в науке и технике, охватывающего области физики, химии, математики и всех технических потоков. Он используется в различных областях, в том числе –
- Обработка сигналов и связь
- Обработка изображений и видео
- Системы управления
- Тест и Измерение
- Вычислительные финансы
- Вычислительная биология
MATLAB – Настройка среды
Настройка локальной среды
Настройка среды MATLAB производится в несколько кликов. Установщик можно скачать здесь .
MathWorks предоставляет лицензионный продукт, пробную версию, а также студенческую версию. Вам необходимо зайти на сайт и немного подождать их одобрения.
После загрузки установщика программное обеспечение можно установить с помощью нескольких кликов.


Понимание среды MATLAB
Среду разработки MATLAB можно запустить из иконки, созданной на рабочем столе. Основное рабочее окно в MATLAB называется рабочим столом. Когда MATLAB запущен, рабочий стол отображается в макете по умолчанию –

Рабочий стол имеет следующие панели –
-
Текущая папка – эта панель позволяет получить доступ к папкам и файлам проекта.



Текущая папка – эта панель позволяет получить доступ к папкам и файлам проекта.
Окно команд – это основная область, где команды можно вводить в командной строке. На это указывает командная строка (>>).
Рабочая область – Рабочая область показывает все переменные, созданные и / или импортированные из файлов.
История команд – эта панель показывает или возвращает команды, которые вводятся в командной строке.
Настройка GNU Octave
Если вы хотите использовать Octave на своем компьютере (Linux, BSD, OS X или Windows), пожалуйста, скачайте последнюю версию с Download GNU Octave . Вы можете проверить данные инструкции по установке для вашей машины.
MATLAB – базовый синтаксис
Среда MATLAB ведет себя как сверхсложный калькулятор. Вы можете вводить команды в командной строке >>.
MATLAB – это интерпретируемая среда. Другими словами, вы даете команду, а MATLAB выполняет ее сразу.
Руки на практике
Введите правильное выражение, например,
5 + 5
И нажмите ENTER
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, MATLAB выполняет его немедленно, и возвращается результат –
ans = 10
Давайте рассмотрим еще несколько примеров –
3 ^ 2 % 3 raised to the power of 2
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, MATLAB выполняет его немедленно, и возвращается результат –
ans = 9
sin(pi /2) % sine of angle 90 o
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, MATLAB выполняет его немедленно, и возвращается результат –
ans = 1
7/0 % Divide by zero
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, MATLAB выполняет его немедленно, и возвращается результат –
ans = Inf warning: division by zero
732 * 20.3
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, MATLAB выполняет его немедленно, и возвращается результат –
ans = 1.4860e+04
MATLAB предоставляет некоторые специальные выражения для некоторых математических символов, таких как pi для π, Inf для ∞, i (и j) для √-1 и т. Д. Nan означает «не число».
Использование точки с запятой (;) в MATLAB
Точка с запятой (;) указывает на конец оператора. Однако, если вы хотите подавить и скрыть вывод MATLAB для выражения, добавьте точку с запятой после выражения.
x = 3; y = x + 5
Когда вы нажимаете кнопку «Выполнить» или нажимаете Ctrl + E, MATLAB выполняет его немедленно, и возвращается результат –
y = 8
Добавление комментариев
Символ процента (%) используется для обозначения строки комментария. Например,
x = 9 % assign the value 9 to x
Вы также можете написать блок комментариев, используя операторы комментариев к блоку% .
Редактор MATLAB включает в себя инструменты и элементы контекстного меню, которые помогут вам добавлять, удалять или изменять формат комментариев.
Обычно используемые операторы и специальные символы
MATLAB поддерживает следующие часто используемые операторы и специальные символы –
| оператор | Цель |
|---|---|
| + | Плюс; оператор сложения. |
| – | Минус; оператор вычитания. |
| * | Скалярный и матричный оператор умножения. |
| . * | Оператор умножения массива. |
| ^ | Скалярный и матричный оператор возведения в степень. |
| . ^ | Оператор возведения в степень массива. |
| \ | Оператор левого деления. |
| / | Оператор правого деления. |
| . \ | Массив левого делителя. |
| ./ | Массив оператора правого деления. |
| : | Двоеточие; генерирует регулярно расположенные элементы и представляет всю строку или столбец. |
| () | Скобки; заключает в себе аргументы функций и индексы массивов; переопределяет приоритет |
| [] | Скобки; элементы массива вложений. |
| , | Десятичная точка. |
| … | Многоточие; оператор продолжения строки |
| , | Comma; разделяет операторы и элементы подряд |
| ; | Точка с запятой; разделяет столбцы и подавляет отображение. |
| % | Знак процента; обозначает комментарий и задает форматирование. |
| _ | Цитировать знак и транспонировать оператора. |
| ._ | Несопряженный оператор транспонирования. |
| знак равно | Оператор присваивания. |
Специальные переменные и константы
MATLAB поддерживает следующие специальные переменные и константы –
| название | Имея в виду |
|---|---|
| анс | Самый последний ответ. |
| прибыль на акцию | Точность точности с плавающей точкой. |
| I, J | Мнимая единица √-1. |
| Inf | Бесконечность. |
| NaN | Неопределенный числовой результат (не число). |
| число Пи | Число π |
Именование переменных
Имена переменных состоят из буквы, за которой следует любое количество букв, цифр или подчеркивания.
MATLAB чувствителен к регистру .
Имена переменных могут быть любой длины, однако MATLAB использует только первые N символов, где N задается функцией namelengthmax .
Сохранение вашей работы
Команда save используется для сохранения всех переменных в рабочей области в виде файла с расширением .mat в текущем каталоге.
save myfile
Вы можете перезагрузить файл в любое время позже, используя команду загрузки .
load myfile
MATLAB – Переменные
В среде MATLAB каждая переменная является массивом или матрицей.
Вы можете назначить переменные простым способом. Например,
x = 3 % defining x and initializing it with a value
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
x = 3
Он создает матрицу 1 на 1 с именем x и сохраняет значение 3 в своем элементе. Давайте посмотрим на другой пример,
x = sqrt(16) % defining x and initializing it with an expression
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
x = 4
Пожалуйста, обратите внимание, что –
- Как только переменная введена в систему, вы можете обратиться к ней позже.
- Переменные должны иметь значения, прежде чем они будут использованы.
- Когда выражение возвращает результат, который не присвоен какой-либо переменной, система назначает его переменной с именем ans, которая может быть использована позже.
Как только переменная введена в систему, вы можете обратиться к ней позже.
Переменные должны иметь значения, прежде чем они будут использованы.
Когда выражение возвращает результат, который не присвоен какой-либо переменной, система назначает его переменной с именем ans, которая может быть использована позже.
sqrt(78)
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
ans = 8.8318
Вы можете использовать эту переменную ANS –
sqrt(78); 9876/ans
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
ans = 1118.2
Давайте посмотрим на другой пример –
x = 7 * 8; y = x * 7.89
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
y = 441.84
Несколько назначений
Вы можете иметь несколько назначений на одной строке. Например,
a = 2; b = 7; c = a * b
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
c = 14
Я забыл переменные!
Команда who отображает все имена переменных, которые вы использовали.
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Your variables are: a ans b c
Команда whos показывает немного больше о переменных –
- Переменные в настоящее время в памяти
- Тип каждой переменной
- Память, выделенная для каждой переменной
- Являются ли они сложными переменными или нет
whos
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
Attr Name Size Bytes Class ==== ==== ==== ==== ===== a 1x1 8 double ans 1x70 757 cell b 1x1 8 double c 1x1 8 double Total is 73 elements using 781 bytes
Команда очистки удаляет все (или указанные) переменные из памяти.
clear x % it will delete x, won't display anything clear % it will delete all variables in the workspace % peacefully and unobtrusively
Длинные Задания
Длинные назначения могут быть расширены до другой строки с помощью эллипсов (…). Например,
initial_velocity = 0; acceleration = 9.8; time = 20; final_velocity = initial_velocity + acceleration * time
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
final_velocity = 196
Формат Команда
По умолчанию MATLAB отображает числа с четырьмя знаками после запятой. Это известно как короткий формат .
Однако, если вы хотите большей точности, вам нужно использовать команду форматирования .
Команда format long отображает 16 цифр после десятичной дроби.
format long x = 7 + 10/3 + 5 ^ 1.2
MATLAB выполнит приведенный выше оператор и вернет следующий результат:
x = 17.2319816406394
format short x = 7 + 10/3 + 5 ^ 1.2
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
x = 17.232
Команда формата банка округляет числа до двух десятичных знаков. Например,
format bank daily_wage = 177.45; weekly_wage = daily_wage * 6
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
weekly_wage = 1064.70
MATLAB отображает большие числа с использованием экспоненциальной записи.
Команда format short e позволяет отображать в экспоненциальной форме с четырьмя десятичными знаками плюс показатель степени.
format short e 4.678 * 4.9
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
ans = 2.2922e+01
Команда format long e позволяет отображать в экспоненциальной форме с четырьмя десятичными знаками плюс показатель степени. Например,
format long e x = pi
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
x = 3.141592653589793e+00
Команда format rat дает наиболее близкое рациональное выражение, полученное в результате вычисления. Например,
format rat 4.678 * 4.9
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
ans = 34177/1491
Создание векторов
Вектор – это одномерный массив чисел. MATLAB позволяет создавать два типа векторов –
- Векторы строк
- Векторы столбцов
Векторы строк создаются путем заключения набора элементов в квадратных скобках с использованием пробела или запятой для разделения элементов.
r = [7 8 9 10 11]
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
r = 7 8 9 10 11
r = [7 8 9 10 11]; t = [2, 3, 4, 5, 6]; res = r + t
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
res = 9 11 13 15 17
Векторы столбцов создаются заключением набора элементов в квадратные скобки с использованием точки с запятой (;) для разделения элементов.
c = [7; 8; 9; 10; 11]
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
c = 7 8 9 10 11
Создание Матрицы
Матрица – это двумерный массив чисел.
В MATLAB матрица создается путем ввода каждой строки в виде последовательности элементов, разделенных пробелами или запятыми, и конец строки обозначается точкой с запятой. Например, давайте создадим матрицу 3 на 3 как –
m = [1 2 3; 4 5 6; 7 8 9]
MATLAB выполнит приведенный выше оператор и вернет следующий результат –
m = 1 2 3 4 5 6 7 8 9
MATLAB – Команды
MATLAB – интерактивная программа для численных расчетов и визуализации данных. Вы можете ввести команду, набрав ее в командной строке MATLAB ‘>>’ в окне команд .
В этом разделе мы предоставим списки часто используемых общих команд MATLAB.
Команды для управления сеансом
MATLAB предоставляет различные команды для управления сеансом. В следующей таблице приведены все такие команды:
| команда | Цель |
|---|---|
| CLC | Очищает командное окно. |
| Чисто | Удаляет переменные из памяти. |
| существовать | Проверяет наличие файла или переменной. |
| Глобальный | Объявляет переменные глобальными. |
| Помогите | Ищет справочную тему. |
| Ищу | Поиск записей справки по ключевому слову. |
| уволиться | Останавливается MATLAB. |
| кто | Перечисляет текущие переменные. |
| Whos | Перечисляет текущие переменные (длинный дисплей). |
Команды для работы с системой
MATLAB предоставляет различные полезные команды для работы с системой, такие как сохранение текущей работы в рабочей области в виде файла и загрузка файла позже.
Он также предоставляет различные команды для других действий, связанных с системой, таких как отображение даты, отображение списка файлов в каталоге, отображение текущего каталога и т. Д.
В следующей таблице приведены некоторые часто используемые системные команды:
| команда | Цель |
|---|---|
| CD | Изменяет текущий каталог. |
| Дата | Отображает текущую дату. |
| удалять | Удаляет файл. |
| дневник | Включает / выключает запись в дневниковый файл. |
| реж | Перечисляет все файлы в текущем каталоге. |
| нагрузка | Загружает переменные рабочей области из файла. |
| дорожка | Отображает путь поиска. |
| PWD | Отображает текущий каталог. |
| спасти | Сохраняет переменные рабочей области в файл. |
| тип | Отображает содержимое файла. |
| какие | Перечисляет все файлы MATLAB в текущем каталоге. |
| wklread | Читает файл электронной таблицы .wk1. |
Команды ввода и вывода
MATLAB предоставляет следующие команды ввода и вывода –
| команда | Цель |
|---|---|
| Индик.точки | Отображает содержимое массива или строки. |
| fscanf | Чтение отформатированных данных из файла. |
| формат | Управляет форматом отображения экрана. |
| fprintf | Выполняет отформатированные записи на экран или в файл. |
| вход | Отображает подсказки и ждет ввода. |
| ; | Подавляет трафаретную печать. |
Команды fscanf и fprintf ведут себя как функции C scanf и printf. Они поддерживают следующие коды формата –
| Код формата | Цель |
|---|---|
| % s | Форматировать как строку. |
| % d | Форматировать как целое число. |
| % е | Формат как значение с плавающей запятой. |
| % е | Формат как значение с плавающей запятой в научной нотации. |
| %г | Формат в наиболее компактной форме:% f или% e. |
| \ п | Вставьте новую строку в выходную строку. |
| \ т | Вставьте вкладку в выходной строке. |
Функция форматирования имеет следующие формы, используемые для числового отображения:
| Функция формата | Отображать до |
|---|---|
| формат короткий | Четыре десятичных знака (по умолчанию). |
| форматировать долго | 16 десятичных цифр. |
| формат короткой электронной | Пять цифр плюс показатель степени. |
| формат длинная электронная | 16 цифр плюс показатели. |
| формат банка | Две десятичные цифры. |
| формат + | Положительный, отрицательный или ноль. |
| формат крыса | Рациональное приближение. |
| формат компактный | Подавляет некоторые переводы строки. |
| свободный формат | Сбрасывает в менее компактный режим отображения. |
Векторные, матричные и матричные команды
В следующей таблице показаны различные команды, используемые для работы с массивами, матрицами и векторами.
| команда | Цель |
|---|---|
| кошка | Объединяет массивы. |
| находить | Находит индексы ненулевых элементов. |
| длина | Вычисляет количество элементов. |
| LINSPACE | Создает равномерно расположенный вектор. |
| logspace | Создает логарифмически разнесенный вектор. |
| Максимум | Возвращает самый большой элемент. |
| мин | Возвращает наименьший элемент. |
| тычок | Продукт каждого столбца. |
| перекроить | Изменяет размер. |
| размер | Вычисляет размер массива. |
| Сортировать | Сортирует каждый столбец. |
| сумма | Суммирует каждый столбец. |
| глаз | Создает идентичную матрицу. |
| те, | Создает массив из них. |
| нули | Создает массив нулей. |
| пересекать | Вычисляет матричные перекрестные произведения. |
| точка | Вычисляет матричные точечные произведения. |
| йе | Вычисляет определитель массива. |
| фактура | Вычисляет обратную матрицу. |
| pinv | Вычисляет псевдообратную матрицу. |
| ранг | Вычисляет ранг матрицы. |
| RREF | Вычисляет приведенную форму ряда эшелонов. |
| клетка | Создает массив ячеек. |
| celldisp | Отображает массив ячеек. |
| cellplot | Отображает графическое представление массива ячеек. |
| num2cell | Преобразует числовой массив в массив ячеек. |
| по рукам | Соответствует спискам ввода и вывода. |
| iscell | Определяет массив ячеек. |
Команды построения
MATLAB предоставляет многочисленные команды для построения графиков. В следующей таблице приведены некоторые из наиболее часто используемых команд для построения графиков:
| команда | Цель |
|---|---|
| ось | Устанавливает пределы оси. |
| fplot | Интеллектуальное построение функций. |
| сетка | Отображает линии сетки. |
| сюжет | Создает график xy. |
| Распечатать | Печать графика или сохранение графика в файл. |
| заглавие | Размещает текст в верхней части сюжета. |
| xlabel | Добавляет текстовую метку к оси X. |
| ylabel | Добавляет текстовую метку к оси Y. |
| оси | Создает объекты осей. |
| близко | Закрывает текущий сюжет. |
| закрыть все | Закрывает все участки. |
| фигура | Открывает новое окно фигуры. |
| gtext | Включает размещение метки с помощью мыши. |
| держать | Замораживает текущий сюжет. |
| легенда | Размещение легенды мышью. |
| обновление | Перерисовывает текущее окно рисунка. |
| задавать | Определяет свойства объектов, таких как оси. |
| подзаговор | Создает участки в подокнах. |
| текст | Размещает строку на рисунке. |
| бар | Создает гистограмму. |
| loglog | Создает лог-лог сюжет. |
| полярный | Создает полярный сюжет. |
| semilogx | Создает полулогичный сюжет. (логарифмическая абсцисса). |
| semilogy | Создает полулогичный сюжет. (логарифмическая ордината). |
| лестница | Создает лестничный участок. |
| стебель | Создает стволовый сюжет. |
MATLAB – M-Files
До сих пор мы использовали среду MATLAB в качестве калькулятора. Тем не менее, MATLAB также является мощным языком программирования, а также интерактивной вычислительной средой.
В предыдущих главах вы узнали, как вводить команды из командной строки MATLAB. MATLAB также позволяет записывать серии команд в файл и исполнять файл как единое целое, например, писать функцию и вызывать ее.
М-файлы
MATLAB позволяет писать два вида программных файлов –
- Скрипты – файлы скриптов – это программные файлы с расширением .m . В этих файлах вы пишете серию команд, которые вы хотите выполнить вместе. Скрипты не принимают входные данные и не возвращают никаких выходных данных. Они оперируют данными в рабочей области.
- Функции – файлы функций также являются программными файлами с расширением .m . Функции могут принимать входные и выходные данные. Внутренние переменные являются локальными для функции.
Скрипты – файлы скриптов – это программные файлы с расширением .m . В этих файлах вы пишете серию команд, которые вы хотите выполнить вместе. Скрипты не принимают входные данные и не возвращают никаких выходных данных. Они оперируют данными в рабочей области.
Функции – файлы функций также являются программными файлами с расширением .m . Функции могут принимать входные и выходные данные. Внутренние переменные являются локальными для функции.
Вы можете использовать редактор MATLAB или любой другой текстовый редактор для создания ваших .m файлов. В этом разделе мы обсудим файлы сценариев. Файл сценария содержит несколько последовательных строк команд MATLAB и вызовов функций. Вы можете запустить скрипт, набрав его имя в командной строке.
Создание и запуск файла скрипта
Для создания файлов скриптов вам необходимо использовать текстовый редактор. Вы можете открыть редактор MATLAB двумя способами:
- Использование командной строки
- Использование IDE
Если вы используете командную строку, введите edit в командной строке. Это откроет редактор. Вы можете напрямую ввести edit и затем имя файла (с расширением .m)
edit Or edit
Приведенная выше команда создаст файл в директории MATLAB по умолчанию. Если вы хотите сохранить все программные файлы в определенной папке, вам придется указать полный путь.
Давайте создадим папку с именем progs. Введите следующие команды в командной строке (>>) –
mkdir progs % create directory progs under default directory chdir progs % changing the current directory to progs edit prog1.m % creating an m file named prog1.m
Если вы создаете файл в первый раз, MATLAB предложит вам подтвердить его. Нажмите Да.

В качестве альтернативы, если вы используете IDE, выберите NEW -> Script. Это также открывает редактор и создает файл с именем Untitled. Вы можете назвать и сохранить файл после ввода кода.
Введите следующий код в редакторе –
NoOfStudents = 6000; TeachingStaff = 150; NonTeachingStaff = 20; Total = NoOfStudents + TeachingStaff . + NonTeachingStaff; disp(Total);
После создания и сохранения файла вы можете запустить его двумя способами:
- Нажав кнопку « Выполнить» в окне редактора или
- Просто введите имя файла (без расширения) в командной строке: >> prog1
Нажав кнопку « Выполнить» в окне редактора или
Просто введите имя файла (без расширения) в командной строке: >> prog1
В командной строке отображается результат –
6170
пример
Создайте файл сценария и введите следующий код –
a = 5; b = 7; c = a + b d = c + sin(b) e = 5 * d f = exp(-d)
Когда приведенный выше код компилируется и выполняется, он дает следующий результат –
c = 12 d = 12.657 e = 63.285 f = 3.1852e-06
MATLAB – Типы данных
MATLAB не требует никакого объявления типа или операторов измерения. Всякий раз, когда MATLAB встречает новое имя переменной, он создает переменную и выделяет соответствующее пространство памяти.
Если переменная уже существует, то MATLAB заменяет исходный контент новым контентом и выделяет новое место для хранения, где это необходимо.
Total = 42
Вышеприведенный оператор создает матрицу 1 на 1 с именем «Total» и сохраняет в ней значение 42.
Типы данных, доступные в MATLAB
MATLAB предоставляет 15 основных типов данных. Каждый тип данных хранит данные в форме матрицы или массива. Размер этой матрицы или массива составляет минимум 0 на 0, и это может увеличиться до матрицы или массива любого размера.
В следующей таблице приведены наиболее часто используемые типы данных в MATLAB.
8-разрядное целое число со знаком
8-битное целое число без знака
16-разрядное целое число со знаком
16-разрядное целое число без знака
32-разрядное целое число со знаком
32-разрядное целое число без знака
64-разрядное целое число со знаком
64-разрядное целое число без знака
числовые данные одинарной точности
числовые данные двойной точности
логические значения 1 или 0, представляют истину и ложь соответственно
символьные данные (строки хранятся как вектор символов)
массив ячеек
массив индексированных ячеек, каждая из которых может хранить массив другого измерения и типа данных
C-подобные структуры, каждая структура имеет именованные поля, способные хранить массив другого измерения и типа данных
ручка функции
указатель на функцию
пользовательские классы
объекты, созданные из определенного пользователем класса
объекты, построенные из класса Java
8-разрядное целое число со знаком
8-битное целое число без знака
16-разрядное целое число со знаком
16-разрядное целое число без знака
32-разрядное целое число со знаком
32-разрядное целое число без знака
64-разрядное целое число со знаком
64-разрядное целое число без знака
числовые данные одинарной точности
числовые данные двойной точности
логические значения 1 или 0, представляют истину и ложь соответственно
символьные данные (строки хранятся как вектор символов)
массив ячеек
массив индексированных ячеек, каждая из которых может хранить массив другого измерения и типа данных
C-подобные структуры, каждая структура имеет именованные поля, способные хранить массив другого измерения и типа данных
ручка функции
указатель на функцию
пользовательские классы
объекты, созданные из определенного пользователем класса
объекты, построенные из класса Java
пример
Создайте файл сценария со следующим кодом –
str = 'Hello World!' n = 2345 d = double(n) un = uint32(789.50) rn = 5678.92347 c = int32(rn)
Когда приведенный выше код компилируется и выполняется, он дает следующий результат –
str = Hello World! n = 2345 d = 2345 un = 790 rn = 5678.9 c = 5679
Преобразование типов данных
MATLAB предоставляет различные функции для преобразования значения из одного типа данных в другой. В следующей таблице приведены функции преобразования типов данных –
| функция | Цель |
|---|---|
| голец | Преобразовать в массив символов (строку) |
| int2str | Преобразовать целочисленные данные в строку |
| mat2str | Преобразовать матрицу в строку |
| num2str | Преобразовать число в строку |
| str2double | Преобразовать строку в значение двойной точности |
| str2num | Преобразовать строку в число |
| native2unicode | Преобразуйте числовые байты в символы Юникода |
| unicode2native | Преобразование символов Юникода в числовые байты |
| base2dec | Преобразовать базовую N числовую строку в десятичное число |
| BIN2DEC | Преобразовать строку двоичного числа в десятичное число |
| dec2base | Преобразовать десятичное число в базовое число N в строке |
| DEC2BIN | Преобразовать десятичное число в двоичное число в строке |
| DEC2HEX | Преобразовать десятичное число в шестнадцатеричное число в строке |
| HEX2DEC | Преобразовать строку шестнадцатеричного числа в десятичное число |
| hex2num | Преобразовать строку шестнадцатеричного числа в число с двойной точностью |
| num2hex | Преобразование одинарных и двойных символов в шестнадцатеричные строки IEEE |
| cell2mat | Преобразовать массив ячеек в числовой массив |
| cell2struct | Преобразовать массив ячеек в массив структур |
| cellstr | Создать массив строк из массива символов |
| mat2cell | Конвертировать массив в массив ячеек с потенциально разными размерами ячеек |
| num2cell | Преобразовать массив в массив ячеек с ячейками одинакового размера |
| struct2cell | Преобразовать структуру в массив ячеек |
Определение типов данных
MATLAB предоставляет различные функции для определения типа данных переменной.
В следующей таблице приведены функции для определения типа данных переменной –
| функция | Цель |
|---|---|
| является | Определить состояние |
| это | Определите, является ли ввод объектом указанного класса |
| iscell | Определите, является ли ввод массивом ячеек |
| iscellstr | Определите, является ли ввод массивом строк |
| ischar | Определить, является ли элемент массивом символов |
| isfield | Определите, является ли входное поле структурным массивом |
| isfloat | Определите, является ли ввод массивом с плавающей точкой |
| ishghandle | Истинно для дескрипторов объектов Handle Graphics |
| isinteger | Определите, является ли ввод целочисленным массивом |
| isjava | Определите, является ли ввод Java-объектом |
| ISLOGICAL | Определите, является ли ввод логическим массивом |
| IsNumeric | Определите, является ли ввод числовым массивом |
| IsObject | Определите, является ли ввод объектом MATLAB |
| реально | Проверьте, является ли входной массив реальным |
| isscalar | Определите, является ли вход скалярным |
| isstr | Определите, является ли ввод символьным массивом |
| isstruct | Определите, является ли ввод структурным массивом |
| isvector | Определите, является ли входной вектор |
| учебный класс | Определить класс объекта |
| validateattributes | Проверьте правильность массива |
| Whos | Перечислите переменные в рабочей области, с размерами и типами |
пример
Создайте файл сценария со следующим кодом –
x = 3 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = 23.54 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x = [1 2 3] isinteger(x) isfloat(x) isvector(x) isscalar(x) x = 'Hello' isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x)
Когда вы запускаете файл, он дает следующий результат –
x = 3 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 23.540 ans = 0 ans = 1 ans = 1 ans = 1 ans = 1 x = 1 2 3 ans = 0 ans = 1 ans = 1 ans = 0 x = Hello ans = 0 ans = 0 ans = 1 ans = 0 ans = 0
MATLAB – Операторы
Оператор – это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. MATLAB предназначен для работы преимущественно с целыми матрицами и массивами. Следовательно, операторы в MATLAB работают как со скалярными, так и нескалярными данными. MATLAB допускает следующие виды элементарных операций –
- Арифметические Операторы
- Операторы отношений
- Логические Операторы
- Побитовые операции
- Операции над множествами
Арифметические Операторы
MATLAB допускает два различных типа арифметических операций –
- Матричные арифметические операции
- Массив арифметических операций
Матричные арифметические операции аналогичны определенным в линейной алгебре. Операции с массивами выполняются поэлементно, как в одномерном, так и в многомерном массиве.
Матричные операторы и операторы массива дифференцируются символом точки (.). Однако, поскольку операция сложения и вычитания одинакова для матриц и массивов, оператор одинаков для обоих случаев. Следующая таблица дает краткое описание операторов –
Дополнение или унарный плюс. A + B добавляет значения, хранящиеся в переменных A и B. A и B должны иметь одинаковый размер, если только один не является скаляром. Скаляр можно добавить в матрицу любого размера.
Вычитание или унарный минус. AB вычитает значение B из A. A и B должны иметь одинаковый размер, если только он не является скаляром. Скаляр можно вычесть из матрицы любого размера.
Матричное умножение. C = A * B – линейное алгебраическое произведение матриц A и B. Точнее,

Для нескалярных A и B число столбцов в A должно быть равно количеству строк в B. Скаляр может умножить матрицу любого размера.
Умножение массивов. A. * B – это поэлементное произведение массивов A и B. A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Косая черта или матрица правого деления. B / A примерно такой же, как B * inv (A). Точнее, B / A = (A ‘\ B’) ‘.
Массив правого деления. A./B – матрица с элементами A (i, j) / B (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Обратная косая черта или матрица левого деления. Если A – квадратная матрица, A \ B – примерно то же самое, что inv (A) * B, за исключением того, что она вычисляется другим способом. Если A является матрицей n-на-n и B является вектором столбцов с n компонентами, или матрицей с несколькими такими столбцами, то X = A \ B является решением уравнения AX = B. Предупреждающее сообщение отображается, если А плохо масштабировано или почти единственное число.
Массив покинул деление. A. \ B – матрица с элементами B (i, j) / A (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Матрица власти. X ^ p есть X в степени p, если p скаляр. Если p является целым числом, мощность вычисляется путем повторного возведения в квадрат. Если целое число отрицательно, X инвертируется первым. Для других значений p в расчет включаются собственные значения и собственные векторы, например, если [V, D] = eig (X), то X ^ p = V * D. ^ p / V.
Массив власти. A. ^ B – это матрица с элементами A (i, j) степени B (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Матрица транспонировать. A ‘- линейная алгебраическая транспонирование A. Для комплексных матриц это комплексная сопряженная транспонирование.
Массив транспонировать. A.» это транспонирование массива A. Для сложных матриц это не связано с сопряжением.
Дополнение или унарный плюс. A + B добавляет значения, хранящиеся в переменных A и B. A и B должны иметь одинаковый размер, если только один не является скаляром. Скаляр можно добавить в матрицу любого размера.
Вычитание или унарный минус. AB вычитает значение B из A. A и B должны иметь одинаковый размер, если только он не является скаляром. Скаляр можно вычесть из матрицы любого размера.
Матричное умножение. C = A * B – линейное алгебраическое произведение матриц A и B. Точнее,

Для нескалярных A и B число столбцов в A должно быть равно количеству строк в B. Скаляр может умножить матрицу любого размера.
Умножение массивов. A. * B – это поэлементное произведение массивов A и B. A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Косая черта или матрица правого деления. B / A примерно такой же, как B * inv (A). Точнее, B / A = (A ‘\ B’) ‘.
Массив правого деления. A./B – матрица с элементами A (i, j) / B (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Обратная косая черта или матрица левого деления. Если A – квадратная матрица, A \ B – примерно то же самое, что inv (A) * B, за исключением того, что она вычисляется другим способом. Если A является матрицей n-на-n и B является вектором столбцов с n компонентами, или матрицей с несколькими такими столбцами, то X = A \ B является решением уравнения AX = B. Предупреждающее сообщение отображается, если А плохо масштабировано или почти единственное число.
Массив покинул деление. A. \ B – матрица с элементами B (i, j) / A (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Матрица власти. X ^ p есть X в степени p, если p скаляр. Если p является целым числом, мощность вычисляется путем повторного возведения в квадрат. Если целое число отрицательно, X инвертируется первым. Для других значений p в расчет включаются собственные значения и собственные векторы, например, если [V, D] = eig (X), то X ^ p = V * D. ^ p / V.
Массив власти. A. ^ B – это матрица с элементами A (i, j) степени B (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
Матрица транспонировать. A ‘- линейная алгебраическая транспонирование A. Для комплексных матриц это комплексная сопряженная транспонирование.
Массив транспонировать. A.» это транспонирование массива A. Для сложных матриц это не связано с сопряжением.
Операторы отношений
Реляционные операторы также могут работать как со скалярными, так и с нескалярными данными. Реляционные операторы для массивов выполняют поэлементное сравнение двух массивов и возвращают логический массив одинакового размера с элементами, установленными в логическое 1 (истина), где отношение истинно, и элементами, установленными в логическое 0 (ложь), где оно не.
В следующей таблице показаны реляционные операторы, доступные в MATLAB.
Циклы и условия: if, switch, for, while

Доброго времени суток. Сегодня речь пойдёт о циклах и условиях в Matlab. Материал, который взят за основу — это help в Matlab и несколько простых примеров, которые мы с вами и разберем.
Условия в MATLAB
Ни один язык программирования не обходится без таких конструкций как условия, именно об этом мы с вами и поговорим:
Начнём с синтаксиса условия if и посмотрим на формальный вариант записи в справке:
if expression, statements, end
Что значит:
if Условие, Действие, end
Теперь примеры:
x = 1; y = 61; if ((x >= 0.90) && (y >= 60)) disp('ok'); end;
&& — логически оператор умножения (логическая «И»).
И вот пример с else:
x = 1; y = 50; if ((x >= 0.90) && (y >= 60)) disp('ok'); else disp('not right') end;
В отличие от 1 примера, здесь выведется «not right».
Пару слов теперь о switch. Формально в справке:
Syntax switch switch_expr case case_expr statement, ..., statement case , case_expr2, case_expr3, ...> statement, ..., statement otherwise statement, ..., statement end
Более приземлённо:
Syntax switch switch_expr case Значение - 1 Действие case , Знчение - 3, Значение - 4, ...> Действие В остальных случиях Действие end
Это значит, что если заданная переменная равна значению в case Значение — 1, то выполняется действие при case Значение — 1 и так далее. Если ни один из case не подошёл выполняется действие при otherwise.
Вот пример:
method = 'Bilinear'; switch lower(method) case 'linear','bilinear'> disp('Method is linear') case 'cubic' disp('Method is cubic') case 'nearest' disp('Method is nearest') otherwise disp('Unknown method.') end
Циклы в MATLAB
Теперь перейдём к циклам, начнём с for.
В справке это записано в виде
Syntax for index = values program statements : end
В приземлённом виде это значит:
Syntax for переменная = значению действие end
Не будем задерживаться на официальных формулировках, лучше к понятным и любимым примерам
for m = 1:10 m end
Вот так выглядит самый распространённый способ использования for. В этом цикле мы просто выводим значение m.
Второй способ с использованием шага (step)
for s = 1.0: -0.1: 0.0 disp(s) end
В данном случае цикл for идёт от 1 до 0 с шагом -0.1.
Ещё один вариант:
for s = [1,5,8,17] disp(s) end
В данном случае переменная s будет последовательно приравниваться 1, 5 ,8 , 17 и, соответственно, выводиться.
А также с for очень удобно выводить вектора. Вот:
for e = eye(5) disp('Current value of e:') disp(e) end
В данном примере идёт последовательное обращение к элементам вектора e. Цикл while:
Формально в справке:
Syntax while expression program statements : end
Приземлённо:
Syntax while Условие Действие end
И давайте сразу к примеру (как это в реальной жизни используется).
eps = 10; while eps > 1 eps = eps - 1 end
Пока в условие (eps > 1) выполняется, цикл выполняет действие
(eps = eps-1).
Также в условии while можно использовать логические операторы И — && и ИЛИ — ||, записывая несколько логических выражений в условие. Если есть вопросы по статье, пишите в комментариях.
Поделиться ссылкой:
Programming in MATLAB
В этом вебинаре, на основе данных показаний датчиков температуры и скорости ветра мы продемонстрируем полный цикл работы со средой MATLAB, начиная от импорта данных и заканчивая созданием готового приложения.
MATLAB включает в себя встроенные математические функции, что является основополагающим критерием для решения инженерных и научных задач. В свою очередь, интерактивность среды создает идеальные условия для пошагового исследования, разработки и решения проблемы. Благодаря демонстрации продукта, вы увидите, как c помощью этой комбинации вы сможете быстро разобраться в ваших данных, а также создать отчет или независимое приложение и поделиться своими результатами.
Основные вопросы вебинара:
- Импорт данных, и автоматизация импорта
- Визуализация
- Статистические распределения
- Техники и приемы программирования
- Создание отчета и независимого приложения
Recorded: 23 Dec 2014