function [output list] = function_template ( [function argument list] )
% 
% ( Header 1: manual entry for the user at HELP ) 
% 
%% Function calling sequence : 
% 
%   [output list] = function_name ( [function argument list] ) ; 
% 
% Brief description of the functionality if not self-evident 
% 
% Input 
% ------
%    variables         description 
%
%                      use proper structures to make variables   
%                      and variable attributes clear 
%                      
% 
% Output
% ------
%    variables         description  
% 
%                      use proper structures to make variables   
%                      and variable attributes clear 
%                      
% 
% 
% Example ( when necessary/helpful ) 
% -----------------------------------
% 


% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% 
% the following headers do not show at HELP 
%
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

% ( Header 2 : program hirarchy and algorithm references  ) 
% 
% Dependencies ( when necessary ) 
% ------------
% 1) list of other functions used in the function 
% 2) list of other scripts used in function 
% 

% ( Header 3 : algorithm description ) 
%
% References ( when necessary ) 
% ----------
% published papers and/or unpublished manuscripts 
% 

% 
% ( Header 4 : application scope and limitation ) 
% 


% 
% ( Header 5 : credits and responsibility ) 
% 
% Programers :  Name 1   (estimated time spent)
%               Name 2   (estimated time spent)
%
% Date of Initial Draft : 
% Date of Last Revision : 
% 
% Acknowledgments : 
% 

% 
% =============================================================
% 


% 
% ------------ begin :  function body -------------
% 

% 
% ...  checking arguments and error reporting if necessary 
% 


%
% ...  base case goes first if it is a recursice function 
% 





%
% 
% ---------- end : function body 


return 


% 
% Extra comments when needed 
% --------------------------
% 
