Resolva os problemas abaixo de EDP e faça o programa no Matlab.
\left\{\begin{array}{c}\frac{\partial T}{\partial t}=\alpha \frac{\partial^{2} T}{\partial x^{2}} \\\ T(0, t)=20^{0} \\\ T(L, t)=0 \\\ T(x, 0)=50^{0}\end{array}\right.
Onde o comprimento da barra é 0<x<L, L=p i, e a difusividade térmica é \alpha=0,1.

Passo 1

O enunciado pede a solução da EDP de calor na barra
\frac{\partial T}{\partial t}=\alpha\,\frac{\partial^{2}T}{\partial x^{2}}
com condições de contorno
T(0,t)=20,\quad T(L,t)=0
e condição inicial
T(x,0)=50,
onde 0<x<L, L=\pi e \alpha=0.1. Vamos usar o método de separação de variáveis, mas primeiro transformar em contorno homogêneo.

Passo 2

Procuramos a solução de equilíbrio T_s(x) que satisfaz
\frac{d^2T_s}{dx^2}=0,\quad T_s(0)=20,\;T_s(L)=0.
Integrando duas vezes obtemos
T_s(x)=A\,x+B,
e aplicando T_s(0)=20 B=20; aplicando T_s(L)=0 A=-20/L. Portanto
T_s(x)=20\Bigl(1-\frac{x}{L}\Bigr).

Passo 3

Definimos
u(x,t)=T(x,t)-T_s(x).
Então u satisfaz a EDP homogênea
\frac{\partial u}{\partial t}=\alpha\,\frac{\partial^2u}{\partial x^2},
com
u(0,t)=0,\quad u(L,t)=0,
e condição inicial
u(x,0)=50 - T_s(x)=30 + \frac{20\,x}{L}.

Passo 4

Pela separação de variáveis e ortogonalidade, escrevemos
u(x,t)=\sum_{n=1}^{\infty}B_n\sin\!\Bigl(\frac{n\pi x}{L}\Bigr)\exp\Bigl(-\alpha\,(n\pi/L)^2\,t\Bigr).

Passo 5

Os coeficientes são
B_n=\frac{2}{L}\int_{0}^{L}\Bigl(30+\frac{20\,x}{L}\Bigr)\sin\!\Bigl(\frac{n\pi x}{L}\Bigr)\,dx.
Fazendo as integrais, chega-se a
B_n=\frac{200}{n\pi}\bigl(1-(-1)^n\bigr),
logo só termos ímpares sobrevivem. Para n=2k+1 vale
B_{2k+1}=\frac{200}{(2k+1)\pi},
e para n par B_n=0.

Passo 6

A solução completa é
T(x,t)=T_s(x)+u(x,t) =20\Bigl(1-\frac{x}{L}\Bigr) +\sum_{k=0}^{\infty}\frac{200}{(2k+1)\pi} \sin\!\Bigl(\frac{(2k+1)\pi x}{L}\Bigr) \exp\Bigl(-\alpha\frac{(2k+1)^2\pi^2}{L^2}t\Bigr).
Para L=\pi e \alpha=0.1 simplifica-se para
T(x,t)=20\Bigl(1-\frac{x}{\pi}\Bigr) +\sum_{k=0}^{\infty}\frac{200}{(2k+1)\pi} \sin\bigl((2k+1)x\bigr) \exp\bigl(-0.1\,(2k+1)^2\,t\bigr).

Passo 7

Segue uma função MATLAB que calcula T(x,t) aproximando a soma até N termos:
function T = \(solucao_calor\)(x,t,N)
 alpha \(=0.1\);
 L = pi;
 % Parte estacionária
 Ts \(=20\)*(1 - x/L);
 % Série para a parte transiente
 u \(=0\);
 for k \(=0\):N
 n \(=2\)*k \(+1\);
 Bn \(=200\)/(n*pi);
 u = u + Bn * sin(n*pi*x/L) * exp(-alpha*(n*pi/L)^2 * t);
 end
 T = Ts + u;
end
Exemplo de uso:
x = linspace(0,pi,100);
t \(=1\);
N \(=50\);
Tmat = \(solucao_calor\)(x,t,N);
plot(x,Tmat)
xlabel('x'), ylabel('T(x,1)'), title('Distribuição de temperatura em t=1')

Resposta

A solução analítica é
T(x,t)=20\Bigl(1-\frac{x}{\pi}\Bigr) +\sum_{k=0}^{\infty}\frac{200}{(2k+1)\pi} \sin\bigl((2k+1)x\bigr) \exp\bigl(-0.1\,(2k+1)^2\,t\bigr).
E o programa MATLAB está dado na função solucao_calor.

Exercícios relacionados