Matlab中cat函数的用法

目录

语法

说明

示例

两个矩阵

三维数组

扩展表

具有不同类型的日期

元胞数组中的矩阵


        cat串联数组

语法

C = cat(dim,A,B)

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

说明

当 A 和 B 具有兼容的大小(除运算维度 dim 以外的维度长度匹配)时,C = cat(dim,A,B) 沿维度 dim 将B串联到A的末尾。

C = cat(dim,A1,A2,...,An) 沿维度dim串联A1、A2、…、An。

可以使用方括号运算符[]进行串联。例如,[A,B][A B]将水平串联数组AB,而[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 

具有不同类型的日期

        将日期字符向量、字符串日期和日期时间串联成一个日期列。结果为一个日期时间向量。

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
   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

提示

  • 要通过水平串联字符串、字符向量或字符向量元胞数组来构造文本,可以使用strcat函数。

  • 要从字符向量元胞数组或字符串数组构造一段带分隔符的文本,可以使用strjoin函数。

算法

        当将空数组串联到非空数组时,cat会在输出中略去空数组。例如,cat(2,[1 2],[]) 返回行向量 [1 2]

        如果所有输入参数均为空且具有兼容的大小,则 cat 返回空数组,其大小等于输入为非空时的输出大小。例如,cat(2,zeros(0,1),zeros(0,2)) 返回 0×3 空数组。

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值