Ha la funzione di spettrogramma MATLAB bloccare la figura creata in ogni caso? Voglio disegnare linee verticali sulla figura, ma la funzione di linea non sembra fare nulla. Come posso tracciare una linea su uno spettrogramma matlab?Disegnare linee verticali su MATLAB spettrogramma trama
clc; clear all; close all;
[data, fs, nbits] = wavread(<INSERT WAVE FILE HERE>);
% [data, fs, nbits] = wavread('white_0.05_6sec_aud.wav');
N_data=length(data); N_frame=128; N_half=N_frame/2; N_loop=N_data/(N_half);
output=zeros(N_data,1);
hz=0:(fs/2)/N_half:(fs/2)-(fs/2)/N_half;
spectrogram(data, hanning(N_frame), N_half, N_frame, fs);
x = [6500 6500];
y = [0 5.5];
H = gca;
% set(gca, 'NextPlot', 'add');
% line(x, y);
h = line([6500, 6500], [0, 5.5]);
set(h, 'parent', handles.predicted_ax);
% view(-90,90)
% set(gca,'ydir','reverse')
%
% [y, x] = ginput(1)
% view(-90, 180);
Avete un codice che crea spettogrammi con cui possiamo testare? –
Sto solo usando la funzione spectrogram(), tuttavia ho aggiunto il mio codice alla domanda. Si prega di commentare e decommentare le funzioni di disegno a tratteggio come necessario; non sembrano fare nulla qui – user13267
Posso far funzionare questo codice eliminando le opzioni extra passate a 'spectrogram' (strano) e sostituendo anche i dati reali con rumore casuale (davvero strano). – Isaac