Home > classes > @fsdata > subsasgn.m

subsasgn

PURPOSE ^

SUBSASGN define index assignment for fsdata properties.

SYNOPSIS ^

function A = subsasgn(A, S, B)

DESCRIPTION ^

 SUBSASGN define index assignment for fsdata properties.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: SUBSASGN define index assignment for fsdata
              properties.

 EXAMPLES:    All possible assignment are possible.

 VERSION:     $Id: subsasgn.m,v 1.2 2007/08/13 13:19:17 ingo Exp $

 HISTORY:     31-01-07 M Hewitson
                 Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function A = subsasgn(A, S, B)
0002 % SUBSASGN define index assignment for fsdata properties.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SUBSASGN define index assignment for fsdata
0007 %              properties.
0008 %
0009 % EXAMPLES:    All possible assignment are possible.
0010 %
0011 % VERSION:     $Id: subsasgn.m,v 1.2 2007/08/13 13:19:17 ingo Exp $
0012 %
0013 % HISTORY:     31-01-07 M Hewitson
0014 %                 Creation
0015 %
0016 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0017 A = builtin ('subsasgn', A, S, B);
0018 
0019 
0020 % function fsd = subsasgn(fsd, index, val)
0021 %
0022 % % SUBSASGN define index assignment for vectors in fsdata.
0023 % %
0024 % % M Hewitson 30-01-07
0025 % %
0026 % % $Id: subsasgn.m,v 1.2 2007/08/13 13:19:17 ingo Exp $
0027 % %
0028 %
0029 % if size(val,2) > size(val,1)
0030 %   val = val.';
0031 % end
0032 %
0033 % switch length(index)
0034 %   case 1   % fsd(idx) = [] or fsd.f = [] or fsd.xx = []
0035 %     switch index.type
0036 %       case '()'
0037 %         idx = index.subs{1};
0038 %         if length(val) ~= length(idx)
0039 %           error('### number of values does not match number of indices.');
0040 %         end
0041 %         fsd.f(idx)  = val(1,:);
0042 %         fsd.xx(idx) = val(2,:);
0043 %       case '.'
0044 %         switch index.subs
0045 %           case 'f'
0046 %             fsd.f = val;
0047 %             if length(val) ~= length(fsd.xx)
0048 %               warning('!!! Frequency vector not consistent with xx vector');
0049 %             end
0050 %           case 'xx'
0051 %             fsd.xx = val;
0052 %             if length(val) ~= length(fsd.xx)
0053 %               warning('!!! xx vector not consistent with frequency vector');
0054 %             end
0055 %           otherwise
0056 %             error('### unknown field for indexing.');
0057 %         end
0058 %       otherwise
0059 %         error('### unknown indexing method for fsdata objects.');
0060 %     end
0061 %   case 2 % ts.t(idx) = [] or ts.x(idx) = []
0062 %
0063 %     if index(1).type == '.'
0064 %       % first index gets us field name
0065 %       fieldName = index(1).subs;
0066 %       % second index gets us indices
0067 %       idx = index(2).subs{1};
0068 %       switch fieldName
0069 %         case 'f'
0070 %           fsd.f(idx) = val;
0071 %         case 'xx'
0072 %           fsd.xx(idx) = val;
0073 %         otherwise
0074 %           error('### unknown field to index 1.');
0075 %       end
0076 %     else
0077 %       error('### unknown indexing method for fsdata objects.');
0078 %     end
0079 %
0080 %   otherwise
0081 %     error('### unknown indexing method for fsdata objects.');
0082 % end
0083 
0084 % END

Generated on Mon 03-Sep-2007 12:12:34 by m2html © 2003