% syntax: writegdx ('gdxFileName'
%                   ,'dataType','gdxSymName',dataMatrix
%                  [,'dataType','gdxSymName',dataMatrix][...]
%                  (optional) UELList)
%
% Write Matlab data in dataMatrix to GDX file gdxFileName as symbol
% gdxSymName. The dataType of gdxSymName must be either 'set' or
% 'parameter', although any abbreviation of these is also accepted.
% UELList is an optional cell of strings.  The gdx file will use it as
% its UEL (unique elements) list, otherwise, the default UEL list 
% '1','2','3',... will be used.
% Note that writegdx does not merge the new data with existing data in
% gdxFileName: if the file exists, it will be overwritten.
%
% Note: this program is modeled to have unlimited inputs, so that GDX
% files containing multiple symbols can be created.  For example:
%
%    writegdx('tang.gdx',  'set','foo',A, ...
%                          'parameter','bar','B')
%
% creates a GDX file tang.gdx containing two symbols - the set foo and
% the parameter bar.
%
% The dataType given determines how the dataMatrix is interpreted.
% Assume size(dataMatrix) = [m,n].
% if dataType is 'set',
%   the output gdxSym will have dimension n and cardinality m, where
%   each row of dataMatrix contains the indices for an element in gdxSym
% if gdxSymName is a parameter,
%   the output gdxSym will have dimension n-1 and cardinality m, where
%   each row of dataMatrix contains the indices for an element in gdxSym
%   in columns [1 .. n-1] and the element's value in column n.


