0001 function varargout = ctranspose(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 if nargin == 2
0025 if isa(varargin{1}, 'ao') && ischar(varargin{2})
0026 in = char(varargin{2});
0027 if strcmp(in, 'Params')
0028 varargout{1} = getDefaultPL();
0029 return
0030 end
0031 end
0032 end
0033
0034
0035 invars = {};
0036 ALGONAME = mfilename;
0037 VERSION = '$Id: ctranspose.m,v 1.7 2007/06/22 08:32:49 ingo Exp $';
0038
0039 as = [];
0040 bs = [];
0041 ps = [];
0042
0043 for j=1:nargin
0044 invars = [invars cellstr(inputname(j))];
0045 if isa(varargin{j}, 'ao')
0046 as = [as varargin{j}];
0047 end
0048 if isa(varargin{j}, 'plist')
0049 ps = [ps varargin{j}];
0050 end
0051 end
0052
0053
0054
0055 if isempty(ps)
0056 pl = getDefaultPL();
0057 else
0058 pl = combine(ps, getDefaultPL);
0059 end
0060
0061
0062 for j=1:length(as)
0063 a = as(j);
0064
0065 d = get(a, 'data');
0066 dinfo = whos('d');
0067
0068 dtype = dinfo.class;
0069
0070 switch dtype
0071 case 'cdata'
0072 disp('* CTRANSPOSE of cdata object');
0073
0074 [h, c] = single_operation(d, 'ctranspose', pl);
0075
0076
0077 h = set(h, 'invars', [a.hist]);
0078 b = ao(c, h);
0079 b = set(b, 'name', sprintf('ctranspose(%s)', char(invars{1})));
0080
0081 case {'tsdata','fsdata','xydata'}
0082 error('### this function works for cdata type AO only')
0083 otherwise
0084 error('### unknown data type.')
0085
0086 end
0087
0088
0089 bs = [bs b];
0090 end
0091 varargout{1} = bs;
0092
0093 function plo = getDefaultPL()
0094
0095 disp('* creating default plist...');
0096 plo = plist();
0097 disp('* done.');
0098
0099