0001 function b = subsref(xy, index)
0002
0003
0004
0005
0006
0007
0008
0009
0010 b = [];
0011
0012 fieldName = '';
0013 switch length(index)
0014 case 1
0015 switch index.type
0016 case '()'
0017 idx = index.subs{1};
0018 switch fieldName
0019 case ''
0020 b = [xy.x(idx) xy.y(idx)];
0021 case 'x'
0022 b = xy.x(idx);
0023 case 'y'
0024 b = xy.y(idx);
0025 otherwise
0026 error('### unknown field to index 1.');
0027 end
0028 case '.'
0029 fieldName = index.subs;
0030 eval(sprintf('b = xy.%s;', fieldName));
0031 otherwise
0032 error('### unknown indexing method for xydata objects.');
0033 end
0034 case 2
0035
0036 if index(1).type == '.'
0037
0038 fieldName = index(1).subs;
0039
0040 idx = index(2).subs{1};
0041 switch fieldName
0042 case 'x'
0043 b = xy.x(idx);
0044 case 'y'
0045 b = xy.y(idx);
0046 otherwise
0047 error('### unknown field to index 1.');
0048 end
0049 else
0050 error('### unknown indexing method for xydata objects.');
0051 end
0052 otherwise
0053 error('### unknown indexing method for xydata objects.');
0054 end
0055
0056
0057