FP: Aula09 - Ex9 added
This commit is contained in:
parent
8b1c06302d
commit
11335b4361
|
@ -0,0 +1,28 @@
|
|||
import sys
|
||||
import math
|
||||
|
||||
|
||||
def integrate(f, a, b, n):
|
||||
"""The integral of f(x) for x between a and b.
|
||||
Aproximated using the trapezoidal rule with n uniform subintervals."""
|
||||
assert n >= 1
|
||||
return ((b - a) / 2 * n * (f(a) + sum(2 * f(a + (b - a) * i / n) for i in range(1, n)) + f(a + (b - a)))) / (n ** 2)
|
||||
|
||||
|
||||
def example(n):
|
||||
a = integrate(lambda x: (x - 2) / (x + 3), 0, 1, n)
|
||||
return a
|
||||
|
||||
|
||||
# You may define auxiliary functions here.
|
||||
|
||||
|
||||
# Do not change the code below!
|
||||
def evalPrint(expression):
|
||||
# Evaluate and print an expression and its result.
|
||||
result = eval(expression)
|
||||
print("{}\n--> {!r}".format(expression, result))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
evalPrint(" ".join(sys.argv[1:]))
|
Loading…
Reference in New Issue