function [u,v,w,ind,a,b,c,d]=expbase(nu,u,v,w,varargin) Expand u,v,w over freqency vector nu Output ind is an array of frequency index numbers Optional input args which must be same size as u,v,w will also be expanded e.g. [x,y,z]=sza_antcoords [u,v,w]=projbase(x,y,z,34,34,[-3:0.5:+3]) [u,v,w]=expbase([28.5:35.5]*1e9,u,v,w) plot(u,v,'+')
0001 function [u,v,w,ind,a,b,c,d]=expbase(nu,u,v,w,varargin) 0002 % function [u,v,w,ind,a,b,c,d]=expbase(nu,u,v,w,varargin) 0003 % 0004 % Expand u,v,w over freqency vector nu 0005 % Output ind is an array of frequency index numbers 0006 % Optional input args which must be same size as u,v,w will also 0007 % be expanded 0008 % e.g. [x,y,z]=sza_antcoords 0009 % [u,v,w]=projbase(x,y,z,34,34,[-3:0.5:+3]) 0010 % [u,v,w]=expbase([28.5:35.5]*1e9,u,v,w) 0011 % plot(u,v,'+') 0012 0013 % make freq index array 0014 n(1,1,:)=1:length(nu); 0015 ind=repmat(n,[size(u),1]); 0016 0017 % Expand u,v,w over bands 0018 u=repmat(u,[1,1,length(nu)]); 0019 v=repmat(v,[1,1,length(nu)]); 0020 w=repmat(w,[1,1,length(nu)]); 0021 0022 % scale from meters to wavelengths at each band 0023 lambda=cvec(3e8./nu); 0024 for i=1:length(lambda) 0025 u(:,:,i)=u(:,:,i)/lambda(i); 0026 v(:,:,i)=v(:,:,i)/lambda(i); 0027 w(:,:,i)=w(:,:,i)/lambda(i); 0028 end 0029 0030 % Expand optional additional args 0031 if(length(varargin)>0) 0032 a=repmat(varargin{1},[1,1,length(nu)]); 0033 end 0034 if(length(varargin)>1) 0035 b=repmat(varargin{2},[1,1,length(nu)]); 0036 end 0037 if(length(varargin)>2) 0038 c=repmat(varargin{3},[1,1,length(nu)]); 0039 end 0040 if(length(varargin)>3) 0041 d=repmat(varargin{4},[1,1,length(nu)]); 0042 end 0043 0044 return