Algorithm-CurveFit
view release on metacpan or search on metacpan
t/01basic.t view on Meta::CPAN
'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 0.385 second using v1.01-cache-2.11-cpan-71847e10f99 )