= 0; $i--) { $xᵢ = $sorted[$i][$x]; $xᵢ₊₁ = $sorted[$i + 1][$x]; $f⟮xᵢ⟯ = $sorted[$i][$y]; // yᵢ $f⟮xᵢ₊₁⟯ = $sorted[$i + 1][$y]; // yᵢ₊₁ $c[$i] = $z[$i] - $μ[$i] * $c[$i + 1]; $b[$i] = ($f⟮xᵢ₊₁⟯ - $f⟮xᵢ⟯) / $h[$i] - $h[$i] * ($c[$i + 1] + 2 * $c[$i]) / 3; $d[$i] = ($c[$i + 1] - $c[$i]) / (3 * $h[$i]); $poly[$i] = new Polynomial([ $d[$i], $c[$i] - 3 * $d[$i] * $xᵢ, $b[$i] - 2 * $c[$i] * $xᵢ + 3 * $d[$i] * ($xᵢ ** 2), $a[$i] - $b[$i] * $xᵢ + $c[$i] * ($xᵢ ** 2) - $d[$i] * ($xᵢ ** 3) ]); if ($i == 0) { $int[$i] = [$xᵢ, $xᵢ₊₁]; } else { $int[$i] = [$xᵢ, $xᵢ₊₁, true, false]; } } $piecewise = new Piecewise($int, $poly); return $piecewise; } }