【问题标题】:Inserting matrix as an element of matrix in MATLAB在MATLAB中插入矩阵作为矩阵的元素
【发布时间】:2017-11-16 22:45:27
【问题描述】:

我有以下矩阵

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].'

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    人行道是这样的:

    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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多