Способы создания массивов матлаб

MATLAB — Массивы

Все переменные всех типов данных в MATLAB являются многомерными массивами. Вектор — это одномерный массив, а матрица — это двумерный массив.

Мы уже обсуждали векторы и матрицы. В этой главе мы обсудим многомерные массивы. Однако перед этим давайте обсудим некоторые специальные типы массивов.

Специальные массивы в MATLAB

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

Функция нулей () создает массив всех нулей —

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Функция ones () создает массив всех единиц —

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Функция eye () создает единичную матрицу.

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Функция rand () создает массив равномерно распределенных случайных чисел по (0,1) —

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Магический Квадрат

Магический квадрат — это квадрат, который дает одинаковую сумму, когда его элементы добавляются построчно, по столбцам или по диагонали.

Функция magic () создает массив магических квадратов. Требуется исключительный аргумент, который дает размер квадрата. Аргумент должен быть скаляром, большим или равным 3.

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

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

В MATLAB массив, имеющий более двух измерений, называется многомерным массивом. Многомерные массивы в MATLAB являются расширением нормальной двумерной матрицы.

Обычно для создания многомерного массива мы сначала создаем двумерный массив и расширяем его.

Например, давайте создадим двумерный массив a.

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Массив a является массивом 3 на 3; мы можем добавить третье измерение к, предоставив такие значения, как —

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Мы также можем создавать многомерные массивы, используя функции ones (), zeros () или rand ().

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Мы также можем использовать функцию cat () для построения многомерных массивов. Он объединяет список массивов по указанному измерению —

Синтаксис для функции cat () —

B — новый созданный массив

A1 , A2 , … массивы, которые будут объединены

dim — это размер, по которому объединяются массивы.

B — новый созданный массив

A1 , A2 , … массивы, которые будут объединены

dim — это размер, по которому объединяются массивы.

пример

Создайте файл сценария и введите в него следующий код —

Когда вы запускаете файл, он отображает —

Функции массива

MATLAB предоставляет следующие функции для сортировки, вращения, перестановки, изменения формы или смещения содержимого массива.

функция Цель
длина Длина вектора или наибольшее измерение массива
ndims Количество размеров массива
numel Количество элементов массива
размер Размеры массива
iscolumn Определяет, является ли ввод вектором столбца
пустой Определяет, является ли массив пустым
ismatrix Определяет, является ли ввод матричным
isrow Определяет, является ли ввод вектором строки
isscalar Определяет, является ли вход скалярным
isvector Определяет, является ли входной вектор
blkdiag Создает блочную диагональную матрицу из входных аргументов.
circshift Смещает массив по кругу
ctranspose Комплексное сопряженное транспонирование
диаг Диагональные матрицы и диагонали матрицы
flipdim Переворачивает массив по указанному измерению
fliplr Отразить матрицу слева направо
flipud Переворачивает матрицу вверх-вниз
ipermute Инвертирует перестановочные размеры массива ND
переставлять Переставляет размеры массива ND
repmat Реплики и массив плиток
перекроить Перекраивает массив
rot90 Поворот матрицы на 90 градусов
shiftdim Смещает размеры
issorted Определяет, находятся ли заданные элементы в отсортированном порядке
Сортировать Сортирует элементы массива в порядке возрастания или убывания
sortrows Сортирует строки в порядке возрастания
выжимать Удаляет одиночные размеры
транспонировать транспонировать
векторизовать Векторизованное выражение
Читайте также:  Исполнение желание мгновенный способ

Примеры

Следующие примеры иллюстрируют некоторые из функций, упомянутых выше.

Длина, Размер и Количество элементов —

Создайте файл сценария и введите в него следующий код —

Когда вы запускаете файл, он показывает следующий результат —

Круговое смещение элементов массива —

Создайте файл сценария и введите в него следующий код —

Когда вы запускаете файл, он показывает следующий результат —

Сортировка массивов

Создайте файл сценария и введите в него следующий код —

Когда вы запускаете файл, он показывает следующий результат —

Cell Array

Массивы ячеек — это массивы индексированных ячеек, где каждая ячейка может хранить массив разных измерений и типов данных.

Функция cell используется для создания массива cell. Синтаксис для функции ячейки —

С — массив ячеек;

dim — скалярное целое число или вектор целых чисел, который определяет размеры массива ячеек C;

dim1, …, dimN — скалярные целые числа, которые определяют размеры C;

obj является одним из следующих —

  • Массив или объект Java
  • .NET массив типа System.String или System.Object

С — массив ячеек;

dim — скалярное целое число или вектор целых чисел, который определяет размеры массива ячеек C;

dim1, …, dimN — скалярные целые числа, которые определяют размеры C;

obj является одним из следующих —

пример

Создайте файл сценария и введите в него следующий код —

Когда вы запускаете файл, он показывает следующий результат —

Доступ к данным в массивах ячеек

Существует два способа обращения к элементам массива ячеек:

  • Заключение индексов в первую скобку () для ссылки на наборы ячеек
  • Заключение индексов в фигурные скобки <> для ссылки на данные в отдельных ячейках

Когда вы заключаете индексы в первую скобку, это относится к набору ячеек.

Индексы массива ячеек в гладких скобках относятся к наборам ячеек.

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Вы также можете получить доступ к содержимому ячеек путем индексации с помощью фигурных скобок.

MATLAB выполнит приведенный выше оператор и вернет следующий результат —

Источник

Документация

Многомерный массив в MATLAB® является массивом больше чем с двумя размерностями. В матрице эти две размерности представлены строками и столбцами.

Каждый элемент задан двумя индексами, индексом строки и индексом столбца. Многомерные массивы являются расширением 2D матриц и используют дополнительные индексы для индексации. Трехмерный массив, например, использует три индекса. Первые два точно так же, как матрица, но третья размерность представляет страницы или листы элементов.

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

Можно создать многомерный массив путем создания 2D матрицы сначала, и затем расширения его. Например, сначала задайте 3х3 матрицу как первую страницу в трехмерном массиве.

Читайте также:  Горизонтальная теодолитная съемка способы съемки ситуации

Теперь добавьте вторую страницу. Для этого присвойте другую 3х3 матрицу значению индекса 2 в третьей размерности. Синтаксис A(. 2) использует двоеточие в первых и вторых измерениях, чтобы включать все строки и все столбцы с правой стороны присвоения.

cat функция может быть полезным инструментом для создания многомерных массивов. Например, создайте новый трехмерный массив B путем конкатенации A с третьей страницей. Первый аргумент указывает который размерность конкатенировать вперед.

Иначе быстро расширить многомерный массив путем присвоения одного элемента целой странице. Например, добавьте четвертую страницу в B это содержит все нули.

Доступ к элементам

Для доступа к элементам в многомерном массиве используйте целочисленные индексы, так же как для векторов и матриц. Например, найдите 1,2,2 элемента A , который находится в первой строке, втором столбце и второй странице A .

Используйте вектор индекса [1 3] во втором измерении, чтобы получить доступ только к первым и последним столбцам каждой страницы A .

Чтобы найти вторые и третьи строки каждой страницы, используйте оператор двоеточия, чтобы создать ваш вектор индекса.

Управление массивами

Элементы многомерных массивов могут быть перемещены во многих отношениях, похожие на векторы и матрицы. reshape перестановка , и squeeze полезные функции для реорганизации элементов. Рассмотрите трехмерный массив с двумя страницами.

Изменение размерность многомерного массива может быть полезно для выполнения определенных операций или визуализации данных. Используйте reshape функционируйте, чтобы перестроить элементы трехмерного массива в 6 5 матрица.

reshape действует по столбцам, создавая новую матрицу путем взятия последовательных элементов вниз каждый столбец A , Начиная с первой страницы, затем перемещающейся во вторую страницу.

Сочетания используются, чтобы перестроить порядок размерностей массива. Считайте трехмерный массив M .

Используйте permute функционируйте, чтобы обменяться индексами строки и столбца на каждой странице путем определения порядка размерностей во втором аргументе. Исходные строки M теперь столбцы, и столбцы являются теперь строками.

Точно так же обменяйтесь строкой и индексами страницы M .

При работе с многомерными массивами вы можете столкнуться с тем, который имеет ненужную размерность длины 1. squeeze функция выполняет другой тип манипуляции, которая устраняет размерности длины 1. Например, используйте repmat функция, чтобы создать 2 3 массивом 1 на 4, элементы которого — каждый 5, и чья третья размерность имеет длину 1.

Используйте squeeze функция, чтобы удалить третью размерность, приводящую к трехмерному массиву.

Похожие темы

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

© 1994-2021 The MathWorks, Inc.

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

Читайте также:  Восстановить зрение естественным способом

Источник

Документация

MATLAB является сокращением от «матричной лаборатории». В то время как другие языки программирования в основном работают с числами по одному, MATLAB® спроектирован, чтобы работать, в основном, с целыми матрицами и массивами.

Все переменные MATLAB являются многомерными массивами , неважно какого типа данных. Матрица A является двумерным массивом, часто используемым для линейной алгебры.

Создание массивов

Чтобы создать массив из четырех элементов в одной строке, разделите элементы любым запятая ( , ) или пробел.

Этот тип массива является вектором-строкой .

Чтобы создать матрицу, которая имеет несколько строк, разделите строки точками с запятой.

Другой способ создать матрицу состоит в том, чтобы использовать функцию, такую как ones нули , или rand . Например, создайте вектор — столбец размером 5 на 1 из нулей.

Матричные операции и операции над массивами

MATLAB позволяет вам обрабатывать все значения в матрице с помощью одного арифметического оператора или функции.

Чтобы транспонировать матрицу, используйте одинарную кавычку ( ‘ ):

Можно выполнить стандартное умножение матриц, которое вычисляет скалярные произведения между строками и столбцами, с помощью * оператор. Например, подтвердите, что матрица, умноженная на её обратную матрицу, возвращает единичную матрицу:

Заметьте, что p не матрица целочисленных значений. MATLAB хранит числа как значения с плавающей точкой, и арифметические операции чувствительны к небольшим различиям между фактическим значением и его представлением с плавающей точкой. Можно отобразить больше десятичных цифр с помощью format команда:

Сбросьте отображение к более короткому формату используя

format влияет только на отображение чисел, а не то, как MATLAB вычисляет или сохраняет их.

Чтобы выполнить поэлементное умножение, а не умножение матриц, используйте .* оператор:

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

Конкатенация

Конкатенация является процессом слияния массивов для создания бОльших массивов. На самом деле вы сделали свой первый массив путем конкатенации его отдельных элементов. Пара квадратных скобок [] оператор конкатенации.

Конкатенация массивов друг с другом, с использованием запятых, называется горизонтальной конкатенацией. Каждый массив должен иметь одинаковое число строк. Точно так же, когда массивы имеют одинаковое число столбцов, можно конкатенировать вертикально с использованием точки с запятой.

Комплексные числа

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

Чтобы представлять мнимую часть комплексных чисел, используйте любой i или j .

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

© 1994-2021 The MathWorks, Inc.

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

Источник

Оцените статью
Разные способы