簡體   English   中英

Matlab-從矩陣中找到遺漏的時間,並在遺漏的時間中插入一個值

[英]Matlab - find a missing time from a matrix and insert the missing time with a value

我有一系列的時間,各種矩陣的收益率讓它們稱為ab c。 它們全都是2乘以x,第1列是以秒為單位的時間,第2列返回。 雖然所有收益都是在一組固定的時間間隔(如15s,30s,45s等)上發生的,但問題不是所有矩陣都具有所有時間段,因此,盡管a可能是30 x 2,b可能只是28 x 2。錯過了說時間45秒和返回。 我想遍歷每個矩陣,在哪里我想念一個時間段,我想插入一個零回報的時間段-我很高興創建一個30 x 1矩陣控件,其中所有時間都需要交叉引用

您可以使用ismember定位這些丟失的位置,因此,如果a是控制向量, b是丟失的數據向量,則ind=find(ismember(a,b)==0); 會給你的指標a是缺少在b

例如:

a=1:10;
b=[1:2 4:5 7:10];
ind=find(ismember(a,b)==0);

ind =
     3     6

為了在b的正確位置添加零

for n=1:numel(ind)
    b=[b(1:ind(n)-1) , 0 , b(ind(n):end)];
end

b =
 1     2     0     4     5     0     7     8     9    10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM