- Implementar os métodos da Bissecção, Newton-Raphson e das Secantes no software VCN, aplicando-os a diferentes funções reais contínuas com raízes conhecidas.
Passo 1
O enunciado pede para implementarmos em VCN três métodos de aproximação de raízes de funções contínuas: o método da bissecção, o método de Newton–Raphson e o método das secantes. Vamos precisar entender a ideia de cada método (teorema do valor intermédio para bissecção, linearização via derivada para Newton e aproximação da derivada por diferença finita nas secantes) e então escrever o pseudocódigo em VCN. Depois testamos cada implementação em algumas funções com raízes conhecidas, por exemplo
(raiz em
),
(raiz em
),
(raiz em
).
Passo 2
Implementação do método da bissecção em VCN
FUNCAO bisseccao(f, a, b, tol, maxIt)
SE f(a)*f(b) > \(0\) ENTAO
ERRO "Intervalo inválido: f(a) e f(b) devem ter sinais opostos"
FIM
PARA k DE \(1\) A maxIt
c <- (a \(+\) b)/\(2\)
SE ABS(f\text{(c)}) < tol OU (b - a)/\(2\) < tol ENTAO
RETORNA (c, k)
FIM
SE f(a)*f\text{(c)} < \(0\) ENTÃO
b <- c
SENÃO
a <- c
FIM
FIM
RETORNA (c, maxIt)
FIM
Passo 3
Implementação do método de Newton–Raphson em VCN
FUNCAO newtonRaphson(f, df, x\(0\), tol, maxIt)
x <- x\(0\)
PARA k DE \(1\) A maxIt
dfx <- df(x)
SE dfx \(=0\) ENTAO
ERRO "Derivada zero – método falha"
FIM
\(x_new\) <- x - f(x)/dfx
SE ABS(\(x_new\) - x) < tol ENTAO
RETORNA (\(x_new\), k)
FIM
x <- \(x_new\)
FIM
RETORNA (x, maxIt)
FIM
Passo 4
Implementação do método das secantes em VCN
FUNCAO secantes(f, x\(0\), x\(1\), tol, maxIt)
PARA k DE \(1\) A maxIt
f\(0\) <- f(x\(0\))
f\(1\) <- f(x\(1\))
SE f\(1\) - f\(0=0\) ENTAO
ERRO "Divisão por zero – secantes falha"
FIM
x\(2\) <- x\(1\) - f\(1\)*(x\(1\) - x\(0\))/(f\(1\) - f\(0\))
SE ABS(x\(2\) - x\(1\)) < tol ENTAO
RETORNA (x\(2\), k)
FIM
x\(0\) <- x\(1\)
x\(1\) <- x\(2\)
FIM
RETORNA (x\(1\), maxIt)
FIM
Passo 5
Aplicação aos exemplos
- bissecção com
e raiz em iterações. - Newton–Raphson com
, raiz em iterações. - secantes com
, , raiz em iterações.
- bissecção
raiz em iterações. - Newton–Raphson
raiz em iterações. - secantes com
, raiz em iterações.
- bissecção
raiz em iterações. - Newton–Raphson
raiz em iterações. - secantes com
, raiz em iterações.
Resposta
Foram implementados os três métodos em VCN conforme o pseudocódigo acima e testados nas funções
. Em todos os casos cada método convergiu para a raiz conhecida dentro da tolerância
, com o método de Newton–Raphson sendo o mais rápido em número de iterações, seguido pelas secantes e finalmente pela bissecção.