horzcat
配列を水平に連結
説明
C = horzcat(
は A1,A2,…,An
)A1
, A2
, … , An
を水平方向に連結します。
horzcat
は、大かっこを使用して配列を水平方向に連結または追加することと同じです。たとえば、A
と B
が適合する配列である場合、[A,B]
と [A B]
は horzcat(A,B)
と同じです。
例
2 つの行列
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
2 つの table
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'}
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'}
型の異なる日付
日付文字ベクトル、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
string 配列
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"
cell 配列内の行列
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
入力引数
A
— 1 番目の入力
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
1 番目の入力。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。
B
— 2 番目の入力
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
2 番目の入力。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。
B
の要素は 2 番目の次元に沿って最初の入力の最後に連結されます。入力引数のサイズには互換性がなければなりません。たとえば、最初の入力が 3 行 2 列のサイズの行列の場合、B
に 3 行なければなりません。すべての table 入力の変数名は一意でなければなりません。table 入力に行名が存在する場合、行名は同じである必要がありますが、順序は異なっていてもかまいません。
horzcat
は、行名が存在する場合は行名を突き合わせることによって、行名が存在しない場合は table の位置を突き合わせることによって連結します。table 入力の場合、horzcat
は table 変数に関連するプロパティ値も連結します。出力 table の他のプロパティ値は、対応する入力の最初の空ではない (または既定ではない) プロパティ値を使用して割り当てられます。すべての timetable 入力の変数名は一意でなければなりません。各 timetable 入力の行時間は同じである必要がありますが、順序は異なっていても構いません。
horzcat
は行時間を突き合わせて連結します。timetable 入力の場合、horzcat
は、timetable 変数に関連付けられているプロパティ値および入力に追加されたイベントも連結します。出力 timetable の他のプロパティ値は、対応する入力の最初の空ではない (または既定ではない) プロパティ値を使用して割り当てられます。異なるタイプの有効な組み合わせを連結できます。文字配列、logical 配列、数値型の連結の詳細については、異なるクラスの有効な組み合わせを参照してください。
A1,A2,…,An
— 入力のリスト
コンマ区切りリスト
入力のリスト。指定される順序で連結する要素のコンマ区切りリストとして指定します。
入力のサイズは互換性がなければなりません。たとえば、
A1
が長さ m の列ベクトルの場合、残りの入力はいずれも、水平方向に連結する m 行をもたなければなりません。すべての table 入力の変数名は一意でなければなりません。table 入力に行名が存在する場合、行名は同じである必要がありますが、順序は異なっていてもかまいません。
horzcat
は、行名が存在する場合は行名を突き合わせることによって、行名が存在しない場合は table の位置を突き合わせることによって連結します。table 入力の場合、horzcat
は table 変数に関連するプロパティ値も連結します。出力 table の他のプロパティ値は、対応する入力の最初の空ではない (または既定ではない) プロパティ値を使用して割り当てられます。すべての timetable 入力の変数名は一意でなければなりません。各 timetable 入力の行時間は同じである必要がありますが、順序は異なっていても構いません。
horzcat
は行時間を突き合わせて連結します。timetable 入力の場合、horzcat
は、timetable 変数に関連付けられているプロパティ値および入力に追加されたイベントも連結します。出力 timetable の他のプロパティ値は、対応する入力の最初の空ではない (または既定ではない) プロパティ値を使用して割り当てられます。異なるタイプの有効な組み合わせを連結できます。文字配列、logical 配列、数値型の連結の詳細については、異なるクラスの有効な組み合わせを参照してください。
ヒント
アルゴリズム
空の配列を空でない配列に連結する場合、horzcat
は出力で空の配列を除外します。たとえば、horzcat([1 2],[])
は行ベクトル [1 2]
を返します。
すべての入力引数が空であり、サイズに互換性がある場合、horzcat
は入力が空でない場合と同じ出力サイズの空の配列を返します。たとえば、horzcat(zeros(0,1),zeros(0,2))
は 0 行 3 列の空の配列を返します。入力サイズに互換性がない場合、horzcat
は 0 行 0 列の空の配列を返します。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
horzcat
関数は tall 配列をサポートしていますが、以下の使用上の注意および制限があります。
順序 categorical 配列の連結はサポートされていません。
詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
horzcat
関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
スパース行列はサポートされていません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します: United States
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
アジア太平洋地域
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)