2012-01-11 5 views
0

どうすればいいですか?Matlabコードが機能しない、2つの配列をフィルタリングしようとしています

例:X = [6,10,12,20]ポイント1となる6:1とポイント3 = 12:3私は同じ順序を保持したい、この配列から一部elemetsを除去した後も、例えば

ここでやろうとしています何の

例は、(これはビデオ処理コードからである)秒の時間を表して原因秩序を維持しながら、すべての値が意味怒鳴る削除することです:

m=mean(amp); 
for i=totalframes 
    if (amp(i) >= m) 
     time(i)=i/framerate; 
    end 
end 
amp(amp >= m) = []; 
time(time > 0) = []; 
figure, plot(time,amp) %% plot my curve 

シモンズ:時間とアンプのアレイが作成されました以前の私のコードではゼロが...

おかげ

+0

それを行うための簡単な方法はあります> ????私に知らせてください – Zalaboza

答えて

2

あなたがやるべき平均m以下のすべての値削除する場合:

inds=(amp<m) %% find where amp is lower than m 
amp(inds) = []; %% remove corresponding amp 
time(inds) = []; %% remove corresponding time 
figure, plot(time,amp) 
+0

それは魅力のように動作してくれてありがとう^^ – Zalaboza

1

xのデザインを[6; 10; 12; 20]から[1 6; 2 10; 3 12; 4 20]に変更し、この配列をトラバースして、必要のない行を削除すると、結果配列にインデックスが付きます。

関連する問題