Mercurial > hg > ltpda
view m-toolbox/test/test_ao_polyfit.m @ 22:b11e88004fca database-connection-manager
Update collection.fromRepository
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Mon, 05 Dec 2011 16:20:06 +0100 |
parents | f0afece42f48 |
children |
line wrap: on
line source
% 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