Escolar Documentos
Profissional Documentos
Cultura Documentos
São Cristóvão
2023
1
Nas aulas anteriores...
Métodos numéricos
• Os métodos numéricos, ou análise numérica, são procedimentos simplificados para
obter soluções numéricas aproximadas para equações e problemas de álgebra,
cálculo e outros campos da matemática.
• Esses procedimentos devem ser organizados em etapas definidas e gerais que sejam
aplicáveis ao problema para o qual são formulados para resolver.
• Essas etapas são conhecidas como algoritmos e podem ser programadas usando uma
linguagem de programação.
2
Introdução
𝒂𝒙² + 𝒃𝒙 + 𝒄 = 𝟎
• Suas raízes podem ser facilmente obtidas pela equação de Bhaskara:
−𝒃 ± 𝒃² − 𝟒𝒂𝒄
𝒙=
𝟐𝒂
4
Método Iterativo Simples
• Método Aberto!
5
Método Iterativo Simples
𝒙=𝒈 𝒙
𝒙𝑖+1 = 𝒈 𝑥𝑖
6
Método Iterativo Simples
𝜀𝑠 = 0,5𝑥102−𝑛 %
8
Método Iterativo Simples
Grau de acurácia
➢ A satisfação da condição de igualdade entre os valores
numéricos é extremamente difícil se não impossível.
9
Método Iterativo Simples
• Vamos escrever o passo-a-passo da solução no seguinte algoritmo:
• 1° Passo: Reorganize a equação para que a variável seja colocada no lado esquerdo.
➢ Por exemplo: x²-2x+8= 0 pode ser reescrita por x=0.5x²+4 ou 𝐱 = 𝟐𝒙 − 𝟖
• 2° Passo: Assuma um valor inicial da variável para iniciar a primeira iteração.
• 3° Passo: Substitua o valor da variável no lado direito da equação e calcule um novo valor para a
variável.
𝒙𝒏𝒆𝒘 = 𝟎. 𝟓𝒙² + 𝟒
• 4° Passo: Se o novo valor da variável não for igual ao valor anterior, considere o novo como o valor
da variável.
• 5° Passo: Repita os passos 3 e 4 até que o novo valor seja igual ao valor antigo da variável.
• 6° Passo: Caso o novo valor não se aproxime do valor antigo (a diferença aumenta a cada iteração)
pare o cálculo e tente outro valor inicial ou outro rearranjo da equação dada.
10
Método Iterativo Simples
2𝒙² − 𝟓𝒙 + 𝟑 = 𝟎
• Solução Analítica: x=1 e x=1,5.
• Solução: O primeiro passo no algoritmo deve ser executado manualmente. Assim, a
equação pode ser rearranjada nas formas:
2𝑥² + 3
𝑥= (eq. 1)
5
• Ou:
5𝑥 − 3
𝑥= (eq. 2)
2
11
Método Iterativo Simples
x = 0.9999999999394882
Xnew= 0.9999999999515905
13
Método Iterativo Simples
➢ Iterações 14
➢ Raiz: 6.144936887624888e+145
5𝑥 − 3
𝑥=
2
14
Método Iterativo Simples
• Precisamos Importar a função raiz quadrada (sqrt) da biblioteca math
• temos para o chute inicial de x=1.6:
from math import sqrt
x= 1.6 #chute inicial
for iteracao in range (1,101): #assume que 100 iterações é o suficiente
xnew= sqrt((5*x-3)/2) #calcula o novo valor de xnew
if abs(xnew-x)<0.000001: #grau de acurácia
break # quebra o laço for
x=xnew #atribui o valor de xnew a x
print("o valor da raiz é %0.5f" % xnew) #escreve o valor da raiz com 5 casas
decimais (tipo float)
print("o numero de iterações é de %d" % iteracao) #escreve o numero de
iterações (tipo inteiro)
➢ o valor da raiz é 1.50001
➢ o número de iterações é de 53
15
Método Iterativo Simples
• Implementando agora a primeira equação pelo laço while, temos:
x= 4 #chute inicial
xnew=0
iteracao =0
while abs(xnew-x)>=0.000001: #grau de acuracia
iteracao = iteracao + 1
x = xnew # atribui o valor de xnew a x
xnew = (2*x**2+3)/5 #calcula o novo valor de xnew
print("o valor da raiz é %0.5f" % xnew) #escreve o valor da raiz com 5 casas decimais (tipo float)
print ("o numero da iteracao e %d" %iteracao) #escreve o numero da iteracao
16
Convergência e Divergência
• A solução obtida para a equação quadrática dada acima mostrou que os dois valores
da variável se aproximam a cada iteração e no número de iteração 50 , ambos os
valores são considerados iguais quando o grau de acurácia foi satisfeito.
• Esse comportamento é conhecido como convergência de valores para uma solução
específica.
• O gráfico a seguir mostra a convergência dos valores para 1.
17
Convergência e Divergência
18
Convergência e Divergência
19
Convergência e Divergência
• Se
1° g(x) e g’(x) forem continuas em I
2° 𝑔′(𝑥) ≤ 𝑘 < 1, ∀ 𝑥 ∈ 𝐼
3° 𝑥0 ∈ 𝐼
20
Convergência e Divergência
Método Gráfico das Duas Curvas
21
Método de Newton-Raphson
Isaac Newton
1671
Joseph Raphson
1690
22
Método de Newton-Raphson
23
Método de Newton-Raphson
𝑓 𝑥𝑖 −0
𝑓′(𝑥𝑖) = 𝑥𝑖 −𝑥𝑖+1
𝑓(𝑥𝑖 )
𝑥𝑖+1 = 𝑥𝑖 − 𝑓′(𝑥𝑖 )
24
Método de Newton-Raphson
25
Método de Newton-Raphson
2𝑥² − 5𝑥 + 3
𝑥𝑛𝑒𝑤 =𝑥 −
4𝑥 − 5
26
Método de Newton-Raphson
28
Método de Newton-Raphson
𝑥² + 𝑐𝑜𝑠 2 𝑥 − 4𝑥
𝑥𝑛𝑒𝑤 =𝑥 −
2(𝑥 − 𝑐𝑜𝑠𝑥𝑠𝑒𝑛𝑥 − 2)
29
Método de Newton-Raphson
32
Método da Bissecção
Baseado no
Teorema de Bolzano
• Para f continua em [a, b]
• Para f(a) e f(b) com sinais contrários
• Então f terá uma raiz em (a, b)
Bernard Bolzano
1817
33
Método da Bissecção
𝑆𝑒 𝑦1∗ 𝑦2 < 1
𝑥1 + 𝑥2
𝑥ℎ =
2
...
𝑥ℎ2
34
Método da Bissecção
• Este método baseia-se no fato de que uma raiz de uma equação é o ponto
onde sua curva cruza o eixo x. Por exemplo, o gráfico da equação:
2𝑥² − 5𝑥 + 3 = 0
35
Método da Bissecção
• A curva cruza o eixo x em 1 e 1,5 (ou seja, quando y = 0), que são as raízes da
equação. Assim, podemos simplesmente imaginar o método da bissecção
como uma busca por esses pontos ao longo do eixo x.
• Na verdade, ele procura o ponto que é englobado por dois valores de x com
valores correspondentes de y de sinais diferentes. Então o intervalo entre os
valores de x é reduzido pela metade e a metade que contém a raiz é
reduzida pela metade novamente e assim por diante.
• Por sucessivas operações de bissecção, o intervalo torna-se cada vez menor
e x1 e x2 aproximam-se da raiz. Nesse ponto, y1 e y2 se aproximam de zero.
• Alterando os pontos de busca iniciais, as outras raízes podem ser
determinadas da mesma maneira.:
36
Método da Bissecção
f(x) =2𝑥² − 5𝑥 + 3 = 0
x1 = 0
x2 = 1.2
y1 = 2*x1**2-5*x1+3
y2 = 2*x2**2-5*x2+3
if y1*y2 > 0:
print('Não existe raízes neste intervalo')
exit
for i in range(1,101):
xh = (x1+x2)/2
yh = 2*xh**2-5*xh+3
y1 = 2*x1**2-5*x1+3
if abs(y1) < 1.0e-6:
break
elif y1*yh < 0:
x2 = xh
else:
x1 = xh
print('A raiz é: %.5f' % x1)
print('Numero de bisecções: %d' % i)
39
Método da Bissecção
• Se f(a) x f(b)<0
40
Próximas Aulas
41
FIM
42