Prof. Wellington D. Previero Cálculo Numérico Prof. Wellington D. Previero previero@utfpr.edu.br www.pessoal.utfpr.edu.br/previero Método da Bissecção Aula de Cálculo Numérico de Wellington D. Previero foi licenciado com uma Licença Creative Commons - Atribuição - NãoComercial - CompartilhaIgual 3.0 Não Adaptada.
Método da Bissecção Seja f(x) uma função contínua no intervalo [a,b] tal que f(a).f(b)<0.
Método da Bissecção Dividindo o intervalo [a,b] ao meio, obtemos o valor x0. Com esta divisão, temos agora, dois subintervalos, [a, x0] e [x0, b]. a x0 b
Método da Bissecção A raiz estará no subintervalo onde a função tem sinais opostos no pontos extremos. a x0 b
Método da Bissecção O novo intervalo [a1, b1] que contém a raiz é dividido ao meio e obtém-se o ponto x1. a1 b1
Método da Bissecção O processo se repete até que se obtenha uma aproximação para a raiz exata, com tolerância desejada.
Método da Bissecção Exemplo: Considere a função f(x)=x2-3 e o intervalo [a,b]=[1,2]. Critério de parada: |bk- ak| < 0,01. Iteração: k=0 Intervalo: [a0, b0]= [1, 2] x0 = 1,5 f (x0) = -0,75 f(1) = -2 f(2) = 1 f (x0).f(2) < 0 Novo intervalo: [a1, b1]= [1,5; 2] x1 = 1,75 Erro: 0,5
Método da Bissecção Iteração: k=1 Intervalo: [a1, b1]= [1,5; 2] x1 = 1,75 f (x1) = 0.0625 f(1,5) = -0,75 f(2) = 1 f (x1).f(1,5) < 0 Novo intervalo: [a2, b2]= [1,5; 1,75] x2 = 1.625 Erro: 0,25
Método da Bissecção Iteração: k=2 Intervalo: [a2, b2]= [1,5; 1,75] x2 = 1.625 f (x2) = -0,359375 f(1,5) = -0,75 f(1,75) = 0.0625 f (x2).f(1,75) < 0 Novo intervalo: [a3, b3]= [1,625; 1,75] x3 = 1.6875 Erro: 0,125
Método da Bissecção Iteração: k=3 Intervalo: [a3, b3]= [1,625; 1,75] x3 = 1.6875 f (x3) = - 0.15234375 f(1,625) = - 0,359375 f(1,75) = 0.0625 f (x3).f(1,75) < 0 Novo intervalo: [a4, b4]= [1,6875; 1,75] x4 = 1.71875 Erro: 0,0625
Método da Bissecção Iteração: k=4 Intervalo: [a4, b4]= [1,6875; 1,75] x4 = 1.71875 f (x4) = - 0.045898438 f(1,6875) = - 0.15234375 f(1,75) = 0.0625 f (x4).f(1,75) < 0 Novo intervalo: [a5, b5]= [1,71875; 1,75] x5 = 1.734375 Erro: 0, 03125
Método da Bissecção Iteração: k=5 Intervalo: [a5, b5]= [1,71875; 1,75] x5 = 1.734375 f (x5) = 0.008056641 f(1,71875 ) = - 0.045898438 f(1,75) = 0.0625 f (x5).f(1,6875) < 0 Novo intervalo: [a6, b6]= [1,71875; 1,734375 ] x6 = 1.7265625 Erro: 0.015625
Método da Bissecção Iteração: k=6 Intervalo: [a6, b6]= [1,71875; 1,734375 ] x6 = 1.7265625 f (x6) = -0.018981934 f(1,71875 ) = - 0.045898438 f(1,734375 ) = 0.008056641 f (x6).f(1,734375) < 0 Novo intervalo: [a7, b7]= [1.7265625; 1,734375] x7 = 1.73046875 Erro:0.0078125 OK! Solução: x7 = 1.73046875
Método da Bissecção
Método da Bissecção Algoritmo k := 0; a0 := a; b0 := b; xk := (ak + bk)/2; enquanto critério de parada não satisfeito ou k L se f(ak).f(xk) < 0 então ak+1 := ak; bk+1 := xk; senão ak+1 := xk; bk+1 := bk ; xk+1 := (ak + bk)/2; k := k +1; fim_enquanto exiba xk
Método da Bissecção Observações: A convergência do método é garantida, desde que a função seja contínua num intervalo [a,b] tal que f(a).f(b)<0 Se o intervalo inicial for grande e se ε for pequeno, o número de iterações tende a ser grande; As iterações não envolvem cálculos laboriosos;