1

我正在尝试将方波数据转换为瞬时频率并针对时间进行绘图。它适用于一个数据集,但其他三个正在绘制,如图所示:

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)

编辑:在下面的评论之后,我意识到位置变量与 freq_time 的 inst_freq 的大小不同。这是因为代码是另一个循环的一部分,并且早期的迭代有更长的变量。在每个循环结束时清除变量可以解决问题。

4

0 回答 0