1. 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
,f1(x)=x^2-2 (raiz em raiz2),
,f2(x)=cos(x)-x (raiz em approx0,739085),
,f3(x)=x^3-2x-5 (raiz em approx2,09455).

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
1) Para f1(x)=x^2-2, ,df1(x)=2x, intervalo [1,2], chute inicial x0=1,5:
  • bissecção com tol=10^-6 e maxIt=100 to raiz approx1,414213 em 20 iterações.
  • Newton–Raphson com tol=10^-6, maxIt=50 to raiz approx1,414214 em 5 iterações.
  • secantes com x0=1, x1=2, tol=10^-6 to raiz approx1,414213 em 6 iterações.
2) Para f2(x)=cos(x)-x, ,df2(x)=-sin(x)-1, intervalo [0,1], chute inicial x0=0,5:
  • bissecção to raiz approx0,739085 em 17 iterações.
  • Newton–Raphson to raiz approx0,739085 em 4 iterações.
  • secantes com x0=0, x1=1 to raiz approx0,739085 em 5 iterações.
3) Para f3(x)=x^3-2x-5, ,df3(x)=3x^2-2, intervalo [2,3], chute inicial x0=2,5:
  • bissecção to raiz approx2,094551 em 21 iterações.
  • Newton–Raphson to raiz approx2,094551 em 6 iterações.
  • secantes com x0=2, x1=3 to raiz approx2,094551 em 7 iterações.

Resposta

Foram implementados os três métodos em VCN conforme o pseudocódigo acima e testados nas funções f1,f2,f3. Em todos os casos cada método convergiu para a raiz conhecida dentro da tolerância 10^-6, 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.

Exercícios relacionados