added integral approximation
This commit is contained in:
parent
5d1c02080f
commit
8adb0fcbe1
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
def integral_approximation(function, divisions, interval):
|
||||||
|
delta = (interval[1] - interval[0]) / divisions
|
||||||
|
|
||||||
|
maximum = 0.0
|
||||||
|
minimum = 0.0
|
||||||
|
|
||||||
|
x0 = interval[0]
|
||||||
|
|
||||||
|
for i in range(0, divisions):
|
||||||
|
x1 = x0 + delta
|
||||||
|
|
||||||
|
y0 = function(x0) * delta
|
||||||
|
y1 = function(x1) * delta
|
||||||
|
|
||||||
|
maximum += max(y0, y1)
|
||||||
|
minimum += min(y0, y1)
|
||||||
|
|
||||||
|
x0 = x1
|
||||||
|
|
||||||
|
average = (maximum + minimum) / 2
|
||||||
|
|
||||||
|
print("maximum: %s minimum: %s average: %s" % (maximum, minimum, average))
|
||||||
|
|
||||||
|
|
||||||
|
def f(x):
|
||||||
|
return (x - 4) * (x + 8) * (x - 50) * (x - 37) * 0.0001
|
||||||
|
|
||||||
|
|
||||||
|
def test():
|
||||||
|
integral_approximation(f, 1200, [3, 4])
|
2
main.py
2
main.py
|
@ -20,6 +20,7 @@ import matrix
|
||||||
import newton_polynom
|
import newton_polynom
|
||||||
import zero_point_approximation
|
import zero_point_approximation
|
||||||
import taylor_sine_approx
|
import taylor_sine_approx
|
||||||
|
import integral_approximation
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
linear_approximation.test()
|
linear_approximation.test()
|
||||||
|
@ -28,3 +29,4 @@ if __name__ == '__main__':
|
||||||
zero_point_approximation.test()
|
zero_point_approximation.test()
|
||||||
matrix.test()
|
matrix.test()
|
||||||
taylor_sine_approx.test()
|
taylor_sine_approx.test()
|
||||||
|
integral_approximation.test()
|
||||||
|
|
Loading…
Reference in New Issue