Как работать в matlab
Перейти к содержимому

Как работать в matlab

  • автор:

Начало работы с 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 называется рабочим столом. Когда 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

Доброго времени суток. Сегодня речь пойдёт о циклах и условиях в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *