在MATLAB中对表格的内容进行排序

娜塔莎(Natasha)

我在MATLAB中创建了以下表格。

Tleft = table(['1'; '2'; "Node9"; "Node10"; ],...
            ["Node9"; "Node10"; '2'; '3';],...
            'VariableNames', {'h', 't'})
Tright = table(['1'; '2'; "Node9"; "Node10"; ],...
        ["Node9"; "Node10"; '2'; '3';],...
        [1;2;3;3],...
        'VariableNames', {'h', 't','value'})

我正在尝试Tright按中存在的行的顺序对行进行排序Tleft

T = innerjoin(Tleft,Tright)

预期结果:

T =

  4×3 table

       h           t        value
    ________    ________    _____

    "1"         "Node9"       1  
    "2"         "Node10"      2  
    "Node9"     "2"           3  
    "Node10"    "3"           3  

获得的结果:

T =


  4×3 table

       h           t        value
    ________    ________    _____

    "1"         "Node9"       1  
    "2"         "Node10"      2  
    "Node10"    "3"           3  
    "Node9"     "2"           3  

关于如何获得预期结果的任何建议?

克里斯蒂安·S。

获得的结果是由排序引起的innerjoin您可以做的一件事是在创建表格时"Node9"用0(即"Node09"填充每个数字

如果这不是一个选择,则可以考虑使用sort_nat(或File Exchange中的任何其他类似的排序方法)并进行T如下排序

[~, index] = sort_nat(T.h);
T(index,:);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章