Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> MATLAB

MATLAB — Массивы

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

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

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

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

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

Например —

Живая демонстрация
zeros(5)

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

ans =
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0
      0     0     0     0     0

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

Например —

Живая демонстрация
ones(4,3)

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

ans =
      1     1     1
      1     1     1
      1     1     1
      1     1     1

глаз() функция создает идентификационную матрицу.

Например —

Живая демонстрация
eye(4)

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

ans =
      1     0     0     0
      0     1     0     0
      0     0     1     0
      0     0     0     1

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

Например —

Живая демонстрация
rand(3, 5)

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

ans =
   0.8147    0.9134    0.2785    0.9649    0.9572
   0.9058    0.6324    0.5469    0.1576    0.4854
   0.1270    0.0975    0.9575    0.9706    0.8003

Волшебный квадрат

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

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

Живая демонстрация
magic(4)

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

ans =
   16     2     3    13
   5    11    10     8
   9     7     6    12
   4    14    15     1

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

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

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

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

Живая демонстрация
a = [7 9 5; 6 1 9; 4 3 2]

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

a =
   7     9     5
   6     1     9
   4     3     2

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

Живая демонстрация
a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]

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

a =

ans(:,:,1) =

   0   0   0
   0   0   0
   0   0   0

ans(:,:,2) =

   1   2   3
   4   5   6
   7   8   9

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

Например,

Живая демонстрация
b = rand(4,3,2)

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

b(:,:,1) =
   0.0344    0.7952    0.6463
   0.4387    0.1869    0.7094
   0.3816    0.4898    0.7547
   0.7655    0.4456    0.2760

b(:,:,2) =
   0.6797    0.4984    0.2238
   0.6551    0.9597    0.7513
   0.1626    0.3404    0.2551
   0.1190    0.5853    0.5060

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

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

B = cat(dim, A1, A2...)

Где,

Пример

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

Живая демонстрация
a = [9 8 7; 6 5 4; 3 2 1];
b = [1 2 3; 4 5 6; 7 8 9];
c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])

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

c(:,:,1) =
      9     8     7
      6     5     4
      3     2     1
c(:,:,2) =
      1     2     3
      4     5     6
      7     8     9
c(:,:,3) =
      2     3     1
      4     7     8
      3     9     0

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

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

Функция Цель
длина Длина вектора или наибольшее измерение массива
ndims Количество измерений массива
число Количество элементов массива
размер Размеры массива
столбец Определяет, является ли ввод вектор-столбцом
пусто Определяет, пуст ли массив
ismatrix Определяет, является ли ввод матричным
исров Определяет, является ли ввод вектором-строкой
исскаляр Определяет, является ли ввод скалярным
исвектор Определяет, является ли ввод векторным
blkdiag Создает блочную диагональную матрицу из входных аргументов
круговое смещение Сдвигает массив по кругу
ctranspose Комплексно-сопряженное транспонирование
диаг Диагональные матрицы и диагонали матрицы
флипдим Переворачивает массив по указанному измерению
fliplr Переворачивает матрицу слева направо
флипуд Переворачивает матрицу вверх-вниз
заглушить Инверсия переставляет размеры массива N-D
переставить Изменяет размеры массива N-D
переформатировать Репликаты и массив листов
изменить форму Изменяет форму массива
rot90 Поворачивает матрицу на 90 градусов
shiftdim Изменяет размеры
отсортировано Определяет, отсортированы ли элементы набора
сортировать Сортирует элементы массива в порядке возрастания или убывания
сортировка Сортирует строки по возрастанию
сжать Удаляет одноэлементные измерения
транспонировать Транспонировать
векторизация Векторизация выражения

Примеры

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

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

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

Живая демонстрация
x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9];
length(x)      % length of x vector
y = rand(3, 4, 5, 2);
ndims(y)       % no of dimensions in array y
s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab'];
numel(s)       % no of elements in s

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

ans =  8
ans =  4
ans =  23

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

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

Живая демонстрация
a = [1 2 3; 4 5 6; 7 8 9]  % the original array a
b = circshift(a,1)         %  circular shift first dimension values down by 1.
c = circshift(a,[1 -1])    % circular shift first dimension values % down by 1 
                           % and second dimension values to the left % by 1.

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

a =
   1     2     3
   4     5     6
   7     8     9

b =
   7     8     9
   1     2     3
   4     5     6

c =
   8     9     7
   2     3     1
   5     6     4

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

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

Живая демонстрация
v = [ 23 45 12 9 5 0 19 17]  % horizontal vector
sort(v)                      % sorting v
m = [2 6 4; 5 3 9; 2 0 1]    % two dimensional array
sort(m, 1)                   % sorting m along the row
sort(m, 2)                   % sorting m along the column

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

v =
   23    45    12     9     5     0    19    17
ans =
   0     5     9    12    17    19    23    45
m =
   2     6     4
   5     3     9
   2     0     1
ans =
   2     0     1
   2     3     4
   5     6     9
ans =
   2     4     6
   3     5     9
   0     1     2

Массив ячеек

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

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

C = cell(dim)
C = cell(dim1,...,dimN)
D = cell(obj)

Где

Пример

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

Живая демонстрация
c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}

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

c = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
   [1,3] = Green
   [2,3] =  3
   [1,4] = Yellow
   [2,4] =  4
   [1,5] = White
   [2,5] =  5
}

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

Есть два способа обратиться к элементам массива ячеек —

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

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

Например —

Живая демонстрация
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)

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

ans = 
{
   [1,1] = Red
   [2,1] =  1
   [1,2] = Blue
   [2,2] =  2
}

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

Например —

Живая демонстрация
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}

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

ans = Blue
ans = Green
ans = Yellow

MATLAB

  1. С# Массивы
  2. Зубчатый массив С#
  3. Массивы копирования Java
  4. Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов
  5. C++ динамическое выделение массивов с примером
  6. MATLAB — Обзор
  7. MATLAB — Переменные
  8. МАТЛАБ — Команды
  9. MATLAB — Матрица
  10. МАТЛАБ — Числа