Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho
Conteúdo temático Zeros de Função
Conteúdo específico Regula-Falsi Exemplos
Zeros de função A questão agora é como termos um método que leve em consideração o valor da função Retornemos um pouco ao que já foi apresentado:
Zeros de função A questão agora é como termos um método que leve em consideração o valor da função Retornemos um pouco ao que já foi apresentado: Determinar o zero da função é equivalente a determinar a função inversa da função e daí R=f 1 (0) O problema é que achar a inversa não é fácil...
Zeros de função Mas porque não achamos uma função aproximada a nossa f(x) e que seja fácil de achar a função inversa?
Zeros de função Mas porque não achamos uma função aproximada a nossa f(x) e que seja fácil de achar a função inversa? Não teremos a solução exata mas teremos uma solução aproximada e, esperamos, válida Uma possibilidade você conhece...
Zeros de função Um polinômio interpolador... X será a aproximação do zero de função
Zeros de função Um polinômio interpolador... X será a aproximação do zero de função Determinemos X
Zeros de função Podemos escolher qualquer técnica para determinar o polinômio interpolador. Aqui usaremos Newton-Gregory Temos os pontos (A, f(a)) e (B, f(b)) logo p 1 (x)= p 0 (x)+ y 1 y 0 x 1 x 0 ( x x 0 )=f ( A)+ B A Não queremos o polinômio mas onde ele se anula ( x A )
Zeros de função Assim, p 1 ( X)=f ( A)+ B A ( X A )=0
Zeros de função Assim, ou p 1 ( X)=f ( A)+ ( X A )= f ( A) B A ( X A )=0 B A A B X= A+f ( A)
Zeros de função Assim, ou ou ainda p 1 ( X)=f ( A)+ ( X A )= f ( A) B A ( X A )=0 B A A B X= A+f ( A) X= A+ A f ( A) B f ( A) X= A f (B) A f ( A)+ A f ( A) B f ( A)
Zeros de função Assim, ou ou ainda p 1 ( X)=f ( A)+ ( X A )= f ( A) B A ( X A )=0 B A A B X= A+f ( A) X= A+ A f ( A) B f ( A) X= A f (B) A f ( A)+ A f ( A) B f ( A) daí X= A f (B) B f ( A)
Zeros de função Observe que podemos impor desta maneira uma partição da região onde se encontra o zero da função
Zeros de função Observe que podemos impor desta maneira uma partição da região onde se encontra o zero da função Usaremos o mesmo algoritmo do método de bissecção só que aqui trabalharemos com esta nova maneira de particionar que leva em consideração valores de f(x)
Zeros de função Observe que podemos impor desta maneira uma partição da região onde se encontra o zero da função Usaremos o mesmo algoritmo do método de bissecção só que aqui trabalharemos com esta nova maneira de particionar que leva em consideração valores de f(x) A este método denominaremos Método Regula-Falsi
Regula-falsi Método Regula-Falsi Seja f(x) diferenciável em [A, B]. Tenhamos f(a) e f(b) Af (B) B f ( A) I) Calcule X= e f (X ) II) Se f ( A) f ( X )<0 ; R ( A, X ); B X f ( A) f ( X )>0 ; R ( X, B); A X f ( A)f ( X)=0 ; R=A ou R=X III) Se o critério de parada não for satisfeito, retorne a I
Zeros de função Mais uma vez adiaremos a discussão sobre o critério de parada. Nos concentremos no algoritmo.
Regula-falsi Aplicando o algoritmo temos que f(a)f(x)<0 e B toma o valor de X. Calculando um novo X teremos
Regula-falsi Veja que o novo valor para X está mais próximo de R
Regula-falsi Este método fornece não só o valor da função f(x) como também a informação aproximada da derivada da função no intervalo onde se encontra R dada pela declividade do polinômio que interpola os extremos do intervalo
Regula-falsi Este método fornece não só o valor da função f(x) como também a informação aproximada da derivada da função no intervalo onde se encontra R dada pela declividade do polinômio que interpola os extremos do intervalo A intuição nos diz que este método deve ser melhor que a bissecção...
Regula-falsi Resolvamos o mesmo exemplo anterior não nos preocupando com o critério de parada
Regula-falsi Determine aproximações para o ponto onde a função abaixo se anula no semi-eixo positivo. e x 3 cos x Já sabemos que que R [0,1] e escolheremos A=0, B=1 e temos f ( A)= 2; f (B)=1,097374
Regula-falsi f ( A)= 2; f (B)=1,097374 X= A f (B) B f ( A) = 0 1,097374 1 ( 2) =0,645708 1,097374 ( 2) f (0,645708)= 0,488684 f ( A)f (X )>0; R (X, B); A X
Regula-falsi f ( A)= 2; f (B)=1,097374 X= A f (B) B f ( A) = 0 1,097374 1 ( 2) =0,645708 1,097374 ( 2) f (0,645708)= 0,488684 f ( A)f (X )>0; R (X, B); A X e agora teremos A=0,645708 e f ( A)= 0,488684 assim...
Regula-falsi A=0,645708 ; f ( A)= 0,488684 X= A f (B) B f ( A) = 0,645708 1,097374 1 ( 0,488684) =0,754869 1,097374 ( 0,488684) f (0,754869)= 0,057751 f ( A)f (X )>0; R (X, B); A X
Regula-falsi A=0,645708 ; f ( A)= 0,488684 X= A f (B) B f ( A) = 0,645708 1,097374 1 ( 0,488684) =0,754869 1,097374 ( 0,488684) f (0,754869)= 0,057751 f ( A)f (X )>0; R (X, B); A X e agora teremos A=0,754869 e f ( A)= 0,057751 assim...
Regula-falsi A=0,754869 ; f ( A)= 0,057751 X= A f (B) B f ( A) = 0,754869 1,097374 1 ( 0,057751) =0,767124 1,097374 ( 0,057751) f (0,767124)= 6,16565 10 3 f ( A)f (X )>0; R (X, B); A X
Regula-falsi A=0,754869 ; f ( A)= 0,057751 X= A f (B) B f ( A) = 0,754869 1,097374 1 ( 0,057751) =0,767124 1,097374 ( 0,057751) f (0,767124)= 6,16565 10 3 f ( A)f (X )>0; R (X, B); A X e agora teremos A=0,767124 e f ( A)= 6,16565 10 3 assim...
Regula-falsi A=0,767124 ;f ( A)= 0,006165 X= A f (B) B f ( A) = 0,767124 1,097374 1 ( 0,006165) =0,768424 1,097374 ( 0,006165) f (0,768424)= 6,5551 10 4 f ( A)f (X )>0; R (X, B); A X
Regula-falsi A=0,767124 ;f ( A)= 0,006165 X= A f (B) B f ( A) = 0,767124 1,097374 1 ( 0,006165) =0,768424 1,097374 ( 0,006165) f (0,768424)= 6,5551 10 4 f ( A)f (X )>0; R (X, B); A X e agora teremos A=0,768424 e f ( A)= 6,5551 10 4
Regula-falsi A=0,767124 ;f ( A)= 0,006165 X= A f (B) B f ( A) = 0,767124 1,097374 1 ( 0,006165) =0,768424 1,097374 ( 0,006165) f (0,768424)= 6,5551 10 4 f ( A)f (X )>0; R (X, B); A X e agora teremos Paremos... A=0,768424 e f ( A)= 6,5551 10 4
Regula-falsi Façamos um resumo do que obtemos f (0,645708)= 0,488684 ;f (0,754869)= 0,057751 f (0,767124)= 6,16565 10 3 ;f (0,768424)= 6,5551 10 4
Regula-falsi Façamos um resumo do que obtemos f (0,645708)= 0,488684 ;f (0,754869)= 0,057751 f (0,767124)= 6,16565 10 3 ;f (0,768424)= 6,5551 10 4 Repare que tanto o valor de X muda cada vez menos quanto o valor de f(x) se aproxima de zero
Regula-falsi Observe que X toma valores que cada vez mais aproximam do ponto onde a função f(x) se anula
Regula-falsi Observe que X toma valores que cada vez mais aproximam do ponto onde a função f(x) se anula Mais do que o fator de corte do intervalo, X nos dá sucessivas aproximações de R
Regula-falsi Observe que X toma valores que cada vez mais aproximam do ponto onde a função f(x) se anula Mais do que o fator de corte do intervalo, X nos dá sucessivas aproximações de R Temos de pensar em quando parar...
Critérios de parada Naturalmente aparecem dois critérios de parada avaliando os valores obtidos para X
Critérios de parada Naturalmente aparecem dois critérios de parada avaliando os valores obtidos para X avaliando os valores de f(x)
Critérios de parada Naturalmente aparecem dois critérios de parada avaliando os valores obtidos para X avaliando os valores de f(x) Vejamos...
Critérios de parada Critérios de parada: avaliando os valores obtidos para X Seja tol x o valor o qual desejamos para a precisão da determinação de R. Então pararemos quando o módulo da diferença entre dois valores sucessivos de X dividido por um destes valores for menor que tol x, ou seja, tol x < X i+1 X i X i ou tol x < X i+1 X i X i+1
Critérios de parada Critérios de parada: avaliando os valores obtidos para X Seja tol x o valor o qual desejamos para a precisão da determinação de R. Então pararemos quando o módulo da diferença entre dois valores sucessivos de X dividido por um destes valores for menor que tol x, ou seja, tol x < X i+1 X i X i ou tol x < X i+1 X i X i+1 A alternativa é para evitar um valor nulo no divisor
Critérios de parada Critérios de parada: avaliando o valor de f(x) Seja tol f o valor o qual desejamos para a precisão da determinação de R. Então pararemos quando o valor de f(x) for menor que tol f, ou seja, tol f <f ( X i )
Critérios de parada O mais rigoroso está na utilização conjunta destes dois critérios
Critérios de parada O mais rigoroso está na utilização conjunta destes dois critérios Estes critérios serão usados em outros métodos de determinação de zeros de função que se seguirão
Regula-falsi Outro exemplo Determine uma aproximação para o zero da função abaixo que se encontra no intervalo [1,2]. Use tol x <10 3 x 4 + x 10
Regula-falsi Outro exemplo Determine uma aproximação para o zero da função abaixo que se encontra no intervalo [1,2]. Use x 4 + x 10 Apliquemos o algoritmo tol x <10 3
Regula-falsi Outro exemplo f (x)=x 4 +x 10 Calculemos a função nos extremos do intervalo f ( A)=f (1)=1 4 +1 10= 8 ; f (B)=f (2)=2 4 +2 10=8 Temos a confirmação da existência do zero e os valores necessários para iniciar o algoritmo
Regula-falsi Outro exemplo f ( A)= 8 ;f (B)=8 X= A f (B) B f ( A) = 1 8 2 ( 8) = 3 8 ( 8) 2 =1,5 f ( 3 2 ) = 55 16 = 3,4375 f ( A)f (X )>0; R (X, B); A X
Regula-falsi Outro exemplo f ( A)= 8 ;f (B)=8 X= A f (B) B f ( A) = 1 8 2 ( 8) = 3 8 ( 8) 2 =1,5 f ( 3 2 ) = 55 16 = 3,4375 f ( A)f (X )>0; R (X, B); A X e agora teremos A= 3 2 e f ( A)= 3,4375 assim...
Regula-falsi Outro exemplo A= 3 2 ;f ( A)= 3,4375 X= A f (B) B f ( A) = 3/2 8 2 ( 3,4375) = 302 8 ( 3,4375) 183 =1,650273 f ( 302 183 ) = 0,932809 f ( A)f (X )>0; R (X, B); A X
Regula-falsi Outro exemplo A= 3 2 ;f ( A)= 3,4375 X= A f (B) B f ( A) = 3/2 8 2 ( 3,4375) = 302 8 ( 3,4375) 183 =1,650273 f ( 302 183 ) = 0,932809 f ( A)f (X )>0; R (X, B); A X e agora teremos A=1,650273 Testemos o critério de parada e f ( A)= 0,932809
Regula-falsi Outro exemplo Usando os dois últimos valores obtidos para X teremos Continuemos X 2 X 1 X 1 = 1,650273 1,5 0,100182 1,5
Regula-falsi Outro exemplo A=1,650273 ;f ( A)= 0,932809 X= A f (B) B f ( A) f (1,686793 )= 0,217632 f ( A)f (X )>0; R (X, B); A X = 1,650273 8 2 ( 0,932809) =1,686793 8 ( 0,932809)
Regula-falsi Outro exemplo A=1,650273 ;f ( A)= 0,932809 X= A f (B) B f ( A) f (1,686793 )= 0,217632 f ( A)f (X )>0; R (X, B); A X e agora teremos Testemos o critério de parada = 1,650273 8 2 ( 0,932809) =1,686793 8 ( 0,932809) A=1,686793 e f ( A)= 0,217632
Regula-falsi Outro exemplo Usando os dois últimos valores obtidos para X teremos X 3 X 2 X 2 = 1,686793 1,650273 0,0228 1,650273 Ainda não podemos parar mas o erro caiu quase cinco vezes num passo. Continuemos
Regula-falsi Outro exemplo A=1,686793 ;f ( A)= 0,217632 X= A f (B) B f ( A) f (1,695088 )= 0,048918 f ( A)f (X )>0; R (X, B); A X = 1,686793 8 2 ( 0,217632) =1,695088 8 ( 0,217632)
Regula-falsi Outro exemplo A=1,686793 ;f ( A)= 0,217632 X= A f (B) B f ( A) f (1,695088 )= 0,048918 f ( A)f (X )>0; R (X, B); A X e agora teremos = 1,686793 8 2 ( 0,217632) =1,695088 8 ( 0,217632) A=1,695088 Testemos novamente o critério de parada e f ( A)= 0,048918
Regula-falsi Outro exemplo Usando os dois últimos valores obtidos para X teremos X 4 X 3 X 3 = 1,695088 1,686793 0,0048 1,686793 O valor ainda é mais de quatro vezes o valor desejado. Continuemos
Regula-falsi Outro exemplo A=1,695088;f ( A)= 0,048918 X= A f (B) B f ( A) f (1,696941 )= 0,010902 f ( A)f (X )>0; R (X, B); A X = 1,695088 8 2 ( 0,048918) =1,696941 8 ( 0,048918)
Regula-falsi Outro exemplo A=1,695088;f ( A)= 0,048918 X= A f (B) B f ( A) f (1,696941 )= 0,010902 f ( A)f (X )>0; R (X, B); A X = 1,695088 8 2 ( 0,048918) =1,696941 8 ( 0,048918) e agora teremos A=1,696941 e f ( A)= 0,010902 Testemos mais uma vez o critério de parada
Regula-falsi Outro exemplo Usando os dois últimos valores obtidos para X teremos X 5 X 4 X 4 Foi quase! Continuemos = 1,696941 1,695088 0,00109 1,695088
Regula-falsi Outro exemplo A=1,696941; f ( A)= 0,010902 X= A f (B) B f ( A) f (1,697353 )= 0,002425 f ( A)f (X )>0; R (X, B); A X = 1,696941 8 2 ( 0,010902) =1,697353 8 ( 0,010902)
Regula-falsi Outro exemplo A=1,696941; f ( A)= 0,010902 X= A f (B) B f ( A) f (1,697353 )= 0,002425 f ( A)f (X )>0; R (X, B); A X e agora teremos = 1,696941 8 2 ( 0,010902) =1,697353 8 ( 0,010902) A=1,697353 Testemos (esperamos) pela última vez... e f ( A)= 0,002425
Regula-falsi Outro exemplo Usando os dois últimos valores obtidos para X teremos X 6 X 5 X 5 = 1,697353 1,696941 2,4278 10 4 1,696941 Critério de parada satisfeito e o critério para o valor da função em X responde coerentemente com o critério adotado neste exemplo
Zeros de função Mas observe que os métodos de partição são um tanto enrolados pois precisamos de fazer testes.
Zeros de função Mas observe que os métodos de partição são um tanto enrolados pois precisamos de fazer testes. Nos exemplos dados temos funções que são de comportamento monótono nos intervalos dados mas isto pode se complicar
Zeros de função Mas observe que os métodos de partição são um tanto enrolados pois precisamos de fazer testes. Nos exemplos dados temos funções que são de comportamento monótono nos intervalos dados mas isto pode se complicar Além disso, temos quais garantias que os métodos funcionariam sempre?
Zeros de função Mas observe que os métodos de partição são um tanto enrolados pois precisamos de fazer testes. Nos exemplos dados temos funções que são de comportamento monótono nos intervalos dados mas isto pode se complicar Além disso, temos quais garantias que os métodos funcionariam sempre? Vamos partir para outra categoria de métodos