在MATLAB中插入矩阵作为矩阵的元素

时间:2015-12-05 15:33:50

标签: matlab matrix

我有以下矩阵

A=[11 23 32 12; 18 54 63 14; 43 32 13 65; 23 64 53 14; 65 54 63 72]

给定的矩阵是5x4矩阵。我想创建5x1矩阵,其中每个元素是4x1的矩阵。例如,[11 23 32 12]将保留在矩阵中,矩阵是新创建的5x1矩阵的第一个元素。

我试过这个:

Y_new_cell=mat2cell(Y_new_cov1,[4 1],[1 10]);

但它显示以下错误: Input arguments, D1 through D2, must sum to each dimension of the input matrix size, [10 4].'

1 个答案:

答案 0 :(得分:4)

行人路是这样的:

Y={A(1,:); A(2,:); A(3,:); A(4,:); A(5,:)}

另一种方法是使用arrayfun

Y = arrayfun(@(ri) A(ri, :), 1:5, 'UniformOutput', 0)

这会将行索引应用于向量1:5的每个元素,并将结果作为单元格返回。

或者,如果您想使用mat2cell,请使用rowdist方式致电:

Y = mat2cell(A, ones(5,1));
相关问题