SIN overloads the sin operator for Analysis objects. Sine of argument in radians. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: SIN overloads the sin operator for Analysis objects. Sine of argument in radians. SIN(ao) is the sine of the elements of ao.data. CALL: ao_out = sin(ao_in); ao_out = sin(ao_in, pl); ao_out = sin(ao1, pl1, ao_vector, ao_matrix, pl2); POSSIBLE VALUES: ao_in = [ao2 ao3] ao_in = ao_vector ao_in = ao_matrix PARAMETER LIST: <key> <value> <description> tsdata fsdata xydata 'xdata' 't' 'f' 'x' compute the xdata 'ydata' 'x' 'xx' 'y' compute the ydata The following call returns a parameter list object that contains the default parameter values: >> pl = sin(ao, 'Params') VERSION: $Id: sin.m,v 1.12 2007/07/05 12:11:39 ingo Exp $ HISTORY: 07-05-2007 Diepholz Creation SEE: <a href="matlab: help ao/Contents;">HELP: All Analysis Object Functions:</a> <a href="matlab: helpwin ao/Contents;">DOC: All Analysis Object Functions:</a> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function ao_out = sin (varargin) 0002 % SIN overloads the sin operator for Analysis objects. Sine of argument in radians. 0003 % 0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0005 % 0006 % DESCRIPTION: SIN overloads the sin operator for Analysis objects. 0007 % Sine of argument in radians. 0008 % SIN(ao) is the sine of the elements of ao.data. 0009 % 0010 % CALL: ao_out = sin(ao_in); 0011 % ao_out = sin(ao_in, pl); 0012 % ao_out = sin(ao1, pl1, ao_vector, ao_matrix, pl2); 0013 % 0014 % POSSIBLE VALUES: ao_in = [ao2 ao3] 0015 % ao_in = ao_vector 0016 % ao_in = ao_matrix 0017 % 0018 % PARAMETER LIST: <key> <value> <description> 0019 % tsdata fsdata xydata 0020 % 'xdata' 't' 'f' 'x' compute the xdata 0021 % 'ydata' 'x' 'xx' 'y' compute the ydata 0022 % 0023 % The following call returns a parameter list object that contains the 0024 % default parameter values: 0025 % 0026 % >> pl = sin(ao, 'Params') 0027 % 0028 % VERSION: $Id: sin.m,v 1.12 2007/07/05 12:11:39 ingo Exp $ 0029 % 0030 % HISTORY: 07-05-2007 Diepholz 0031 % Creation 0032 % 0033 % SEE: <a href="matlab: help ao/Contents;">HELP: All Analysis Object Functions:</a> 0034 % <a href="matlab: helpwin ao/Contents;">DOC: All Analysis Object Functions:</a> 0035 % 0036 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0037 0038 ALGONAME = mfilename; 0039 VERSION = '$Id: sin.m,v 1.12 2007/07/05 12:11:39 ingo Exp $'; 0040 ao_out = []; 0041 pl = []; 0042 option = ''; 0043 0044 %% Check if this is a call for parameters 0045 if nargin == 2 0046 if isa(varargin{1}, 'ao') && ischar(varargin{2}) 0047 in = char(varargin{2}); 0048 if strcmp(in, 'Params') 0049 ao_out = getDefaultPL(); 0050 return 0051 end 0052 end 0053 end 0054 0055 %% store the input ao's in the vector: ao_set 0056 ao_set = []; 0057 for i=1:nargin 0058 a = varargin{i}; 0059 if isa(a, 'ao') 0060 0061 a = reshape(a, 1, []); 0062 ao_set = [ao_set a]; 0063 0064 elseif isa(varargin{i}, 'plist') 0065 pl = [pl varargin{i}]; 0066 end 0067 end 0068 0069 if ~isempty (pl) 0070 pl = combine(pl); 0071 end 0072 0073 %% go through analysis objects 0074 for j=1:length(ao_set) 0075 a = ao_set(j); 0076 0077 [h, sin_data] = single_operation(a.data, 'sin', pl); 0078 0079 %% Add the history from the ao object to the history 0080 h = set(h, 'inhists', [a.hist]); 0081 0082 %% Set the var_name to the history 0083 if (j <= nargin) 0084 if (isempty (inputname(j))) 0085 h = set(h, 'invars', cellstr('no var_name')); 0086 else 0087 h = set(h, 'invars', cellstr(inputname(j))); 0088 end 0089 else 0090 h = set(h, 'invars', cellstr('no var_name')); 0091 end 0092 0093 %% create a new analysis objects 0094 new_ao = a; 0095 new_ao = ao (sin_data, h); 0096 new_ao = set (new_ao, 'name', sprintf('sin(%s)',a.name) ); 0097 0098 ao_out = [ao_out new_ao]; 0099 0100 end 0101 0102 %% Get default params 0103 function pl_default = getDefaultPL() 0104 0105 disp('* creating default plist...'); 0106 pl_default = plist([param('xdata', '') 0107 param('ydata', '')]); 0108 disp('* done.'); 0109 0110 0111 % END