Source for file LMQuadTest.php
Documentation is available at LMQuadTest.php
* quadratic (p-o)'S'S(p-o)
* S is a single scale factor
if (count($a) != 3) die ("Wrong number of elements in array a");
if (count($x) != 2) die ("Wrong number of elements in array x");
return $sdx* $sdx + $sdy* $sdy;
* z = (s*(px-ox))^2 + (s*(py-oy))^2
* dz/dox = -2(s*(px-ox))*s
* dz/ds = 2*s*[(px-ox)^2 + (py-oy)^2]
* z = (s*dx)^2 + (s*dy)^2
* dz/ds = 2(s*dx)*dx + 2(s*dy)*dy
function grad(double[] x, double[] a, int a_k) {
if (count($a) != 3) die ("Wrong number of elements in array a");
if (count($x) != 2) die ("Wrong number of elements in array x");
if ($a_k < 3) die ("a_k=". $a_k;);
return 2.* $s* ($dx* $dx + $dy* $dy);
for($r = - 2; $r <= 2; $r++ ) {
for($c = - 2; $c <= 2; $c++ ) {
$y[$i] = $this->val($x[$i], $a);
print ("Quad ". $c. ",". $r. " -> ". $y[$i]. "<br />");
|