Chức năng lập trình MATLAB có khóa hình con số được tạo không? Tôi muốn vẽ các đường thẳng đứng trên hình nhưng chức năng của đường dường như không làm gì cả. Làm thế nào tôi có thể vẽ một đường trên một phổ MATLAB?Vẽ các đường thẳng đứng trên sơ đồ phổ 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);
Bạn có một số mã tạo ra các quang phổ mà chúng tôi có thể thử nghiệm không? –
Tôi chỉ sử dụng chức năng spectrogram(), tuy nhiên tôi đã thêm mã của tôi vào câu hỏi. Hãy bình luận và bỏ ghi chú các chức năng vẽ đường theo nhu cầu; họ dường như không làm bất cứ điều gì ở đây – user13267
Tôi có thể làm cho mã này hoạt động bằng cách loại bỏ các tùy chọn bổ sung mà bạn chuyển sang 'spectrogram' (lạ) và cũng thay thế dữ liệu thực với nhiễu ngẫu nhiên (thực sự lạ). – Isaac