0001 function varargout = conj(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 VERSION = '$Id: conj.m,v 1.9 2007/10/09 14:05:25 ingo Exp $';
0025
0026 invars = {};
0027 as = [];
0028 bs = [];
0029 ps = [];
0030
0031 if nargin == 2
0032 if isa(varargin{1}, 'ao') && ischar(varargin{2})
0033 in = char(varargin{2});
0034 if strcmp(in, 'Params')
0035 varargout{1} = getDefaultPL();
0036 return
0037 elseif strcmp(in, 'Version')
0038 varargout{1} = VERSION;
0039 return
0040 end
0041 end
0042 end
0043
0044
0045 for j=1:nargin
0046 invars = [invars cellstr(inputname(j))];
0047 if isa(varargin{j}, 'ao')
0048 as = [as varargin{j}];
0049 end
0050 if isa(varargin{j}, 'plist')
0051 ps = [ps varargin{j}];
0052 end
0053 end
0054
0055
0056 if isempty(ps)
0057 pl = getDefaultPL();
0058 else
0059 pl = combine(ps, getDefaultPL);
0060 end
0061
0062
0063 for j=1:numel(as)
0064 a = as(j);
0065
0066 [h, conj_data] = single_operation(a.data, 'abs', pl);
0067
0068
0069 conj_data = set(conj_data, 'xunits', a.data.xunits);
0070 conj_data = set(conj_data, 'yunits', a.data.yunits);
0071
0072 conj_data = set(conj_data, 'name', sprintf ('conj(%s)',a.data.name));
0073
0074
0075 h = set(h, 'inhists', [a.hist]);
0076
0077
0078 if (j <= nargin)
0079 if (isempty (inputname(j)))
0080 h = set(h, 'invars', cellstr('no var_name'));
0081 else
0082 h = set(h, 'invars', cellstr(inputname(j)));
0083 end
0084 else
0085 h = set(h, 'invars', cellstr('no var_name'));
0086 end
0087
0088
0089 new_ao = ao (conj_data, h);
0090 new_ao = set (new_ao, 'name', sprintf('conj(%s)',a.name) );
0091
0092
0093 bs = [bs new_ao];
0094
0095 end
0096
0097
0098 varargout{1} = reshape(bs, size(as));
0099
0100
0101 function plo = getDefaultPL()
0102 plo = plist();
0103
0104