1

方形波データを瞬時周波数に変換し、時間に対してプロットしようとしています。1 つのデータ セットでは正しく機能しますが、他の 3 つのデータ セットは画像に示すようにプロットされています。

http://i.imgur.com/iuL648o.png

時間は線形であるため、そのようにプロットするべきではありません。誰が何が起こっているかについて何か考えがありますか? 私は次のコードを使用しています:

ddiff = diff(flow(:,1));
locations = find(ddiff(1:end-1,1)>0.1 & ddiff(2:end,1) <=0.1);
for z = 2:length(locations)
    inst_freq(z-1) = 1/(time(locations(z))-time(locations(z-1)));
    freq_time(z-1) = time(locations(z));
end
plot(freq_time,inst_freq)

編集: 以下のコメントに続いて、location 変数が freq_time の inst_freq と同じサイズではないことに気付きました。これは、コードが別のループの一部であり、以前の反復では変数が長かったためです。すべてのループの最後に変数をクリアすると、問題が修正されました。

4

0 に答える 0