📄 bankdisp.m
字号:
function h = bankdisp(P,F,Pmin,Pmax);% BANKDISP Display filterbank power spectrum in 'bar' form.% BANKDISP(P,F) display the power spectrum P with one bar for% each frequency band in F. P should already be in dB.% P and F must be vectors of same sizes. Some frequency labels% can be omitted by using null elements in F.% Example: F = [ ..., 0 500 0, 0 1000 0, ... ] can be used to% label only the octave bands in a one-third-octave spectrum P. %% BANKDISP(P,F,Pmin,Pmax) can be used to specify explicitly the limits% of the Y axis. If min(P) < 0, this version avoid 'hanging' bars. % % See also FILTBANK.% Author: Christophe Couvreur, Faculte Polytechnique de Mons (Belgium)% couvreur@thor.fpms.ac.be% Last modification: Aug. 27, 1997, 9:00am.N = length(F);if (nargin == 4) if (Pmin < 0) H = bar(P-Pmin); axis([0 N+1 0 Pmax-Pmin]); % YTickLabels = get(gca,'YTickLabels'); % MATLAB 4.1% NewYTickLabels = str2num(YTickLabels) + Pmin;% set(gca,'YTickLabels',NewYTickLabels); YTickLabel = get(gca,'YTickLabel'); % MATLAB 5.1 NewYTickLabel = str2num(YTickLabel) + Pmin; set(gca,'YTickLabel',NewYTickLabel); else H = bar(P); axis([0 N+1 Pmin Pmax]); endelse H = bar(P); ax = axis; axis([0 N+1 ax(3) ax(4)]);endticks = find(F > 0);set(gca,'XTick',ticks); % Label frequency axis.%set(gca,'XTickLabels',F(ticks)); % MATLAB 4.1set(gca,'XTickLabel',F(ticks)); % MATLAB 5.1xlabel('Frequency band [Hz]'); ylabel('Level [dB]');if (nargout ~= 0) h = H;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -