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)=0 \\\ T(L, t)=0 \\\ T(x, 0)=30^{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 apresenta a equação do calor unidimensional
\frac{\partial T}{\partial t}=\alpha\frac{\partial^2 T}{\partial x^2}
com condições de contorno
T(0,t)=0,\quad T(L,t)=0
e condição inicial
T(x,0)=30,
onde 0<x<L, L=\pi e \alpha=0,1.
O método a usar é separação de variáveis e expansão em série de senos.

Passo 2

Assumimos solução da forma
T(x,t)=\sum_{n=1}^\infty b_n\,e^{-\alpha\,(n\pi/L)^2\,t}\,\sin\bigl(n\pi x/L\bigr).
As funções \sin(n\pi x/L) satisfazem a condição de contorno homogênea em x=0 e x=L.

Passo 3

Para determinar os coeficientes b_n expandimos a condição inicial em série de senos:
30 = T(x,0)=\sum_{n=1}^\infty b_n\sin\bigl(n\pi x/L\bigr).
Usando a ortogonalidade,
b_n=\frac{2}{L}\int_0^L 30\sin\Bigl(\frac{n\pi x}{L}\Bigr)\,dx =\frac{60}{n\pi}\bigl[1-(-1)^n\bigr].
Logo, b_n=0 para n par e b_{2k+1}=\tfrac{120}{(2k+1)\pi}.

Passo 4

A solução final é
T(x,t) =\sum_{k=0}^\infty \frac{120}{(2k+1)\pi}\, \exp\!\Bigl[-\alpha\bigl((2k+1)\tfrac{\pi}{L}\bigr)^2\,t\Bigr]\, \sin\!\bigl((2k+1)\tfrac{\pi x}{L}\bigr),
com L=\pi e \alpha=0,1.

Passo 5

O programa em MATLAB define parâmetros, escolhe número finito de termos N, monta os coeficientes b_n e avalia a série em malha de (x,t).

Resposta

% Parâmetros
L = pi;
alpha = 0.1;
N = 50;             % número de termos na série
x = linspace(0,L,100)';  % discretização em x (coluna)
t = [0.01, 0.1, 0.5, 1]; % instantes de tempo

% Prealocação da matriz T(x,t)
T = zeros(length(x), length(t));

% Cálculo dos termos da série
for n = 1:N
    if mod(n,2)==1
        b = 120/ (n*pi);
    else
        b = 0;
    end
    lambda = n*pi/L;
    for j = 1:length(t)
        T(:,j) = T(:,j) + b * exp(-alpha * lambda^2 * t(j)) .* sin(lambda * x);
    end
end

% Plot das soluções em diferentes instantes
figure; hold on
colors = lines(length(t));
for j = 1:length(t)
    plot(x, T(:,j), 'Color', colors(j,:), 'LineWidth', 1.5, ...
         'DisplayName', sprintf('t = %.2f', t(j)));
end
xlabel('x'); ylabel('T(x,t)');
title('Solução da equação do calor');
legend('show'); grid on

Exercícios relacionados