登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
cat(dim,A,B,C...)按照dim维连接A,B,C....等几个数组,理解时不妨这样理解: 把A,B,C...等等几个矩阵按照几维(维数用dim指定)连接,或者串联起来
cat(1, A, B)将A和B按1维连接,即按列连接,我认为matlab中数据是按列排列的,所以按列连接算1维连接, 相当于[A; B]
cat(1, A, B)将相当于[A; B]按2维连接,即按行连接,即每个矩阵(如A)都是1维,按行连接就算2维(有列和行两个维度),相当于[
举例:A=[1 2;3 4]
B=[6 7;8 9]
1.cat(1,A,B) 为[ A ] 也就是[ 1 2 ]
3 4
B 6 7
8 9
cat(2,A,B) 为[ A B ]也就是[ 1 2 6 7 ]
3 4 8 9
这里注意到按照1维和2为连接,不局限几个矩阵,可以A,B,C3个矩阵连接,也可以A,B,C,D4个矩阵连接,等等,按照几维连接无所谓连接几个矩阵的,理解时每个矩阵算1个元素连接有时更好理解。
2.三维和四维:
A=[1 2;3 4]
B=[6 7;8 9]
C=[11 12;13 14]
cat(3,A,B,C)把A,B,C按照3维连接,可以这样理解:将3个2维矩阵串成1个3维矩阵,可以认为是串在一根棍子上的3个片,这个棍子的指向就是第3维,这3个片分别是A,B,C3个矩阵,具体我可以举个例子:
对图像生成而言,取dim=3,然后将3个分别代表RGB分量的矩阵连接在一起: photo=cat(3,red,green,blue) 这里red,blue,green为别为生成RGB图像photo的三个分量的值,可以使用下列语句: rgb_r=photo(:,:,1); rgb_g=photo(:,:,2); rgb_b=photo(:,:,3);
详见http://www.cnblogs.com/tony1224/archive/2012/04/02/2430254.html
是cat函数合成rgb图像的,博客里面还有部分代码,个人感觉比较容易理解。
cat(4,A,B,C)是挂在十字网格上的一片片二维矩阵,3维4维这些比较容易和色图之类的辅助矩阵相关,具体用到可能会更理解一些。
其中注意,举例时按dim维连接几个矩阵,这个几个从数学上可以很多,这里为了便于理解,根据实际意义举得例子,如有问题,指出来。
|