Exercícios Resolvidos de Integrais Numéricas

Ver Teoria

Enunciado

A fórmula de Debye para a capacidade calorífica C V de um sólido é C V = 9 N k g ( u ) , onde

Os termos desta equação são

  • N = número de párticulas no sólido
  • k = constante de Boltzmann
  • u = T / Θ D
  • T = temperatura absoluta
  • Θ D = temperatura de Debye

Calcule g ( u ) de u = 0 a u = 1 em intervalos de 0,05 e plote os resultados.

Passo 1

O exercício pede para calcularmos g ( u ) para diferentes valores de u . Isto faz com que tenhamos que resolver a integral

A = ∫ 0 1 / u x 4 e x e x - 1 2 d x

várias vezes, para diferentes intervalos de integração, visto que u define tal intervalo.

Por isso, usaremos a função t r a p z ( ) dentro de um laço f o r , para que a integral seja resolvida para cada valor de u . A função g ( u ) também será calculada dentro do mesmo laço f o r .

Ao final, plotaremos a curva de g ( u ) em função de u com o comando p l o t ( ) .

Passo 2

Vamos começar definindo o intervalo de u com o qual se deseja calcular g ( u ) . Em um script novo, digite o comando:

Este comando cria um vetor u contendo os valores de u com quais calcularemos g ( u ) . O enunciado pediu para fazermos u indo de 0 a 1 , com um passo de 0,05 . Por isso, o vetor u vai de 0   a 1 , com um passo de 0,05 .

Antes de iniciar o laço f o r , vamos criar um vetor para armazenar o resultado de g ( u ) para cada valor de u . Para isso, digite em seu script as linhas de código:

Na primeira linha, armazenamos na variável n o número de elementos do vetor u , por meio da função l e n g t h , que nos dá a quantidade de elementos de um vetor.

Na segunda linha, criamos um vetor g composto só de zeros, com a mesma quantidade de elementos do vetor u , por meio da função z e r o s .

O vetor g receberá o resultado de g ( u ) para cada valor de u , tendo seus elementos atualizados dentro do laço f o r .

Passo 3

Comece a implementar o laço f o r , usando uma variável de controle i que vai de 1 a n .

Variando i de 1 a n , conseguiremos acessar um a um todos os elementos do vetor u por meio do laço f o r . Também conseguiremos ir preenchendo o vetor g , ao calcular g ( u ) dentro do laço f o r e armazenando o resultado no elemento correspondente de g .

Note que o intervalo de integração vai de x = 0 a x = 1 / u e o primeiro valor de u é 0 , o que dará um erro de divisão por 0 . Por isso, precisamos incluir dentro do nosso f o r uma condição i f para dizer ao MATLAB o que fazer quando u = 0 . Quando u = 0 , g ( 0 ) = 0 , por isso, inclua dentro do f o r os comandos:

Desta forma, dizemos que se o elemento i do vetor u for igual a 0 , o elemento i do vetor g também será igual a 0 .

Caso u seja diferente de 0 , não haverá erro de divisão por 0 no intervalo de integração. Por isso, é dentro do e l s e que faremos o cálculo da integral.

Passo 4

Para calcular a integral A = ∫ 0 1 / u x 4 e x e x - 1 2 d x , precisamos definir o intervalo de integração, calcular x 4 e x e x - 1 2 para cada valor do intervalo e usar a função t r a p z ( ) para calcular a integral. Lembrando que t r a p z ( ) tem a sintaxe:

A = t r a p z ( X , Y )

Ela nos retorna o resultado A da integração, que representa a área sob a curva Y , definida no intervalo X .

Por isso, após o e l s e dentro laço f o r , digite as quatro linhas de código:

A linha

Cria um vetor x , que vai de 0 a 1 / u ( i ) , onde u ( i ) é o valor de u na iteração i , com um passo de 0,01 . O vetor x representa o intervalo de x no qual vamos integrar a função. Escolhi um passo de 0,01 para ter uma maior precisão no resultado, mas você pode escolher o passo que quiser. Mas lembre que quanto menor o passo, maior a precisão da integral numérica.

Na linha

Calculamos f x = x 4 e x e x - 1 2 para cada elemento do vetor x . Note os comandos . ^ , . * e . / , indicando que as operações são realizadas por elemento do vetor x .

Na linha

Calculamos a integral. Contudo, perceba que eu não usei simplesmente x e f como entrada, mas sim x ( 2 : e n d ) e f ( 2 : e n d ) . Isto é, usei como entrada os dois vetores começando no seu segundo elemento. Fiz isso para não pegar o valor x = 0 , pois f 0 = 0 / 0 , logo, o primeiro elemento de f corresponde a N a N (“not a number”, no MATLAB), o que não permite calcular a integral com t r a p z ( ) .

Finalmente, na linha

Calculamos g ( u ) , multiplicando o resultado A da integração pelo valor de u da iteração i elevalo ao cubo. O resultado é armazenado no elemento i do vetor g .

Desta forma, o laço f o r está completo.

Passo 5

Para finalizar, vamos plotar o gráfico de g ( u ) em função de u . Para isto, adicione as linhas de código:

Com a primeira linha, plotamos o gráfico do vetor g em função do vetor u .

Na segunda linha, dizemos que o eixo horizontal do gráfico corresponde a u . Já na terceira linha, dizemos que o eixo vertical corresponde a g ( u ) .

Execute o programa e você terá o gráfico pedido pelo exercício.

Resposta