horzcat

Конкатенация массивов по горизонтали

Описание

пример

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

пример

C = horzcat(A1,A2,…,An) конкатенирует A1, A2, …, An горизонтально.

horzcat эквивалентно использованию квадратных скобок для горизонтально конкатенирующих массивов. Для примера, [A,B] или [A B] равно horzcat(A,B) когда A и B являются совместимыми массивами.

Примеры

свернуть все

Создать две матрицы и объединить их горизонтально, сначала с помощью квадратных обозначений скобок, а затем с помощью horzcat.

A = [1 2; 3 4]
A = 2×2

     1     2
     3     4

B = [4 5 6; 7 8 9]
B = 2×3

     4     5     6
     7     8     9

C = [A,B]
C = 2×5

     1     2     4     5     6
     3     4     7     8     9

D = horzcat(A,B)
D = 2×5

     1     2     4     5     6
     3     4     7     8     9

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

A = table([5;6;5],['M';'M';'M'],...
    'VariableNames',{'Age' 'Gender'},...
    'RowNames',{'Thomas' 'Gordon' 'Percy'})
A=3×2 table
              Age    Gender
              ___    ______

    Thomas     5       M   
    Gordon     6       M   
    Percy      5       M   

Создайте таблицу B с тремя строками и тремя переменными.

B = table([45;41;40],[45;32;34],{'NY';'CA';'MA'},...
    'VariableNames',{'Height' 'Weight' 'Birthplace'},...
    'RowNames',{'Percy' 'Gordon' 'Thomas'})
B=3×3 table
              Height    Weight    Birthplace
              ______    ______    __________

    Percy       45        45        {'NY'}  
    Gordon      41        32        {'CA'}  
    Thomas      40        34        {'MA'}  

Сцепление по горизонтали A и B. Порядок строк в C соответствует порядку в A.

C = horzcat(A,B)
C=3×5 table
              Age    Gender    Height    Weight    Birthplace
              ___    ______    ______    ______    __________

    Thomas     5       M         40        34        {'MA'}  
    Gordon     6       M         41        32        {'CA'}  
    Percy      5       M         45        45        {'NY'}  

Объедините вектор символов даты, строковую дату и datetime в одну строку дат. Результатом является вектор-строка datetime.

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

Объедините три строковых массивов в один массив.

A1 = ["str1"; "str2"];
A2 = ["str3"; "str4"];
A3 = ["str5"; "str6"];
C = horzcat(A1,A2,A3)
C = 2x3 string
    "str1"    "str3"    "str5"
    "str2"    "str4"    "str6"

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

M1 = [1 2; 3 4];
M2 = [5 6 7; 8 9 10];
A1 = {M1,M2};
C = horzcat(A1{:})
C = 2×5

     1     2     5     6     7
     3     4     8     9    10

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

свернуть все

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

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

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

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

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

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

Список входов, заданный как разделенный запятыми список элементов для конкатенации в указанном порядке.

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

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

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

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

Совет

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

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

Алгоритмы

Для входов таблицы, horzcat конкатенируется путем соответствия имен строк при наличии или путем соответствия положений таблицы. horzcat присваивает значения для Description и UserData свойства выхода с использованием первых непустых значений соответствующих свойств входа.

При объединении пустого массива в непустой массив, horzcat опускает пустой массив в выходах. Для примера, horzcat([1 2],[]) возвращает вектор-строку [1 2].

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

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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