\cat

Конкатенация массивов

Синтаксис

C = cat(dim,A,B)
C = cat(dim,A1,A2,…,An)

Описание

пример

C = cat(dim,A,B) конкатенирует B в конец A по измерению dim, когда A и B имеют совместимые размеры (продолжительности соответствия размерностей за исключением операционной размерности dim).

пример

C = cat(dim,A1,A2,…,An) конкатенирует A1, A2, …, An по измерению dim.

Можно использовать оператор квадратной скобки [], чтобы конкатенировать. Например, [A,B] или [A B] конкатенируют массивы A и B горизонтально, и [A; B] конкатенирует их вертикально.

Примеры

свернуть все

Создайте и конкатенируйте две матрицы вертикально, затем горизонтально.

A = ones(3)
A = 3×3

     1     1     1
     1     1     1
     1     1     1

B = zeros(3)
B = 3×3

     0     0     0
     0     0     0
     0     0     0

C1 = cat(1,A,B)
C1 = 6×3

     1     1     1
     1     1     1
     1     1     1
     0     0     0
     0     0     0
     0     0     0

C2 = cat(2,A,B)
C2 = 3×6

     1     1     1     0     0     0
     1     1     1     0     0     0
     1     1     1     0     0     0

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

A = rand(2,3,4);
B = rand(2,3,5);
C = cat(3,A,B);
szC = size(C)
szC = 1×3

     2     3     9

Составьте таблицу и добавьте строку с помощью массива ячеек.

LastName = {'Sanchez';'Johnson';'Li';'Diaz'};
Age = [38;43;38;40];
T1 = table(LastName,Age)
T1=4×2 table
    LastName     Age
    _________    ___

    'Sanchez'    38 
    'Johnson'    43 
    'Li'         38 
    'Diaz'       40 

Trow = {'Brown',49};
T2 = cat(1,T1,Trow)
T2=5×2 table
    LastName     Age
    _________    ___

    'Sanchez'    38 
    'Johnson'    43 
    'Li'         38 
    'Diaz'       40 
    'Brown'      49 

Конкатенация вектора символов даты, даты строки и datetime в отдельный столбец дат. Результатом является вектор datetime.

chardate = '2016-03-24';
strdate = "2016-04-19";
t = datetime('2016-05-10','InputFormat','yyyy-MM-dd');
C = cat(1,chardate,strdate,t)
C = 3x1 datetime array
   24-Mar-2016
   19-Apr-2016
   10-May-2016

Создайте массив ячеек, содержащий две матрицы, и конкатенируйте матрицы и вертикально и горизонтально.

M1 = [1 2; 3 4];
M2 = [5 6; 7 8];
A1 = {M1,M2};
Cvert = cat(1,A1{:})
Cvert = 4×2

     1     2
     3     4
     5     6
     7     8

Chorz = cat(2,A1{:})
Chorz = 2×4

     1     2     5     6
     3     4     7     8

Входные параметры

свернуть все

Величина для работы, заданная как положительный целый скаляр. Например, если A и B являются оба матрицами 2 на 2, то cat(1,A,B) конкатенирует вертикально создание 4 2 матрица. cat(2,A,B) конкатенирует горизонтально создание 2 4 матрица.

dim должен быть или 1 или 2 для входа таблицы или расписания.

Сначала введите, заданный как скаляр, вектор, матрица, многомерный массив, таблица или расписание.

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

  • Элементы B конкатенированы в конец первого входа по операционному измерению. Размеры входных параметров должны быть совместимыми. Например, если первый вход является матрицей размера 3 2, то B должен иметь 2 столбца, чтобы конкатенировать вертикально, и 3 строки, чтобы конкатенировать горизонтально.

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

  • Можно конкатенировать допустимые комбинации различных типов. Для получения дополнительной информации смотрите Допустимые Комбинации в отличие от Классов.

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

  • Входные параметры должны иметь совместимые размеры. Например, если A1 является вектором - строкой из длины m, то остающиеся входные параметры должны каждый иметь столбцы m, чтобы конкатенировать вертикально.

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

  • Можно конкатенировать допустимые комбинации различных типов. Для получения дополнительной информации смотрите Допустимые Комбинации в отличие от Классов.

Советы

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

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

Алгоритмы

При конкатенации пустого массива к непустому массиву cat не использует пустой массив в выводе. Например, cat(2,[1 2],[]) возвращает вектор - строку [1 2].

Если все входные параметры пусты и имеют совместимые размеры, то cat возвращает пустой массив, размер которого равен выходному размеру как тогда, когда входные параметры непусты. Например, cat(2,zeros(0,1),zeros(0,2)) возвращает 0 3 пустой массив.

Расширенные возможности

Представлено до R2006a