我需要在Matlab中繪製信號的2D頻譜圖。我需要它來打印作業,因此3D圖像沒有意義。但是,當使用Spectrogram
繪製信號時,它會自動生成信號的3D圖。在Matlab中創建2D頻譜圖
我的代碼:
Dataset = 1; % Dataset to be analysed
N = 1024; % Window size
Beta = 12; % Kaiser window beta value (small = narrow main lope)
Overlap = 800; % Window overlap
Threshold = -150; % Minimum magnitude before threshold
spectrogram(Enclosure{Dataset}(1:end),kaiser(N,Beta),Overlap,2048,fs,'MinThreshold',Threshold,'yaxis');
產生,看起來像這樣的圖表:
但它從上面看,和圖形真正顯示是這樣的:
T他之所以需要它專門爲2D(以及爲什麼我不解決屏幕截圖)是因爲我使用Matlab2tikz
將Matlab數字轉換爲LaTex中的Tikz數字。與3D圖像我得到的數字+100 Mb和2D將減小到< 1Mb的大小。
爲什麼不直接與功能,例如的輸出使2D圖S =光譜圖()。然後用S來製作你的情節。 – willpower2727
這可能是可能的。我只是無法弄清楚如何處理'spectrogram'函數的輸出。軸沒有接近正確的位置,當繪製時顯示一些奇怪的情節。 –