将单元格行转换为单元格列

时间:2017-02-14 18:24:06

标签: matlab

我有一个矩阵B(1 * 5个单元格)我想将它更改为B(5 * 1单元格),知道矩阵的每个元素都包含(1 * 18个单元格),每个元素都是一个单元格

原始矩阵

        [1]           [2]        [3]           [4]          [5]`
[1] (1*18 cell)   (1*18 cell)   (1*18 cell) (1*18 cell)  (1*18 cell)

我的目标是:

1)将行从B转换为列%I尝试使用C = A(:);并且C = B.'

2)使用cell2mat使B为无细胞矩阵,使用cell2mat%Error(第53行) 不能支持包含单元格数组或对象的单元格数组。

所需的输出是:

        [1]  [2]   [3]    [4]    [5]    [6]   [7]   [8]    [9]   [10]   [11]  ... [18]  
    [1] 2    1.5   1.69   1.02   1      1.36  1     2      1.67  1.20   1.36  ...     
    [2] 2    1.53  1.99   1      1.36   1     2     1      1     1.99   1.02 ...     
    [3] 1.02 1     1.36   1.3    2      1.67  1.20  1.36   1.99  2      1.5  ...  
    [4] 2    1.53  1.99   1      1.36   1     2     1      1     1.36   1.99 ...   
    [5] 1.5  1.69  1.02   1.2    1.36   1     2     1      1.36   1.5   1.5 ...

感谢

1 个答案:

答案 0 :(得分:2)

您可以使用function getHTMLElementLeft(HTMLElement, left) { if (left == undefined) { var left = 0; } if (HTMLElement.nodeType == 1) { left += HTMLElement.offsetLeft; if (HTMLElement.offsetParent) { left = getHTMLElementLeft(HTMLElement.offsetParent, left); } } return left; } (结合cat索引创建以逗号分隔的列表)来连接第一维{}中的所有单元格数组

B

如果您希望结果不再是单元格,请在输出

上使用out = cat(1, B{:});
cell2mat