Mercurial > hg > ltpda
diff m-toolbox/test/test_ao_polyfit.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_polyfit.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,60 @@ +% TEST_AO_POLYFIT tests the polyfit method of the AO class. +% +% M Hewitson 05-06-07 +% +% $Id: test_ao_polyfit.m,v 1.19 2011/05/12 03:38:27 mauro Exp $ +% +% function test_ao_polyfit() + + + %% Make fake AO from polyval + nsecs = 100; + fs = 10; + + unit_list = unit.supportedUnits; + u = unit(cell2mat(utils.math.randelement(unit_list,1))); + + pl = plist('nsecs', nsecs, 'fs', fs, ... + 'tsfcn', 'polyval([3 2 1 ], t) + 1000*randn(size(t))', ... + 'xunits', 's', 'yunits', u); + + a1 = ao(pl); + + %% Fit a polynomial + N = 3; + p1 = polyfit(a1, plist('N', N)); + p2 = polyfit(a1, plist('N', N, 'rescale', true)); + + + %% Compute fit: from polyval + + b1 = ao(plist('polyval', p1, 't', a1, 'xunits', a1.xunits)); + b2 = ao(plist('polyval', p2, 't', a1, 'xunits', a1.xunits)); + + %% Plot fit + iplot(a1, b1, plist('LineStyles', {'', '--'})); + + %% Remove polynomial + c = a1-b1; + iplot(c) + + plot(c.hist) + + %% Reproduce from history + disp('Try rebuilding') + a_out = rebuild(c); + iplot(a_out) + plot(a_out.hist) + + %% Compute fit: evaluating pest + + b11 = p1.eval(a1, plist('type', 'tsdata', 'xfield', 'x')); + mu = find(p2.procinfo, 'mu'); + b21 = p2.eval(plist('type', 'tsdata', 'XData', (a1.x - mu(1))/mu(2), 'xfield', 'x')); + b21.setX(a1.x); + + %% Plot fit + iplot(a1, b11, b21, plist('LineStyles', {'all','-'})); + +% end +% END