瞬时频率未在Matlab中正确绘制

时间:2013-11-06 03:51:45

标签: matlab plot frequency

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

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)

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

0 个答案:

没有答案