【问题标题】:Expand table variables in Matlab在 Matlab 中展开表变量
【发布时间】:2023-03-27 16:49:02
【问题描述】:

我有一张桌子:

Values = [2.1 2.4 2.5 2.6; ...
            4.1 4.4 4.5 4.6; ...
            6.1 6.4 6.5 6.6];

ID     = {'x1', 'x4', 'x5', 'x6'};

Ta = array2table(Values,'VariablesNames', ID);

现在我有了另一个 ID 列表:

ID     = {'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7'};

我想扩展我的表格,以便在Ta 中有数据的列上输入Ta 的值,在没有数据的单元格上输入NaN

如何扩展我的表的VariableNames 在必要时保留值?

【问题讨论】:

  • 这是您自己编辑的 previous question 的副本
  • 不完全是,因为我在这里明确询问如何创建一个仅扩展列的新表。我没有提到按时同步该系列。

标签: matlab matlab-table


【解决方案1】:

我们可以这样做: 首先,您需要创建新 ID 表。 然后你可以像往常一样在表格上形成数组。 示例:

x1 = [1; 2; 3; 4;]
x2 = [1;1;1;1]
x4 = [10;10;10;10]
T = table(x1,x2,x4)

T = 

    x1    x2    x4
    __    __    __

    1     1     10
    2     1     10
    3     1     10
    4     1     10

创建新表:

x3 = [123;13;13;123]
x5 = [0;0;0;0]
T1 = table(x3,x5)

T1 = 

    x3     x5
    ___    __

    123    0 
     13    0 
     13    0 
    123    0 

要扩展第一个表,您现在必须使用索引:

T = [T(:,1:2) T1(:,1) T(:,3) T1(:,2)]

所以,现在您需要做的就是创建算法以使用您的 ID 向量选择当前数据表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2023-03-31
    • 2015-03-22
    • 2019-08-28
    • 1970-01-01
    • 2021-12-15
    • 2014-09-12
    相关资源
    最近更新 更多