Você está na página 1de 62

DISCIPLINA DE CÁLCULO

NUMÉRICO

EQUAÇÕES NÃO LINEARES


MÉTODOS NUMÉRICOS PARA ENCONTRAR
RAÍZES (ZEROS) DE FUNÇÕES REAIS

HELAINE FURTADO
UNIVERSIDADE FEDERAL DO OESTE DO PARÁ - UFOPA
OBJETIVOS DA AULA

 Estudar alguns métodos numéricos para a


resolução de funções reais;

 Istoé, encontrar soluções de equações não


lineares do tipo 𝒇 𝒙 = 𝟎;

 Nas mais diversas áreas das ciências exatas


ocorrem, frequentemente, situações que
envolvem a resolução de uma equação 𝑓 𝑥 = 0;
CARACTERIZAÇÃO MATEMÁTICA

 Conhecida uma função f(x)


 Determinar o valor 𝑥 ∗ tal que 𝑓(𝑥 ∗ ) = 0
 𝑥 ∗ é o zero da função 𝑓(𝑥) ou raiz da equação 𝑓 𝑥 = 0;

 Possuem solução analítica:


 Equações algébricas (polinomiais) do 1𝑜 e 2𝑜 graus;
 Certos formatos de equações algébricas do 𝟑𝒐 e
𝟒𝒐 graus;
 Algumas equações transcendentais (não polinomiais)
ILUSTRAÇÃO: EQUILÍBRIO DE MECANISMOS
ILUSTRAÇÃO: EQUILÍBRIO DE CORPOS
FLUTUANTES
FUNÇÃO

Definição: Uma função 𝑓: 𝐴 → 𝐵 consta de três partes:

 um conjunto A chamado de domínio de f


 um conjunto B chamado de imagem ou
contradomínio
 uma regra que permite associar, de modo bem
determinado, a cada elemento a  A, um único
elemento 𝑏 = 𝑓 𝑎 ∈ 𝐵.

Isto é:
a  A  f(a)  B.
FUNÇÃO
FUNÇÃO

f(x)=x 2-4x+3
15

10

-2 -1 0 1 2 3 4 5
FUNÇÃO
f(x) = sin(x)

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

0 1 2 3 4 5 6
FUNÇÃO
FUNÇÃO
FUNÇÕES TRANSCENDENTES

 Funções que não possuem fórmula analítica para o cálculo de


suas raízes.

 Como obtê-las?
 Método gráfico
 Métodos numéricos
f ( x)  e x  3 x
 Interpretação visual:

XR1[0,5; 1]
XR2[1,5; 2]

 Estimativa grosseira:
XR10,6
XR21,5

f(0,6) = 0,0221
f(1,5) =-0,0183
RAÍZES DE FUNÇÕES

 Solução Exata x Solução Numérica


 Qual o modelo matemático para o seguinte sistema
físico?
Utiliza-se a lei de Kirchoff:

V  Ri  0
i
V Solução
V i Exata ou Analítica
R R

V  10 Volts
R  100 
i=?
i  0,1 A
RAÍZES DE FUNÇÕES

 Solução Exata x Solução Numérica


 Qual o modelo matemático para o seguinte sistema
físico?
Utiliza-se a lei de Kirchoff:

kT  i 
i V  R i  ln   1  0
q  Is 
V
R

Solução obtida
através de
i=? Métodos
Como obter o valor de i? Numéricos
ALGUMAS OBSERVAÇÕES
 Uma equação não linear pode:
 ter uma única solução
 ter um número finito de soluções
 Ter uma infinidade de soluções
 Não ter solução
 Soluções analíticas podem ser obtidas apenas em
alguns casos especiais

 Polinomiais de grau menor ou igual a 4


 Trigonométricas simples
 Exponenciais/logarítmicas simples
 Alguns outros casos

 Aproximações para uma solução de equação


podem ser construídas de maneira aproximada.
ESTRUTURA DO MÉTODO ITERATIVO
 Define-se:
 um chute inicial 𝑥0
 Uma tolerância tol
 O máximo de iterações maxiter
 Constrói-se uma sequência de aproximações para 𝑥 ∗
 𝑥1 , 𝑥2 , … , 𝑥𝑛 , …

 Um bom método iterativo tem-se:

 lim 𝑥𝑛 = 𝑥 ∗
𝑛→∞
CARACTERÍSTICAS DESEJÁVEIS
 Eficiência: necessitar de um pequeno número de avaliações
computacionais da função f;

 Robustez: raramente (ou nunca) falha. Se falhar


informa ao usuário;

 Requer uma quantidade mínima de informações sobre f


(continuidade, derivadas, etc);

 Requer que f satisfaça propriedades mínimas de


suavidade;

 Facilmente generalizável para equações com várias


variáveis.
CONSIDERAÇÕES PRÁTICAS

 Em teoria, um método “bom” iterativo encontra o


valor exato de 𝑥 ∗ , pois constrói um sequência
convergente, 𝑥𝑛 → 𝑥 ∗ ;

 Na prática, é necessário interromper o processo


iterativo após um número finito de iterações, segundo
algum critério de parada;

 Um “bom” método iterativo encontra uma


aproximação para xn ≈ 𝑥 ∗
CRITÉRIOS DE PARADA
 Máximo de iterações
 𝑛 > 𝑚𝑎𝑥𝑖𝑡𝑒𝑟
 “erro” absoluto

 xn − x𝑛−1 < tol


 “erro” relativo

 xn − x𝑛−1 < tol|xn |


 Teste do resíduo

 f(xn ) < tol


MÉTODOS ITERATIVOS

 Método da bissecção

 Método do ponto fixo

 Método de Newton

 Método da secante
IDEIA CENTRAL DOS MÉTODOS

 Partir de uma aproximação inicial para a raiz (um


intervalo onde imagina-se que a raiz está contida);

 Refinar essa aproximação por meio de um


processo iterativo.
PARA ISSO TEM-SE DUAS FASES

 Fase I: localização ou isolamento das raízes, que


consiste em obter um intervalo que contém a raiz;

 Fase II: refinamento, que consiste em:


 escolhidas aproximações iniciais no intervalo na
Fase I, melhorá-las sucessivamente até se obter
uma aproximação para a raiz dentro de uma
precisão 𝜖 pré-fixada
FASE I: ISOLAMENTO DAS RAÍZES

 Nesta fase é feita uma análise teórica e gráfica da


função f(x);

 É importante ressaltar que o sucesso da


Fase II depende fortemente da precisão da
análise;

 Na análise teórica usa-se frequentemente o


teorema;
 1) Teorema: seja f(x) uma função contínua em um
intervalo [a,b]. Se f(a).f(b) < 0, então existe pelo
menos um ponto x= ε entre a e b tal que f(ε)=0.
Graficamente:

temos:
f(a) > 0
f(b) < 0
f(a).f(b) < 0
∴ ∃ 𝜀 ∈ 𝑎, 𝑏 | 𝑓 𝜀 = 0
2) Corolário: Se 𝑓′(𝑥) existir e preservar o sinal em (𝑎, 𝑏),
então esse intervalo possui uma única raiz da 𝑓(𝑥).

3) Os métodos numéricos para encontrar zeros de funções


possuem duas fases:

 Fase 1: localização das raízes

 Fase 2: refinamento
1. Método Gráfico 1
Traçamos o gráfico da função e encontramos o
ponto onde a curva intercepta o eixo do x.

Exemplo: Localizar as raízes de 𝑓(𝑥) = cos(𝑥) no


intervalo [0, 2𝜋].

∃ 𝜀1 ∈ 1, 2 | 𝑓 𝜀1 = 0
∃ 𝜀2 ∈ 4, 5 | 𝑓 𝜀2 = 0
2. Método Gráfico 2

Rearranjamos a função dada em duas funções cujos


gráficos são mais fáceis de serem traçados.
Por fim, as raízes da função original são dadas pelos
pontos de intersecção dos dois gráficos.

Exemplo: Localizar as raízes de 𝑓 𝑥 = 𝑥 3 − 9𝑥 + 3

𝑥 3 − 9𝑥 + 3 = 0

𝑥 3 = 𝟗𝒙 − 𝟑

𝑓 𝑥 = 𝑥3

𝑔 𝑥 = 𝟗𝒙 − 𝟑
 ∃ 𝜀1 ∈ −4, −3 | 𝑓 𝜀1 = 0
 ∃ 𝜀2 ∈ 0, 1 | 𝑓(𝜀2 )=0

 ∃ 𝜀3 ∈ 2, 3 | 𝑓(𝜀3 )=0
OBSERVAÇÃO
 Se 𝑓(𝑎). 𝑓(𝑏) > 0 então podemos ter várias situações no
intervalo [a,b], conforme mostram os gráficos:
OBSERVAÇÃO

 O esboço do gráfico de uma função requer um


estudo detalhado do comportamento desta
função, que envolve basicamente os itens:

 Domínio da função
 Pontos de descontinuidade
 Intervalos de crescimento e decrescimento
 Pontos de máximo e mínimo
 Concavidade
 Pontos de inflexão (a derivada de segunda
ordem troca de sinal)
 Assíntotas da função
FASE II: REFINAMENTO DA RAIZ
 Veremos agora vários métodos de refinamento
de raiz

Método da bisseção

Método do ponto fixo

Método de Newton

Método da secante
FUNCIONAMENTO DOS MÉTODOS

f(x)
Chute inicial
Erro (critério de
parada)
Número de
iterações
MÉTODO DA BISSECÇÃO
 Seja a função 𝒇(𝒙) contínua no intervalo [𝒂, 𝒃] tal que
𝒇(𝒂). 𝒇(𝒃) < 𝟎. Suponha que exista uma única raiz nesse
intervalo.

 O método da bissecção consiste na redução sistemática


do comprimento do intervalo que contém a raiz ao
meio, até que a precisão desejada seja atingida, de
acordo com algum critério de parada.

 Para o método da bissecção o critério de parada é, em


geral, 𝒃 − 𝒂 < 𝝐
 A função de iteração é dada por:
𝑎+𝑏
𝑥𝑘 = k=0
2 f(a) < 0
e graficamente: f(𝑥0 ) > 0
f(a). f(𝑥0 ) < 0 => 𝑏 =𝑥0

k=1
f(𝑥1) < 0
f(a) < 0
f(a).f(𝑥1) > 0 => a= 𝑥1

k=2
f(𝑥2 ) < 0
f(a) < 0
f(a).f(𝑥2 ) > 0 => a= 𝑥2

E assim por diante.


 Zeros de funções: Método da Bissecção
Algoritmo
Dados f(x), a e b tais que f(a).f(b) < 0 e ε.
k=0
Enquanto |𝑏 − 𝑎 | > 𝜀, faça
𝑎+𝑏
𝑥𝑘 = 2
Se f(a)*f(𝑥𝑘 ) > 0, então
a= 𝑥𝑘
senão
𝑏 = 𝑥𝑘
fim-se
k=k+1
Fim- Enquanto
Retorna 𝑥𝑘
 Exercício: encontre as raízes da função 𝑓 𝑥 = 𝑥 3 − 9𝑥 +
3 nos intervalos 𝐼1 = −4, −3 , 𝐼2 = 0, 1 e 𝐼3 = [2 , 3], com
precisão menor ou igual a ε= 0.05. ( 4 casas decimais)

Resposta: As raízes aproximadas da f(x) são:

−3.1407
0.3282
2.8281
IMPLEMENTAÇÃO EM GNU OCTAVE
 function[x,iter] = bisection(f,a,b,tol)
 iter = 0;
 x = 0.5*(a + b);
 error = inf;
 while error > tol
 if f(a)*f(x)<0
 b = x;
 else
 a = x;
 end
 x0 = x;
 x = 0.5*(a+b);
 error = abs(x-x0);
 iter = iter + 1;
 fprintf('n = %3d x error = %f \n', iter,x,error);
 end
 return
EXPERIMENTO COMPUTACIONAL
 Encontre a raiz da função 𝑓 𝑥 = 𝑥 2 − 2 em
𝑎, 𝑏 = 0,2 .

 >> a=0.0; b=2.0; tol = 1.0*10^(-9);


 >> f = @(x) x^2-2;

 root = bisection(f,a,b,tol)
CARACTERÍSTICAS DO MÉTODO DA
BISSECÇÃO

 Simples de implementar

 Seguro e robusto (não falha)

 Convergência garantida (teorema)

 Requer apenas a continuidade de f

 Convergência extremamente lenta

 Difícil de generalizar para várias variáveis


MÉTODO DO PONTO FIXO (MPF)

 Seja f(x) uma função contínua em [a, b];

O MPF consiste em transformar


𝑓 𝑥 =0
e isolar x
𝑥 = 𝜑(𝑥)

 E a partir de 𝑥0 criar {𝑥𝑘 } → 𝜀, a partir da função de


iteração
𝒙𝒌+𝟏 = 𝝋(𝒙𝒌 )
ITERAÇÃO DE PONTO FIXO

 Transforma o problema de encontrar uma raiz de 𝑓 num


problema equivalente (mais fácil), em que busca-se um
ponto fixo de g;

 Exemplos:

 𝑔 𝑥 =𝑥+𝑓 𝑥
 𝑔 𝑥 = 𝑥 + 𝛼𝑓 𝑥 , 𝛼 ∈ 𝑅
𝑓 𝑥
 𝑔 𝑥 = 𝑥 − 𝑓′ 𝑥
, 𝑓′ 𝑥 ≠ 0
 Etc.
ALGORITMO
IMPLEMENTAÇÃO

 function [x, iter] = fixedpoint(g,x0,tol,maxiter)


 iter = 0;
 error = inf;
 while error > toll && iter < maxiter
 iter = iter + 1;
 x = g(x0);
 error = abs(x-x0);
 x0 = x;
 fprintf('n= %3d x = %f error = %f \n', iter, x,
error);
 end
 return
EXEMPLOS

 Considere a função 𝑓 𝑥 = 𝑥𝑒 𝑥 − 1, 0 ≤ 𝑥 ≤ 1, e
três possíveis iterações de ponto fixo:

 1. 𝑔1 𝑥 = 𝑒 −𝑥
 2. 𝑔2 𝑥 = (1 + 𝑥)/(1 + 𝑒 )
𝑥

 3. 𝑔3 𝑥 = 𝑥 + 1 − 𝑥𝑒
𝑥
EXPERIMENTOS COMPUTACIONAIS

 >> x0=0.5; tol =10^(-9); maxiter = 10;


 >> g = @(x) exp(-x)
 root = fixedpoint(g,x0,tol,maxiter)

 >> x0=0.5; tol =10^(-9); maxiter = 10;


 >> g = @(x) (1+x)/(1+exp(x))
 root = fixedpoint(g,x0,tol,maxiter)

 >> x0=0.5; tol =10^(-9); maxiter = 10;


 >> g = @(x) x + 1 – x*exp(x)
 root = fixedpoint(g,x0,tol,maxiter)
OBSERVAÇÕES
 1. 𝑔1 𝑥 = 𝑒 −𝑥
 converge lentamente

 2. 𝑔2 𝑥 = (1 + 𝑥)/(1 + 𝑒 𝑥 )
 converge rapidamente

 3. 𝑔3 𝑥 = 𝑥 + 1 − 𝑥𝑒 𝑥
 não converge
 Teorema: seja ε uma raiz da equação 𝑓(𝑥) =
0, isolada em um intervalo 𝐼 centrado em ε. Seja 𝑓(𝑥)
uma função de iteração para a equação 𝜑(x) = 0. Se:

i. 𝜑(x) e 𝜑 ′ (𝑥) são contínuas em I


ii. | 𝜑 ′ 𝑥 | < 1, ∀ 𝑥 ∈ 𝐼
iii. x∈𝐼

Então a sequência {𝑥𝑘 } gerada pelo processo iterativo


𝑥𝑘+1 = 𝜑(𝑥𝑘 ) converge para 𝜀
EXPERIMENTO COMPUTACIONAL
 Considere 𝑓 𝑥 = 𝑥 2 − 2 e 𝑔 𝑥 = 𝑥 + 𝛼𝑓(𝑥)

 >> x0=2.0; tol =10^(-3); maxiter = 100; alpha = -0.1;


 >> g = @(x) x + alpha*(x^2-2)

 >> root = fixedpoint(g,x0,tol,maxiter)

 root = 1.4164
MÉTODO DE NEWTON
O QUE O MÉTODO DE NEWTON FAZ?

 Na tentativa de garantir e acelerar a convergência do


MPF, escolhe-se para função de iteração a função
𝜑 𝑥 tal que 𝜑 ′ 𝜖 = 0
 Geometricamente

𝑓 ′ 𝑥0 = 𝑡𝑔 𝜃
𝑐.𝑜 𝑓 𝑥0
𝑓 ′ 𝑥0 = 𝑐.𝑎 ⇒ 𝑡𝑔𝜃 = 𝑥
0− 𝑥1
′ 𝑓 𝑥0 ′ 𝑓 𝑥0
𝑓 𝑥0 = 𝑓 𝑥0 = 𝑥 −𝑥
𝑥0 −𝑥1 0 1
𝑓 ′ 𝑥0 . 𝑥0 − 𝑥1 = 𝑓 𝑥0 ⇒
𝑓 𝑥0
𝑥0 − 𝑥1 = ′ ⇒
𝑓 𝑥0
𝑓 𝑥0
−𝑥1 = −𝑥0 + ′ ⇒
𝑓 𝑥0
𝑓 𝑥0
𝑥1 = 𝑥0 − ′ ⇒
𝑓 𝑥0
 Generalizando

𝒇 𝒙𝒌
𝒙𝒌+𝟏 = 𝒙𝒌 − ′
𝒇 𝒙𝒌
 Vantagem:

 Convergência rápida

 Desvantagem:

 Precisa da derivada da f(x)


 Depende das condições de convergência
2ª. raiz
EXEMPLO
IMPLEMENTAÇÃO
EXPERIMENTO COMPUTACIONAL
MÉTODO DA SECANTE
 E quando não é possível calcular f ’(x) ?

 Uma forma de contornar essa desvantagem do


método de Newton é substituir a derivada f ’(x)
pelo quociente das diferenças.

𝑓 𝑥1 − 𝑓 𝑥0
𝑓 𝑥1 ≅
(𝑥1 −𝑥0 )

 Generalizando

𝑓 𝑥𝑘 − 𝑓 𝑥𝑘−1
𝑓 𝑥𝑘 ≅ (1)
𝑥𝑘 − 𝑥𝑘−1

 Substituindo (1) em

𝑥𝑘+1 = 𝑥𝑘 − 𝑓(𝑥𝑘 )/𝑓′(𝑥𝑘 )


 Obtemos a função de iteração do método da
secante:

𝒙𝒌−𝟏 . 𝒇 𝒙𝒌 − 𝒙𝒌 . 𝒇 𝒙𝒌−𝟏
𝒙𝒌+𝟏 =
𝒇 𝒙𝒌 − 𝒇 𝒙𝒌−𝟏

 Note que são necessárias duas aproximações


iniciais.
 Exercício: encontre a raiz da função f(x)=𝑥 3 − 9𝑥 +
3 dados 𝑥0 = 0, 𝑥1 = 1 e critério de parada 𝑓 𝑥𝑘 <
𝜀 com ξ= 5.10−4 . Utilizar 5 casas decimais e
arredondamento
 Comparação entre métodos para 𝑓 𝑥 = 𝑥 3 − 9𝑥 + 3
e ξ= 0.0005 5.10−4

Bissecção Newton Secante


Dados iniciais [-4, -3] 𝑥0 = 0.5 𝑥0 = 0 , 𝑥1 = 1
𝑥ҧ 0.33761 0.33763
𝑓(𝑥)ҧ -0.00001 -0.00018
Número de 11 2 3
iterações

Você também pode gostar