如何把矩阵快速转化为cell元胞
有2种方法,均是直接调用Matlab的内置函数,直接高效。
第一种方法:num2cell函数
num2cell函数的作用是将mat类型转化为cell类型,调用格式:B = num2cell(A,dim)
以A = [1:3;4:6]为例
A =
1 2 3
4 5 6
①:将A中每一个元素都转化为cell类型
B = num2cell(A)
B =
2×3 cell 数组
[1] [2] [3]
[4] [5] [6]
②:将A的每一列都转化为一个cell
B = num2cell(A,1)
B =
1×3 cell 数组
[2×1 double] [2×1 double] [2×1 double]
③:将A的每一行都转化为一个cell
B =
2×1 cell 数组
[1×3 double]
[1×3 double]
第二种方法:mat2cell函数
mat2cell函数的作用是将矩阵分割成不同cell元胞,调用格式为:B = mat2cell(A,M,N)
其中A为待分解的矩阵,M、N为矩阵。
仍以A = [1:3;4:6]为例
A =
1 2 3
4 5 6
若想将A分割为[1;4] 和 [2 3; 5 6]这样的两个矩阵,则调用方法为:
B = mat2cell(A,2,[1 2])
B =
1×2 cell 数组
[2×1 double] [2×2 double]
若想将A分割为[1 2 3] 和 4 5 6]这样的两个矩阵,则调用方法为:
B = mat2cell(A,[1;1],3)
B =
2×1 cell 数组
[1×3 double]
[1×3 double]
对自己学习的总结,也希望能够帮助到像自己一样迷茫的人。
版权声明:本文为weixin_44803715原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。