FP: Aula09 - Ex9 added

This commit is contained in:
TiagoRG 2023-01-16 12:17:32 +00:00
parent 8b1c06302d
commit 11335b4361
Signed by untrusted user who does not match committer: TiagoRG
GPG Key ID: DFCD48E3F420DB42
1 changed files with 28 additions and 0 deletions

View File

@ -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:]))