Mercurial > hg > ltpda
diff m-toolbox/test/test_ao_split.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/test/test_ao_split.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,50 @@ +% Test AO split method. +% +% M Hewitson 02-03-07 +% +% $Id: test_ao_split.m,v 1.18 2010/05/06 09:33:49 nicolodi Exp $ +% +function test_ao_split() + + % Make test AOs + + nsecs = 10; + fs = 1000; + + pl = plist('nsecs', nsecs, 'fs', fs, 'tsfcn', 'randn(size(t))'); + + a1 = ao(pl); + a1 = a1.setName; + + % Split by time + times = [0.0 1.0 1.0 2.5 2.0 3.0]; + pl = plist('times', times); + b = split(a1, pl); + + % Plot + + iplot(a1, b) + + b1 = b(2); + plot(b1.hist) + + % Recreate from history + a_out = rebuild(b(1)); + + iplot(a_out) + plot(a_out.hist) + + % Construct an AO + a1 = ao(plist('waveform', 'sine', 'f', 0.1, 'a', 1, 'fs', 10, 'nsecs', 10)); + + % This should just remove the first data point + a2 = split(a1, plist('times', [0.05 0])); + + % Check + assert(all(a2.y == a1.y(2:end))); + assert(all(((a2.x + a2.t0.utc_epoch_milli/1000.0) - (a1.x(2:end) + a1.t0.utc_epoch_milli/1000.0)) < 2*eps(a2.x))); + + iplot(a1, a2, plist('markers', {'+','+'})); + +end +% END