簡體   English   中英

在GUI matlab中使用軸中的specgram

[英]use specgram in axes in GUI matlab

我創建了一個matlab gui,並在其中包含一些帶有一些軸的元素。 我在ploter1(第一軸)中繪制了我想要的一個繪圖

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

它沒關系,但我希望使用specgram和情節規格結果在另一個軸上我不知道該怎么辦:(
我測試一下

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');

但是回復我的錯誤或沒有! 在此輸入圖像描述

請幫我。 非常感謝你

編輯

正如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] =頻譜圖(...)返回頻率矢量F和計算頻譜圖的時間矢量T. F的長度等於S的行數.T具有長度k(如上所述),T中的值對應於每個段的中心。

[S,F,T] =頻譜圖(x,窗口,noverlap,F)使用頻率為Hz的矢量F. F必須是具有至少兩個元素的向量。 這種情況使用Goertzel算法計算F中頻率的頻譜圖。 指定的頻率四舍五入到與信號分辨率相稱的最接近的DFT箱。 在使用nfft或nfft的默認值的所有其他語法情況中,使用短時傅立葉變換。 返回的F向量是舍入頻率的向量。 T是計算頻譜圖的時間矢量。 F的長度等於S的行數.T的長度等於k,如上所定義,並且每個值對應於每個段的中心。

[S,F,T] =頻譜圖(x,窗口,noverlap,F,fs)如上所述使用頻率為Hz的矢量F,並使用以Hz為單位的fs采樣頻率。 如果將fs指定為空[],則默認為1 Hz。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM