0001 function p = provenance(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010 ALGONAME = mfilename;
0011 VERSION = '$Id: provenance.html,v 1.1 2007/06/08 14:15:07 hewitson Exp $';
0012
0013 if nargin > 0
0014 if ~ischar(varargin{1}) && ~isstruct(varargin{1})
0015 error('### Incorrect usage: first argument should be a character string or a structure.');
0016 end
0017
0018 if isstruct(varargin{1})
0019
0020 p = class(varargin{1}, 'provenance');
0021
0022 return
0023 end
0024
0025 creator = varargin{1};
0026 else
0027 creator = 'unknown';
0028 end
0029 created = sprintf('%s', datestr(now,31));
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047 ipaddress = char(getHostAddress(java.net.InetAddress.getLocalHost));
0048 hostname = char(getHostName(java.net.InetAddress.getLocalHost));
0049 os = computer;
0050
0051
0052
0053
0054
0055 matlab_version = '';
0056 sigproc_version = '';
0057 ltpda_version = '';
0058
0059 vs = ver;
0060 for j=1:length(vs)
0061 v = vs(j);
0062 switch v.Name
0063 case 'MATLAB'
0064 matlab_version = [v.Version ' ' v.Release];
0065 case 'Signal Processing Toolbox'
0066 sigproc_version = [v.Version ' ' v.Release];
0067 case 'LTPDA Toolbox'
0068 ltpda_version = [v.Version ' ' v.Release];
0069 end
0070 end
0071
0072
0073
0074
0075
0076 p.creator = creator;
0077 p.created = created;
0078 p.ip = ipaddress;
0079 p.hostname = hostname;
0080 p.os = os;
0081 p.matlab_version = matlab_version;
0082 p.sigproc_version = sigproc_version;
0083 p.ltpda_version = ltpda_version;
0084 p = class(p, 'provenance');
0085
0086
0087
0088
0089