2013-03-02 94 views
2

我有一系列的時間和在各種矩陣中的返回值,我們稱它們爲b c。它們都是x乘以2,列1是以秒爲單位的時間,列2返回。雖然所有的回報都超過了15s 30s 45s等一系列時間間隔,但問題並不是所有的矩陣都具有所有時間桶,所以雖然a可能是30乘2,但b可能只是28乘以2。缺少說時間45秒和回報。我想通過每個矩陣,我想我的時間桶中缺少一個時間桶,我想插入一個零回報的桶 - 我很樂意創建一個控制30×1的矩陣,所有時間都需要交叉引用Matlab - 從矩陣中找出一個缺失的時間,並用一個值插入缺失的時間

回答

1

您可以使用ismember找到這些缺失的位置,所以如果a是控制向量而b是缺失的數據向量ind=find(ismember(a,b)==0);會給你指數ab中丟失。

例如:

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 
+0

看上去很完美,非常感謝 - 道歉的套利問題,我是一個初學者非常感謝花時間 – user2126062 2013-03-03 06:34:16