На любом, говоришь? Вот тебе интеграл на Go:
package main
import "fmt"
import "math"
func функция(x float64) float64 {
return math.Sqrt(1.0 + x) * math.Cos(x)
}
func интеграл(f func(float64) float64, a, b, ε float64) float64 {
h, s := b - a, (f(a) + f(b)) / 2.0
cur := s * h
for {
prev, q := cur, h / 2.0
for x := a + q; x < b; x += h {
s += f(x)
}
cur, h = s * q, q
if math.Abs(cur - prev) < ε {
return cur
}
}
}
func main() {
fmt.Println(интеграл(функция, 0.0, 1.0, 0.5e-8))
}
Или на PHP:
<?php
function функция(float $x): float {
return sqrt(1.0 + $x) * cos($x);
}
function интеграл(callable $f, float $a, float $b, float $ε): float {
[$h, $s] = [$b - $a, ($f($a) + $f($b)) / 2.0];
$cur = $s * $h;
do {
[$prev, $q] = [$cur, $h / 2];
for ($x = $a + $q; $x < $b; $x += $h) { $s += $f($x); }
[$cur, $h] = [$s * $q, $q];
} while (abs($cur - $prev) >= $ε);
return $cur;
}
echo интеграл('функция', 0.0, 1.0, 0.5e-8);