QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1375|回复: 0
打印 上一主题 下一主题

cat函数——创建多维数组

[复制链接]
字体大小: 正常 放大

2802

主题

160

听众

8923

积分

  • TA的每日心情
    开心
    2017-4-26 10:25
  • 签到天数: 491 天

    [LV.9]以坛为家II

    自我介绍
    即使不开心也不要皱眉,因为你永远不知道有谁会爱上你的微笑!

    社区QQ达人 发帖功臣 新人进步奖 最具活力勋章

    群组数学中国试看培训视频

    群组2017美赛两天强训

    群组2015司守奎matlab培训

    群组2016国赛优秀论文解析

    群组国赛护航思路养成班

    跳转到指定楼层
    1#
    发表于 2016-3-4 17:05 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta









    用来联结数组
    用法:C = cat(dim, A, B)       按dim来联结A和B两个数组。
          C = cat(dim, A1, A2, A3, ...)    按dim联结所有输入的数组。
          EXP: a=cat(3,A,B) 左括号后的3表示构造出的矩阵维数;在新的矩阵中第1、2维就是A和B]这两
            个矩阵的行数和列数,第3维是A和B]这两个矩阵的矩阵个数,即为2
    cat(2, A, B)相当于[A, B];
    cat(1, A, B)相当于[A; B].
    使用“,”分割列表的语法,cat(dim, C{:})或cat(dim, C.field),这是将包含数据矩阵的cell或结构数组联合为一个数组的方便方式。
    例如:
    >> A = [1 2; 3 4];
    >> B = [5 6; 7 8];
    >> A
    A =
        1     2
        3     4
    >> B
    B =
        5     6
        7     8
    >> cat(1, A, B) %按列连接(列数相同)
    ans =
        1     2
        3     4
        5     6
        7     8
    >> cat(2, A, B) %按行连接(行数相同)
    ans =
        1     2     5     6
        3     4     7     8

    >> cat(3, A, B) %合成效果如下图,连成为3维
    ans(:,:,1) =   %第一层
        1     2
        3     4
    ans(:,:,2) =  %第二层
        5     6
        7     8

    a = magic(3)
        b = pascal(3)
       k=1,合并后形如 [a;b],行添加矩阵(要求a,b的列数相等才能合并);
    >> c = cat(1,a,b)
    c =
         8     1     6
         3     5     7
         4     9     2
         1     1     1
         1     2     3
         1     3     6
    k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并)
    >> c = cat(2,a,b)
    c =
         8     1     6     1     1     1
         3     5     7     1     2     3
         4     9     2     1     3     6
    >> c = cat(3,a,b)
    c(:,:,1) =
         8     1     6
         3     5     7
         4     9     2
    c(:,:,2) =
         1     1     1
         1     2     3
         1     3     6
    n维的矩阵合并,要求n-1维维数相等才可以.
    >> c = cat(4,a,b)
    c(:,:,1,1) =
         8     1     6
         3     5     7
         4     9     2
    c(:,:,1,2) =
         1     1     1
         1     2     3
         1     3     6



    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-1-1 15:23 , Processed in 0.393803 second(s), 51 queries .

    回顶部