编辑
正如 bdecaf 的评论中提到的,应该做的是设置当前轴:
axes(handles.ploter2);
现在,当使用时
spectrogram(x,window,noverlap,F)]
绘图应该在指定的轴上。如果没有,请尝试:
hold on
前!
老的
specgram 或 spectogram 没有绘图的参数。您必须稍后定义它。
我建议首先通过以下方式获得结果:
[S,F,T]=spectrogram(x,window,noverlap,F)]
然后将其绘制在特定轴上:
plot(handles.ploter2, S,F)
但我不确定您要绘制哪个参数。请查看文档。
从文档:
[S,F,T] = spectrogram(...) 返回计算频谱图的频率向量 F 和时间向量 T。F 的长度等于 S 的行数。T 的长度为 k(如上定义),T 中的值对应于每个段的中心。
[S,F,T] = spectrogram(x,window,noverlap,F) 使用频率向量 F,以 Hz 为单位。F 必须是至少包含两个元素的向量。这种情况下使用 Goertzel 算法计算 F 中频率的频谱图。指定的频率四舍五入到与信号分辨率相称的最接近的 DFT bin。在使用 nfft 或 nfft 的默认值的所有其他语法情况下,使用短时傅立叶变换。返回的 F 向量是舍入频率的向量。T 是计算频谱图的时间向量。F 的长度等于 S 的行数。 T 的长度等于 k,如上定义,每个值对应于每个段的中心。
[S,F,T] = spectrogram(x,window,noverlap,F,fs) 如上所述使用频率向量 F,以 Hz 为单位,并使用以 Hz 为单位的 fs 采样频率。如果 fs 指定为空 [],则默认为 1 Hz。