Algorithm-CurveFit
view release on metacpan or search on metacpan
t/01basic.t view on Meta::CPAN
'1.96889915439611',
'2.0347028188962',
'2.09678012343498',
'1.96346883059215',
'2.11989134855018',
'2.04484549335896',
'2.13406865949543',
'2.16248993162949',
'2.09003312220615',
'2.14206946826349',
'2.19186995928015',
'2.01793970264423',
'1.9306362515292',
'1.9343252282622',
'1.99483419784696',
'2.11140751953195',
'2.07481600707861',
'2.0913608105674',
'2.13075488654319',
'2.13619157252702',
'2.13530766776266',
'2.11300666979717',
'2.21837949744426',
'2.19201958799807',
'2.09766991449844',
'2.17182223180029',
'2.17618037893199',
'2.26794416667709',
'2.05450291780982',
'2.04181437342668',
'2.19507912736935',
'2.28527771848344',
'2.30130721698316',
'2.11583190599986',
'1.96124105394915',
'2.0265761276989',
'1.93950378313908',
'2.06417550020264',
'2.12565765837745',
'2.02088280071306',
'2.13446746857603',
'2.16453067780087',
'2.01261145537851',
'2.21219342485829',
'1.99356109265438',
'2.0417917884463',
'2.04264067810866',
'2.32892736270956',
'1.94203564172302',
'2.17862453381208',
'2.02298710522281',
'2.06016785210408',
'2.08654762730258',
'2.24630881136672',
'2.24898854508052',
'2.10667677725939',
'2.27627593183404'
];
my $formula = 'c+a*foo^2';
my $max_iter = 100;
my $variable = 'foo';
my @parameters = (
['a', 2, 0.0000001],
['c', 20, 0.0000005],
);
my $sqr;
eval {
$sqr = Algorithm::CurveFit::curve_fit(
variable => $variable,
formula => $formula,
params => \@parameters,
maximum_iterations => $max_iter,
xdata => $xdata,
ydata => $ydata,
);
};
ok(!$@, "Call didn't die ($@).");
ok($parameters[0][1] > 0.2-0.1, "Param 1 not too small.");
ok($parameters[0][1] < 0.2+0.1, "Param 1 not too big.");
ok($parameters[1][1] > 2-0.5, "Param 2 not too small.");
ok($parameters[1][1] < 2+0.5, "Param 2 not too big.");
ok(defined $sqr, "Sum of square residuals returned.");
( run in 1.434 second using v1.01-cache-2.11-cpan-98d9bbf8dc8 )