2

私は一連の時間とリターンをさまざまなマトリックスで持っています。それらを ab c と呼びましょう。それらはすべて x x 2 で、列 1 は秒単位の時間で、列 2 は戻り値です。すべてのリターンは 15 秒 30 秒 45 秒などの一連の時間間隔で設定されていますが、問題はすべての行列がすべての時間バケットを持っているわけではないため、a は 30 x 2 である可能性がありますが、b は 28 x 2 のみである可能性があります。言うまでもなく45秒と戻ります。各マトリックスを確認したいのですが、タイム バケットが欠落している場合はゼロ リターンでバケットを挿入したい - 相互参照する必要があるすべての時間を含む 30 x 1 のコントロール マトリックスを喜んで作成します

4

1 に答える 1

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
于 2013-03-02T06:57:07.137 に答える