Algorithm-CurveFit
view release on metacpan or search on metacpan
my $b = Module::Build->new(
module_name => 'Algorithm::CurveFit',
dist_author => [
'Steffen Mueller <smueller@cpan.org>', 'Paul Cochrane <ptc@cpan.org>',
],
license => 'perl',
configure_requires => {
'Module::Build' => 0.42,
},
requires => {
'Data::Dumper' => '0',
'Math::Symbolic' => '0.602',
'Math::MatrixReal' => '0',
'perl' => 5.006,
},
recommends => {
'Test::Pod' => '1.0',
'Test::Pod::Coverage' => '1.0',
},
build_requires => {
'Test::More' => 0,
"requires" : {
"Module::Build" : "0.42"
}
},
"runtime" : {
"recommends" : {
"Test::Pod" : "1.0",
"Test::Pod::Coverage" : "1.0"
},
"requires" : {
"Data::Dumper" : "0",
"Math::MatrixReal" : "0",
"Math::Symbolic" : "0.602",
"perl" : "5.006"
}
}
},
"provides" : {
"Algorithm::CurveFit" : {
"file" : "lib/Algorithm/CurveFit.pm",
"version" : "1.06"
version: '1.4'
name: Algorithm-CurveFit
provides:
Algorithm::CurveFit:
file: lib/Algorithm/CurveFit.pm
version: '1.06'
recommends:
Test::Pod: '1.0'
Test::Pod::Coverage: '1.0'
requires:
Data::Dumper: '0'
Math::MatrixReal: '0'
Math::Symbolic: '0.602'
perl: '5.006'
resources:
license: http://dev.perl.org/licenses/
version: '1.06'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
Makefile.PL view on Meta::CPAN
# Note: this file was auto-generated by Module::Build::Compat version 0.4234
require 5.006;
use ExtUtils::MakeMaker;
WriteMakefile
(
'NAME' => 'Algorithm::CurveFit',
'VERSION_FROM' => 'lib/Algorithm/CurveFit.pm',
'PREREQ_PM' => {
'Data::Dumper' => '0',
'Math::MatrixReal' => '0',
'Math::Symbolic' => '0.602',
'Test::More' => 0
},
'INSTALLDIRS' => 'site',
'EXE_FILES' => [],
'PL_FILES' => {}
)
;
my $square_residual = Algorithm::CurveFit->curve_fit(
formula => $formula, # may be a Math::Symbolic tree instead
params => \@parameters,
variable => $variable,
xdata => \@xdata,
ydata => \@ydata,
maximum_iterations => $max_iter,
);
use Data::Dumper;
print Dumper \@parameters;
# Prints
# $VAR1 = [
# [
# 'a',
# '0.201366784209602',
# '1e-05'
# ],
# [
# 'c',
examples/examplefit.pl view on Meta::CPAN
my $square_residual = Algorithm::CurveFit->curve_fit(
formula => $formula, # may be a Math::Symbolic tree instead
params => \@parameters,
variable => $variable,
xdata => \@xdata,
ydata => \@ydata,
maximum_iterations => $max_iter,
);
use Data::Dumper;
print Dumper \@parameters;
print Dumper $square_residual;
lib/Algorithm/CurveFit.pm view on Meta::CPAN
'all' => [ qw( curve_fit ) ]
);
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw();
use Carp qw/confess/;
use Math::Symbolic qw/parse_from_string/;
use Math::MatrixReal;
use Data::Dumper;
# machine epsilon
use constant EPS => 2.2e-16;
use constant SQRT_EPS => sqrt(EPS);
sub curve_fit {
shift @_ if not ref $_[0] and defined $_[0] and $_[0] eq 'Algorithm::CurveFit';
confess('Uneven number of arguments to Algorithm::CurveFit::curve_fit.')
if @_ % 2;
lib/Algorithm/CurveFit.pm view on Meta::CPAN
my $square_residual = Algorithm::CurveFit->curve_fit(
formula => $formula, # may be a Math::Symbolic tree instead
params => \@parameters,
variable => $variable,
xdata => \@xdata,
ydata => \@ydata,
maximum_iterations => $max_iter,
);
use Data::Dumper;
print Dumper \@parameters;
# Prints
# $VAR1 = [
# [
# 'a',
# '0.201366784209602',
# '1e-05'
# ],
# [
# 'c',
t/02bad_deriv.t view on Meta::CPAN
Algorithm::CurveFit->curve_fit(
formula => 'sqrt( s*(x-x0)^2 + c) + y0',
variable => 'x',
params => \@parameters,
xdata => \@xdata,
ydata => \@ydata,
maximum_iterations => 20,
);
#use Data::Dumper;
#print Dumper \@parameters;
ok(@parameters == 4);
my @val = (5.15, 0.01, 0.100, 1.045);
my @eps = (1.00, 0.10, 1.000, 0.100);
foreach my $par (0..$#parameters) {
my $v = $parameters[$par][1];
ok(defined $v);
ok($v + $eps[$par] > $val[$par]);
( run in 0.593 second using v1.01-cache-2.11-cpan-a5abf4f5562 )