0001 function varargout = save(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 ALGONAME = mfilename;
0016 VERSION = '$Id: save.html,v 1.1 2007/06/08 14:15:03 hewitson Exp $';
0017
0018 if nargin ~= 2
0019 help mfilename;
0020 error('### incorrect inputs');
0021 end
0022
0023
0024 a = varargin{1};
0025 if isa(varargin{2}, 'plist')
0026 filename = find(varargin{2}, 'filename');
0027 plo = varargin{2};
0028 else
0029
0030 filename = varargin{2};
0031 plo = plist(param('filename', filename));
0032 end
0033
0034
0035 [path,name,ext,vers] = fileparts(filename);
0036
0037 switch ext
0038 case '.mat'
0039
0040 save(filename, 'a');
0041
0042 case '.xml'
0043
0044
0045 data = a.data;
0046 hist = a.hist;
0047
0048
0049 h = history(ALGONAME, VERSION, plo, hist);
0050
0051
0052 b = ao(data, h);
0053
0054
0055 b = set(b, 'name', sprintf('save(%s,%s)', a.name, filename));
0056 b = set(b, 'tag', a.tag);
0057
0058
0059 x = xml(b);
0060
0061 xmlwrite(filename,x.docNode);
0062
0063 otherwise
0064 error('### unknown file extension.');
0065 end
0066
0067
0068 for j=1:nargout
0069 varargout{j} = [];
0070 end
0071
0072
0073