代码之家  ›  专栏  ›  技术社区  ›  VSB

matlab:矩阵相关时间戳合并后的扩展

  •  1
  • VSB  · 技术社区  · 7 年前

    我需要矩阵A(n,2)和B(m,2)。它们都显示了一个信号在特定时刻的电压。在这两个矩阵中,第一列显示 第二栏显示 在那一刻。 为了便于演示,我在下图中以水平形式展示了它们: enter image description here

    所以时间戳应该是A和B的时间戳的联合,即。 [1 2 3 4 5 10 11 13 15 16]

    使用这个新的时间戳,我需要扩展A和B,这样当有一个样本和那个时刻,它的值必须被反映出来,否则应该考虑那个时刻的电压 0 enter image description here

    我的实际应用程序,我有成千上万的矩阵,像A和B,所以我用 unique 在矩阵上,它包含了所有的时间戳,这样我就有了所有的时间戳。我以前用过的问题 interp1 为了处理丢失的时间戳的情况,它将插值的样本丢失,但目前我需要把 0 当样品丢失时的电压值。

    输入:

    A= [1   2   3   4   10  11  15; 1.01    1.02    1.03    1.04    1.10    1.11    1.15]
    
    
    B= [1   3   5   10  13  16;2.01 2.03    2.05    2.10    2.13    2.16]
    

    Ax  = [1    2   3   4   5   10  11  13  15  16; 1.01    1.02    1.03    1.04    0   1.10    1.11    0   1.15    0]
    Bx = [1  2  3   4   5   10  11  13  15  16;2.01 0   2.03    0   2.05    2.10    0   2.13    0   2.16]
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Luis Mendo    7 年前

    0 .

    u = unique([A(1,:) B(1,:)]);
    Ax = u;
    Ax(2, ismember(u, A(1,:))) = A(2,:);
    Bx = u;
    Bx(2, ismember(u, B(1,:))) = B(2,:);