Considere o problema de valor de contorno (PVC) linear de segunda ordem:
\[ y''(x) = p(x)\,y'(x) + q(x)\,y(x) + r(x), \quad a \le x \le b, \] com condições de contorno \[ y(a) = \alpha, \qquad y(b) = \beta. \]
O método das diferenças finitas aproxima derivadas usando expansões de Taylor em uma malha uniforme: \[ x_i = a + i h, \quad i = 0, 1, \dots, N+1, \quad h = \frac{b-a}{N+1}. \]
Usando diferenças centrais: \[ y'(x_i) \approx \frac{y_{i+1} - y_{i-1}}{2h}, \quad y''(x_i) \approx \frac{y_{i+1} - 2y_i + y_{i-1}}{h^2}, \] a substituição produz um sistema linear para as incógnitas \( y_1, \dots, y_N \): \[ -\left(1 + \frac{h}{2}p_i\right) y_{i-1} + \left(2 + h^2 q_i\right) y_i -\left(1 - \frac{h}{2}p_i\right) y_{i+1} = -h^2 r_i, \] onde \( p_i = p(x_i) \), \( q_i = q(x_i) \) e \(r_i = r(x_i) \). Os valores de contorno \( y_0 = \alpha \) e \( y_{N+1} = \beta \) são incorporados na primeira e última equações.
O sistema resultante é tridiagonal e resolvido eficientemente usando o algoritmo de Thomas (uma eliminação gaussiana especializada).
Esta implementação segue Burden & Faires, Análise Numérica.
Clique em Carregar para preencher o resolvedor com os parâmetros do exemplo.
Resolver:
\[
y'' = -\frac{2}{x} y' + \frac{2}{x^2} y + \frac{\sin(\ln x)}{x^2}, \quad 1 \le x \le 2,
\]
com \( y(1) = 1 \), \( y(2) = 2 \).
(Solução exata: \( y(x) = x + x \ln x - x \cos(\ln x) \))
Resolver:
\[
y'' = y' + y + 2e^x, \quad 0 \le x \le 1,
\]
com \( y(0) = 0 \), \( y(1) = e \).
(Solução exata: \( y(x) = x e^x \))
Resolver:
\[
y'' = 100\,y' - 100\,y + 100, \quad 0 \le x \le 1,
\]
com \( y(0) = 0 \), \( y(1) = 1 \).
(Nota: requer \( N \) suficiente para estabilidade)
Digite as funções usando sintaxe JavaScript (ex.: Math.sin(x), x**2).