Поздний ответ, но да, вы можете построить спектрограмму в конструкторе приложений.
ниже приведен фрагмент кода, который я использовал.
[s,f,t] = spectrogram(app.Bx.Data,512,50,512,app.Frequency);
imagesc(app.UIAxesPSBx,t,f,log(abs(s)));
app.UIAxesPSBx.View = [90 90];
app.UIAxesPSBx.YLim = [0 (app.Frequency/2)];
app.UIAxesPSBx.YLabel.String = 'Frequency (Hz)';
app.UIAxesPSBx.XLim = [0 (app.DataLength/app.Frequency)];
app.UIAxesPSBx.XLabel.String = 'Time (UTC)';
colorbar(app.UIAxesPSBx, 'Color',[0.8 0.8 0.8]);
просто помните, что вы меняете угол обзора для осей пользовательского интерфейса, поэтому, если вы хотите изменить его на спектральную плотность мощности Уэлча, вам нужно изменить угол обзора, как показано ниже.
[pxx,f] = pwelch(app.Bx.Data,[],[],[],app.Frequency);
line(app.UIAxesPSBx,f,10*log10(pxx),'Color',[0.27 0.87 1], 'LineWidth',0.8);
app.UIAxesPSBx.View = [0 90];
app.UIAxesPSBx.YLimMode = 'auto';
app.UIAxesPSBx.XLimMode = 'auto';
colorbar(app.UIAxesPSBx,'off');
app.UIAxesPSBx.XLabel.String = 'Frequency (Hz)';
app.UIAxesPSBx.YLabel.String = 'Power/frequency (dB/Hz)';