代码之家  ›  专栏  ›  技术社区  ›  user9003011

如何将矩阵转换为具有下列输出的结构

  •  0
  • user9003011  · 技术社区  · 6 年前

        A=[2 3 4; 5 1 8; 4 4 6; 7 3 9] %input matrix
    
    %desired output
    B(1).x=[2,3,4]
    B(2).x=[5,1,8]
    B(3).x=[4,4,6]
    B(4).x=[7,3,9] 
    

    A实际上是一个很大的矩阵,我想避免“for”循环。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sardar Usama    6 年前

    首次使用 num2cell 转换 A . 然后使用 cell2struct 为了得到你的结果。

    Bcell = num2cell(A, 2);  %
    B = cell2struct(Bcell, 'x', size(A,2));
    

    %感谢 Will 建议用num2细胞代替mat2细胞。