Function to plot a time-frequency matrix X. Time and frequency axes are in t and f. If error bars are specified in Xerr, it also plots them. Xerr contains upper and lower confidence intervals on X. Usage: plot_matrix(X,t,f,plt,Xerr) Inputs: X: input vector as a function of time and frequency (t x f) t: t axis grid for plot. Default [1:size(X,1)] f: f axis grid for plot. Default. [1:size(X,2)] plt: 'l' for log, 'n' for no log. Xerr: lower and upper confidence intervals for X1: lower/upper x t x f.
0001 function plot_matrix(X,t,f,plt,Xerr) 0002 % Function to plot a time-frequency matrix X. Time and frequency axes are in t and f. 0003 % If error bars are specified in Xerr, 0004 % it also plots them. Xerr contains upper and lower confidence intervals 0005 % on X. 0006 % Usage: plot_matrix(X,t,f,plt,Xerr) 0007 % Inputs: 0008 % X: input vector as a function of time and frequency (t x f) 0009 % t: t axis grid for plot. Default [1:size(X,1)] 0010 % f: f axis grid for plot. Default. [1:size(X,2)] 0011 % plt: 'l' for log, 'n' for no log. 0012 % Xerr: lower and upper confidence intervals for X1: lower/upper x t x f. 0013 if nargin < 1; error('Need data'); end; 0014 [NT,NF]=size(X); 0015 if nargin < 2; 0016 t=1:NT; 0017 end; 0018 if nargin < 3; 0019 f=1:NF; 0020 end; 0021 if length(f)~=NF || length(t)~=NT; error('axes grid and data have incompatible lengths'); end; 0022 if nargin < 4 || isempty(plt); 0023 plt='l'; 0024 end; 0025 if strcmp(plt,'l'); 0026 X=10*log10(X); 0027 if nargin ==5; Xerr=10*log10(Xerr); end; 0028 end; 0029 0030 if nargin < 5; 0031 imagesc(t,f,X');axis xy; colorbar; title('Spectrogram'); 0032 else 0033 subplot(311); imagesc(t,f,squeeze(Xerr(1,:,:))'); axis xy; colorbar; title('Lower confidence'); 0034 subplot(312); imagesc(t,f,X'); title('X');axis xy; colorbar; 0035 subplot(313); imagesc(t,f,squeeze(Xerr(2,:,:))'); axis xy; colorbar; title('Upper confidence'); 0036 end; 0037 xlabel('t');ylabel('f'); 0038