【问题标题】:Convert vertical matrix to horizontal将垂直矩阵转换为水平矩阵
【发布时间】:2013-11-08 17:17:12
【问题描述】:

如何将垂直矩阵转换为水平矩阵?

我的代码:

headersName = get(handles.tagTable, 'ColumnName');

headersName = 

    'Col1'
    'Col2'
    'Col3'
    'Col4'

但我需要这样的水平矩阵:

headersName =

     'Col1'  'Col2'  'Col3'  'Col4'

【问题讨论】:

  • 你必须使用单元矩阵......你的最终目标是什么?为什么需要这种形式?
  • @RobertP。为什么不只是转置它? headersName'?在这种情况下,什么是“棘手的”?
  • ...transpose(...) 不工作?

标签: matlab


【解决方案1】:

考虑到headersName 由 MATLAB 打印的方式,它看起来像是一个字符串元胞数组,所以一个简单的转置应该可以工作

headersName = get(handles.tagTable, 'ColumnName').';

否则,如果是字符串数组,可以使用cellstr将其转换为元胞数组,然后应用转置:

headersName = cellstr(get(handles.tagTable, 'ColumnName')).';

【讨论】:

    【解决方案2】:

    在这种情况下最好使用元胞数组:

    headersName={'Col1';'Col2';'Col3';'Col4'}

    标题名称 =

    'Col1'
    'Col2'
    'Col3'
    'Col4'
    

    headersName'

    ans =

    'Col1'    'Col2'    'Col3'    'Col4'        
    

    【讨论】: