注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

王小二的博客

勤俭以修身,淡泊以明志

 
 
 

日志

 
 

matlab的cat函数  

2011-12-03 10:55:47|  分类: 专业相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

cat:用来联结数组

用法: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) %合成效果如下图

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

  评论这张
 
阅读(12616)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017