matlabスペクトログラム関数は作成された図形をとにかくロックしますか?私は図の上に縦線を描きたいが、線の機能は何もしていないようだ。どのように私はMATLABスペクトログラムに線を描くことができますか?matlabスペクトログラムプロットの縦線を描く
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);
私たちがテストできるスペクトログラムを作成するコードがありますか? –
私はspectrogram()関数を使用していますが、質問に自分のコードを追加しました。コメントや、必要に応じて線画機能のコメントを解除してください。彼らはここで何もしないようです。 – user13267
私はこのコードを 'スペクトログラム'(奇妙なもの)に渡す余分なオプションを取り除き、実際のデータをランダムなノイズ(本当に奇妙なもの)で置き換えることで動作させることができます。 – Isaac