【问题标题】:Putting same columns of matrix to cell in matlab将相同的矩阵列放入matlab中的单元格
【发布时间】:2018-07-12 08:19:03
【问题描述】:

我有一个如图所示的矩阵。我想要做的是将具有相同列名('32,32','42,42')的所有列(从第二列开始)与列1中的相应元素一起放在一个单元格中。任何人都可以建议我如何前进?

【问题讨论】:

    标签: matlab matrix concatenation cell


    【解决方案1】:

    从图片看来,总是出现“列名”相同的列 作为一对并排。如果总是这样,您可以使用以下方法:

    for i = 2:2:size(data,2)
        myCell{i/2} = [data(2:end,1) data(2:end,[i, i+1])];
    end
    

    否则,您将不得不搜索具有相同“列名”的列:

    columnNames = unique(data(1,2:end));
    myCell = cell(1,numel(columnNames));
    for i = 1:numel(myCell)
        idx = data(1,:) == columnNames(i);
        myCell{i} = [data(2:end,1), data(2:end,idx)];
    end
    

    【讨论】:

    • 这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多