Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

horzcat

説明

C = horzcat(A,B) は、AB のサイズに互換性がある場合 (2 番目の次元以外の次元の長さが一致)、BA の最後まで水平方向に連結します。

C = horzcat(A1,A2,…,An)A1, A2, … , An を水平方向に連結します。

horzcat は、大かっこを使用して配列を水平方向に連結または追加することと同じです。たとえば、AB が適合する配列である場合、[A,B][A B]horzcat(A,B) と同じです。

すべて折りたたむ

2 つの行列を水平方向に連結します。

2 つの行列を作成し、大かっこの表記を使用して 2 番目の行列を最初の行列に水平方向に追加します。

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

次に、horzcat を使用して 2 番目の行列を最初の行列に水平方向に追加します。

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

     1     2     4     5     6
     3     4     7     8     9

3 つの行と 2 つの変数をもつ table 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   

3 つの行と 3 つの変数をもつ table 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'}  

AB を水平方向に連結します。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'}  

日付文字ベクトル、string 日付、datetime を 1 行の日付に連結します。結果は 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

3 つの string 配列を単一の配列に連結します。

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

2 つの行列が含まれる cell 配列を作成します。これらの行列を cell 配列から 1 つの行列に水平方向に連結します。

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

入力引数

すべて折りたたむ

1 番目の入力。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。

2 番目の入力。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。

  • B の要素は 2 番目の次元に沿って最初の入力の最後に連結されます。入力引数のサイズには互換性がなければなりません。たとえば、最初の入力が 3 行 2 列のサイズの行列の場合、B に 3 行なければなりません。

  • すべての table 入力の変数名は一意でなければなりません。行名が存在する場合は、順序を除き、同じでなければなりません。

  • すべての timetable 入力は行時間が同じで、すべての列は異なる名前でなければなりません。

  • 異なるタイプの有効な組み合わせを連結できます。詳細については、異なるクラスの有効な組み合わせを参照してください。

入力のリスト。指定される順序で連結する要素のコンマ区切りリストとして指定します。

  • 入力のサイズは互換性がなければなりません。たとえば、A1 が長さ m の列ベクトルの場合、残りの入力はいずれも、水平方向に連結する m 行をもたなければなりません。

  • すべての table 入力の変数名は一意でなければなりません。行名が存在する場合は、順序を除き、同じでなければなりません。

  • すべての timetable 入力は行時間が同じで、すべての列は異なる名前でなければなりません。

  • 異なるタイプの有効な組み合わせを連結できます。詳細については、異なるクラスの有効な組み合わせを参照してください。

ヒント

  • string、文字ベクトル、または文字ベクトルの cell 配列を水平方向に連結してテキストを作成する場合は、関数 strcat を使用します。

  • 文字ベクトルの cell 配列または string 配列から単一の区切りテキストを作成する場合は、関数 strjoin を使用します。

アルゴリズム

table 入力の場合、horzcat は行名がある場合には行名を一致させるか、table の位置を一致させて連結します。horzcat は入力の対応するプロパティの空でない最初の値を使用して、出力の Description プロパティと UserData プロパティの値を代入します。

空の配列を空でない配列に連結する場合、horzcat は出力で空の配列を除外します。たとえば、horzcat([1 2],[]) は行ベクトル [1 2] を返します。

すべての入力引数が空であり、サイズに互換性がある場合、horzcat は入力が空でない場合と同じ出力サイズの空の配列を返します。たとえば、horzcat(zeros(0,1),zeros(0,2)) は 0 行 3 列の空の配列を返します。入力サイズに互換性がない場合、horzcat は 0 行 0 列の空の配列を返します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入