在GUI Matlab中在轴上使用规范

Mouseferi

我创建了一个matlab gui并在其中包含了一些带有某些轴的元素。我使用以下命令在plotter1(第一轴)中绘制了我的一个愿望图

plot(handles.ploter1,xx); title(handles.ploter1,'Waveform');

没关系,但是我想在另一个轴上使用频谱图并在另一个轴上绘制频谱图结果,因为我不知道该怎么做:(
我测试

specgram(wav,N,fs,hamming(N/4),round(0.9*N/4));xlabel('time, s');

或者

specgram(handles.ploter2,wav,N,fs,hamming(N/4),round(0.9*N/4));xlabel('time, s');

但返回我错误或什么都没有! 在此处输入图片说明

请帮我。非常感谢你

卢修斯2。

编辑

如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] =频谱图(x,window,noverlap,F)使用频率为Hz的向量F。F必须是至少包含两个元素的向量。这种情况下使用Goertzel算法以F处的频率计算频谱图。将指定的频率四舍五入到与信号分辨率相称的最接近的DFT格。在使用nfft或nfft的默认值的所有其他语法情况下,将使用短时傅立叶变换。返回的F向量是四舍五入频率的向量。T是计算频谱图的时间向量。F的长度等于S的行数。T的长度等于k,如上所述,并且每个值对应于每个段的中心。

[S,F,T] =频谱图(x,window,noverlap,F,fs)使用如上所述的以Hz为单位的频率矢量F,并使用以Hz为单位的fs采样频率。如果将fs指定为空[],则默认为1 Hz。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章