[英]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.