[ index.php ] [ docs.php ] [ package.php ] [ tests.php ] [ examples.php ] [ download.php ]
Tests

beta.php(execute)
binomial.php(execute)
cauchy.php(execute)
chisqr.php(execute)
exponential.php(execute)
f.php(execute)
gamma.php(execute)
geometric.php(execute)
hypergeometric.php(execute)
lognormal.php(execute)
make_table.php(execute)
multinormal.php(execute)
negativebinomial.php(execute)
normal.php(execute)
pareto.php(execute)
poisson.php(execute)
t.php(execute)
triangle.php(execute)
uniform.php(execute)
weibull.php(execute)

<?php
/**
  Multinormal Distribution - Unit Testing
  @author Michael Bommarito
  @version 03062005
*/

require_once '../MultinormalDistribution.php';

class 
MultinormalDistributionUnit {
  var 
$dist
  
  function 
testPDF$mu null$sigma null$range = array(01), $delta 0.1) {
    
$this->dist = new MultinormalDistribution($mu$sigma);
    for(
$i $range[0]; $i $range[1]; $i += $delta )
      echo 
$i " -> " $this->dist->getPDF(array_fill(0count($mu), $i)) . "<br />";      
  }
}


$m = new MultinormalDistributionUnit();
echo 
'<b>Method #1: &rho;=0</b><br />';
$m->testPDF(array(00), array(22), array(01));

echo 
'<b>Method #2: &rho;!=0, |A|>0</b><br />';
$a = new Matrix(array(array(40), array(04)));
$ai $a->inverse();
$sqadet sqrt(pow(2*pi(), 2) * $a->det());
$mu = new Matrix(120);
for(
$i 0$i 1$i += 0.1) {
  
$y = new Matrix(array(array_fill(02$i)));
  
$y->minusEquals($mu);
  
$yt $y->transpose();
  
$y $y->times($ai);
  
$y $y->times($yt);
  
$Q = -$y->get(00) / 2;
  echo 
exp($Q)/$sqadet '<br />';
}
?>