ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

cat

説明

C = cat(dim,A,B) は、AB が互換性のあるサイズをもつ (操作次元 dim 以外の次元の長さが一致する) 場合に、次元 dim に沿って BA の末尾に連結します。

C = cat(dim,A1,A2,…,An) は、A1A2、…、An を次元 dim に沿って連結します。

連結には大かっこ演算子 [] を使用できます。たとえば、[A,B] または [A B] は配列 A および B を横方向に連結し、[A; B] は縦方向に連結します。

すべて折りたたむ

2 つの行列を作成して縦方向に連結し、次に横方向に連結します。

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

2 つの 3 次元配列を作成し、3 番目の次元に沿って連結します。結果の配列で 1 番目と 2 番目の次元の長さは入力配列の対応する長さに一致し、3 番目の次元は拡張されます。

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

     2     3     9

table を作成し、cell 配列を使用して 1 行を追加します。

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 

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

2 つの行列を含む cell 配列を作成し、それらの行列を縦方向と横方向の両方で連結します。

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

入力引数

すべて折りたたむ

演算の対象の次元。正の整数のスカラーとして指定します。たとえば、AB が両方とも 2 行 2 列の行列の場合、cat(1,A,B) は縦方向の連結により 4 行 2 列の行列を作成します。cat(2,A,B) は横方向の連結により 2 行 4 列の行列を作成しれます。

入力が table または timetable の場合、dim は 1 または 2 でなければなりません。

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

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

  • B の要素は、操作次元に沿って 1 番目の入力の末尾に連結されます。入力引数のサイズには互換性がなければなりません。たとえば、1 番目の入力が 3 行 2 列の行列である場合、B には、縦方向に連結する場合は 2 列、横方向に連結する場合は 3 行がなければなりません。

  • 横方向に連結する場合、すべての table 入力に一意の変数名がなければなりません。行名が存在する場合は、順序を除き、同じでなければなりません。同様に、すべての timetable 入力は行時間が同じで、すべての列は異なる名前をもたなければなりません。

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

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

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

  • 横方向に連結する場合、すべての table 入力に一意の変数名がなければなりません。行名が存在する場合は、順序を除き、同じでなければなりません。同様に、すべての timetable 入力は行時間が同じで、すべての列は異なる名前をもたなければなりません。

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

ヒント

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

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

アルゴリズム

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

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

拡張機能

R2006a より前に導入