Mercurial > hg > ltpda
diff m-toolbox/classes/@tsdata/getX.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/@tsdata/getX.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,56 @@ +% GETX Get the property 'x'. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DESCRIPTION: Get the property 'x'. +% +% CALL: val = obj.getX(); +% val = obj.getX(idx); +% val = obj.getX(1:10); +% +% INPUTS: obj - must be a single tsdata object. +% idx - index of the data samples +% +% VERSION: $Id: getX.m,v 1.13 2011/07/05 06:32:40 mauro Exp $ +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +function x = getX(obj, idx) + + ly = length(obj.y); + sx = size(obj.x); + ts = 1/obj.fs; + if sx(1) == 0 && sx(2) == 0 && ly>0 + x = 0:ts:obj.nsecs-ts; %linspace(0, obj.nsecs-1/obj.fs, obj.nsecs*obj.fs); + else + x = obj.x; + end + + % return always a column vector + if size(x,1) == 1 + x = x.'; + end + + % add the toffset + x = x + obj.toffset / 1000; + + % We can have rounding errors for strange sample rates and Nsecs + if length(x) < ly + while length(x) < ly + x = [x; x(end)+ts]; + end + end + + if length(x) ~= ly + x = x(1:length(obj.y)); + end + + if nargin == 2 + if strcmpi(idx, 'end') + x = x(end); + else + x = x(idx); + end + end + +end +