<<Voltar      
Python no programa de Matemática A -2024/25
        Programa Mat2024/25-12º ano>>

|

Pág. 41( parte inicial da página).

Exemplo de programa em Python para aproximar o valor de um integral. Na função integral_aproximado o intervalo de integração é dividido em N intervalos de igual comprimento e para cada intervalo multiplica-se o valor no ponto médio pelo tamanho do intervalo, resultando a aproximação do integral da soma dos contributos de todos os intervalos. O exemplo usado, é o mesmo do Compêndio de Matemática, vol. 2, de Sebastião e Silva, e também aqui se calculam as aproximações com um número de intervalos que é sucessivamente duplicado, para se poder observar a estabilização progressiva das casas decimais dos valores obtidos.

Pretendemos a funçãof(x)= ex/x no intervalo [1,5], fazendo N= 40; 80; 160, 320, 640; 1280; 2560; ...isto é 2N, com N a começar em 40 até 20480.

Programa:

Uma imagem com texto

Descrição gerada automaticamente

RUN    Ex: a=;  b=;    Obtemos:

Uma imagem com texto

Descrição gerada automaticamente

Comentários/Sugestões:
Na função integral_aproximado, o intervalo de integração é dividido em N intervalos de igual comprimento e para cada intervalo multiplica-se o valor da imagem no ponto médio pelo tamanho do intervalo, resultando a aproximação do integral da soma dos contributos de todos os intervalos.

def integral_aproximado(f,a,b,N):

|
Vamos subdividir o intervalo [a,b] em N partes iguais. (dt).
   
dt=(b-a)/N

|
A soma começa por ser zero
   
soma=0

|
Fazemos f do ponto médio de cada um dos intervalos.
   
for k in range(N):
        soma+=f(a+k*dt+dt/2)

|
Multiplicamos a imagem referida, pela base dt.
   
return dt*soma

|
Para definir a função f, vamos importar o math e a função exp.(ou ex)

def f(x):
    import math
    return math.exp(x)/x

|

Valores a utilizar:
a=1
b=5
N=20

|

E por fim:
for d in range(10):
    N=2*N
    I=integral_aproximado(f,a,b,N)
    print('Com N=',N,' o integral aproximado dá: ',I)

Sugestão-Consulte:

https://pedronoia.pt/python/pyl1.htm

|

https://pedronoia.pt/python/pyl2.htm

|

https://pedronoia.pt/python/pyl3.htm

|

https://pedronoia.pt/python/pyl5.htm

|

<<Voltar