introdução aos métodos numéricos -...
Post on 10-Oct-2019
16 Views
Preview:
TRANSCRIPT
Introdução aos Métodos Numéricos
Instituto de Computação UFFDepartamento de Ciência da Computação
Otton Teixeira da Silveira Filho
Conteúdo temático
● Zeros de Função
Conteúdo específico
● Aspectos básicos sobre zeros de função
● Métodos de partição
Método da bissecção
Critério de parada
Zeros de função
Suponha que, por algum motivo, necessitamos de determinar onde uma função se anula
f (x)=0
Zeros de função
Parece que a solução é simples: basta achar a função inversa da função e a calcular em zero
x=f −1(0)
Zeros de função
Parece que a solução é simples: basta achar a função inversa da função e a calcular em zero
Pena que achar a inversa de uma função não seja uma coisa simples em geral
x=f −1(0)
Zeros de função
Parece que a solução é simples: basta achar a função inversa da função e a calcular em zero
Pena que achar a inversa de uma função não seja uma coisa simples em geral
Sem contar que podemos ter a função anulando em mais de um ponto, como na figura que mostramos...
x=f −1(0)
Zeros de função
Mas em que situações necessitaríamos determinar os pontos uma função se anula?
● Determinação de máximos de funções
Zeros de função
Mas em que situações necessitaríamos determinar os pontos uma função se anula?
● Determinação de máximos de funções
● Apresentação realística de contato entre objetos em computação gráfica (animações, etc.)
Zeros de função
Mas em que situações necessitaríamos determinar os pontos uma função se anula?
● Determinação de máximos de funções
● Apresentação realística de contato entre objetos em computação gráfica (animações, etc.)
● Determinação de níveis de energia em simulações
● Etc.
Zeros de função
Existe um conjunto de funções das quais sabemos algo sobre o ponto no qual elas se anulam como os polinômios.
Zeros de função
Existe um conjunto de funções das quais sabemos algo sobre o ponto no qual elas se anulam como os polinômios.
Se um polinômio de grau n sabemos que terá n pontos onde se anulará, seja no eixo real ou no plano complexo
Mesmo aqui temos problemas
Zeros de função
● Sabemos fórmulas algébricas para polinômios de grau até 4.
Zeros de função
● Sabemos fórmulas algébricas para polinômios de grau até 4.
● Deste grau para cima é demonstrável que não existem fórmulas algébricas para o caso geral, apenas para casos particulares.
Zeros de função
● Sabemos fórmulas algébricas para polinômios de grau até 4.
● Deste grau para cima é demonstrável que não existem fórmulas algébricas para o caso geral, apenas para casos particulares.
● Usar o recurso de dividir polinômios é numericamente instável...
Zeros de função
Mas o que fazer se as equações forem como estas?
Existem pontos onde se anulam?
e x−3 cos x=0 ;cos x−sen2 x+
32=0 ;∫
0
xsen tt
dt−x+1=0
Zeros de função
Mas o que fazer se as equações forem como estas?
Existem pontos onde se anulam?
Se tem, quantos?
e x−3 cos x=0 ;cos x−sen2 x+
32=0 ;∫
0
xsen tt
dt−x+1=0
Zeros de função
Mas o que fazer se as equações forem como estas?
Existem pontos onde se anulam?
Se tem, quantos?
Como achar estes pontos?
e x−3 cos x=0 ;cos x−sen2 x+
32=0 ;∫
0
xsen tt
dt−x+1=0
Zeros de função
Diremos que determinar onde funções se anulam está em determinarmos os zeros destas funções
Zeros de função
Diremos que determinar onde funções se anulam está em determinarmos os zeros destas funções
O termo “raízes“ é mais adequado aos pontos onde polinômios se anulam
Zeros de função
Mudaremos a visão do problema
No lugar de termos um problema com n zeros, vamos transformar este problema em n problemas de um zero a determinar
Zeros de função
Mudaremos a visão do problema
No lugar de termos um problema com n zeros, vamos transformar este problema em n problemas de um zero a determinar
Faremos isto isolando cada zero num determinado intervalo que o contém...
Zeros de função
...como na figura abaixo
Zeros de função
Escolhamos um zero
Zeros de função
Escolhamos um zero
Como sabemos que há um
zero no intervalo (A,B)?
Zeros de função
Escolhamos um zero
Como sabemos que há um
zero no intervalo (A,B)?
Se a função f(x) for
diferenciável no intervalo
então f (A ) f (B)<0
Zeros de função
Na grande maioria das vezes não temos o gráfico da função e nem nos interessa ter um gráfico!
Queremos o zero da função
Pergunta:
● O teste que fizemos anteriormente sempre funcionará?
Zeros de função
Isolar raizes em geral não é simples, precisamos ter um estudo minimamente aprofundado da função
Zeros de função
Isolar raizes em geral não é simples, precisamos ter um estudo minimamente aprofundado da função
...e muitas vezes a função é tão complexa que temos dificuldade em isolar mas raizes, ou seja,
podemos cometer erros.
Zeros de função – Zeros múltiplos
Observe a figura:
Se escolhermos isolar o zero no intervalo teremos um problema com nosso teste. Ele dirá que não há nenhum zero no intervalo. De fato há dois zeros!
[1/2,3 /2]
Zeros de função – Zeros múltiplos
A função na figura é da função que tem como zeros os valores 1 e 2, sendo 1 uma raiz dupla.
Diremos que:
● x = 1 é zero de multiplicidade 2
● x = 2 é zero de multiplicidade 1 ou um zero simples
−x3+4 x2
−5 x+2
Zeros de função – Zeros múltiplos
Observe agora a figura:
Se escolhermos isolar o zero no intervalo não teremos um problema com nosso teste. Mas aqui há três zeros!
[1/2,3 /2]
Zeros de função – Zeros múltiplos
A função desta figura é da função que tem como zeros o valores 1 que é um zero triplo.
Diremos que:
● x = 1 é zero de multiplicidade 3.
−x3+3 x2
−3 x+1
Zeros de função – Zeros múltiplos
Podemos generalizar estes exemplo observando que:
● Se uma função tiver um zero de multiplicidade par o nosso teste falhará
● Se uma função tiver um zero de multiplicidade impar o nosso teste funcionará mas indicará menos zeros do que os existentes
Zeros de função – Zeros múltiplos
Generalizando mais ainda, temos que:
Se uma função tiver um zero R de multiplicidade n então não só a função se anulará em R como também se anularão em R suas n-1 derivadas
Experimente isto com as funções apresentadas
Zeros de função
Partiremos agora do suposto que fizemos uma boa análise da função de nosso interesse e sabemos que isolamos um zero simples, ou seja, que o zero não é múltiplo.
Assim nosso teste valerá e nos dará um método útil de determinarmos zeros de função
Zeros de função
Apresentaremos um método da categoria de Métodos de Partição, ou seja, métodos que sucessivamente obtém subintervalos que contém a solução do problema
Método da bissecção
Este método começa por acharmos o ponto médio do intervalo, ou seja,
X=A+B
2
Método da bissecção
Como o zero se encontra entre A e B, temos que este zero se encontra no intervalo (A,X] ou no intervalo [X,B).
Usaremos o teste
Se f (A ) f (X )<0 ; R∈(A , X )
Método da bissecção
Como o zero se encontra entre A e B, temos que este zero se encontra no intervalo (A,X] ou no intervalo [X,B).
Usaremos o teste
Se
Se
f (A ) f (X )<0 ; R∈(A , X )
f (A ) f (X )>0 ; R∈(X ,B)
Método da bissecção
Feito isto faremos
Se
Se
Novamente calculamos
para o novo A ou B. A figura ficará...
f (A ) f (X )<0 ; R∈(A , X );B← X
f (A ) f (X )>0 ; R∈(X ,B); A← X
X=A+B
2
Método da bissecção
Novamente faremos o teste
com uma pequena
modificação
Método da bissecção
Se
Isto é necessário pois não temos como prever o comportamento da função em X
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
Método da bissecção
Calculando
X=A+B
2
Método da bissecção
Resumo do que fizemos
Método da bissecção
Seja f(x) diferenciável em [A, B]. Tenhamos f(A)
I) Calcule
II) Se
III) Se o critério de parada não for satisfeito, retorne a I
f (A) f (X )<0 ;R∈(A , X );B←Xf (A) f (X )>0 ;R∈(X ,B); A←Xf (A ) f (X )=0 ;R=A ou R=X
X=A+B
2e f (X )
Método da bissecção
No momento não abordaremos o critério de parada
Método da bissecção – Um exemplo
Determine aproximações para o ponto onde a função abaixo se anula no semi-eixo positivo.
e x−3 cos x
Método da bissecção – Um exemplo
Determine aproximações para o ponto onde a função abaixo se anula no semi-eixo positivo.
Isto significa que queremos resolver a equação abaixo
e x−3 cos x
e x−3 cos x=0
Zeros de função
O primeiro obstáculo é localizar o zero dentro de um intervalo. Isto pode ser feito por
● Um estudo da natureza do problema
Zeros de função
O primeiro obstáculo é localizar o zero dentro de um intervalo. Isto pode ser feito por
● Um estudo da natureza do problema
● Um estudo exploratório
Zeros de função
O primeiro obstáculo é localizar o zero dentro de um intervalo. Isto pode ser feito por
● Um estudo da natureza do problema
● Um estudo exploratório
O estudo da natureza do problema é o melhor e exige boa compreenção do que estamos fazendo
Zeros de função
Aqui olharemos para o problema como a intersecção entre duas curvas, ou seja,
e x−3 cos x=0
Zeros de função
Aqui olharemos para o problema como a intersecção entre duas curvas, ou seja,
e conhecemos bem estas duas funções.
e x−3 cos x=0⇒ ex
=3 cos x
Zeros de função
Aqui olharemos para o problema como a intersecção entre duas curvas, ou seja,
e conhecemos bem estas duas funções.
Já que é assim, façamos um esboço destas duas funções no semi-eixo positivo, lembrando que cosseno atinge o primeiro valor zero em π/2
e x−3 cos x=0⇒ ex
=3 cos x
Zeros de função
Esboço do ponto de intersecção
e x=3 cos x
Zeros de função
Esboço do ponto de intersecção
É fácil de perceber que existe um
ponto entre 0 e 1 na qual e
se intersectam, ou seja,
a nossa função tem um zero em
[0,1]
e x=3 cos x
ex
3cos(x)
Zeros de função
Verifiquemos... f (x)=ex−3 cos x
f (0)=e0−3 cos 0=1−3=−2
f (1)=e1−3 cos1=2,7182818−3×0,540302=1,097374
Zeros de função
Verifiquemos...
Temos a confirmação que há um zero neste intervalo
f (x)=ex−3 cos x
f (0)=e0−3 cos 0=1−3=−2
f (1)=e1−3 cos1=2,7182818−3×0,540302=1,097374
Zeros de função
Verifiquemos...
Temos a confirmação que há um zero neste intervalo
Apliquemos o Método da Bissecção fazendo A=0, B=1
f (x)=ex−3 cos x
f (0)=e0−3 cos 0=1−3=−2
f (1)=e1−3 cos1=2,7182818−3×0,540302=1,097374
Método da bissecção – Um exemplo
Agora continuando...
f (x)=ex−3 cos x
f (X )= f ( 12 )=e1/2
−3 cos12=−0,984026
X=A+B
2=
0+12
=12
f (A )=−2
f (A ) f (X )>0 ; A←X
A=12
e f (A )=−0,984026
Método da bissecção – Um exemplo
Agora continuando...
f (x)=ex−3 cos x
f (X )= f ( 34 )=e3/4
−3 cos34=−0,078066
X=A+B
2=
1 /2+12
=34
f (A ) f (X )>0 ; A←X
A=34
e f (A )=−0,078066
f (A )=−0,984026
Método da bissecção – Um exemplo
Agora continuando...
f (x)=ex−3 cos x
f (X )= f ( 78 )=e7 /8
−3 cos78=0,475884
X=A+B
2=
3/4+12
=78=0,875
f (A ) f (X )<0 ;B←X
B=78
e f (B)=0,475884
f (A )=−0,078066
Método da bissecção – Um exemplo
Agora
f (x)=ex−3 cos x
f (X )= f ( 1316 )=e13 /16
−3 cos1316
=0,190478
X=A+B
2=
3/4+7 /82
=1316
=0,8125
f (A ) f (X )<0 ;B←X
B=1316
f (A )=−0,078066
Método da bissecção – Um exemplo
Agora paremos por aqui...
f (x)=ex−3 cos x
f (X )= f ( 1316 )=e13 /16
−3 cos1316
=0,190478
X=A+B
2=
3/4+7 /82
=1316
=0,8125
f (A ) f (X )<0 ;B←X
B=1316
f (A )=−0,078066
Método da bissecção – Um exemplo
Resumindo temos a seguinte progressão
R∈[0,1]⇒R∈[ 12 ,1 ]
Método da bissecção – Um exemplo
Resumindo temos a seguinte progressão
R∈[0,1]⇒R∈[ 12 ,1 ]⇒R∈ [ 34,
1 ]
Método da bissecção – Um exemplo
Resumindo temos a seguinte progressão
R∈[0,1]⇒R∈[ 12 ,1 ]⇒R∈ [ 34,
1 ] ⇒R∈[ 34,
78 ]
Método da bissecção – Um exemplo
Resumindo temos a seguinte progressão
ou na última avaliação R∈[0,75 ;0,8125 ]
R∈[0,1]⇒R∈[ 12 ,1 ]⇒R∈ [ 34,
1 ] ⇒R∈[ 34,
78 ]⇒R∈[ 3
4,1316 ]
Método da bissecção – Um exemplo
Resumindo temos a seguinte progressão
ou na última avaliação
Temos uma progressão mas como ela se dá?
R∈[0,75 ;0,8125 ]
R∈[0,1]⇒R∈[ 12 ,1 ]⇒R∈ [ 34,
1 ] ⇒R∈[ 34,
78 ]⇒R∈[ 3
4,1316 ]
Método da bissecção – Um exemplo
Resumindo temos a seguinte progressão
ou na última avaliação
Temos uma progressão mas como ela se dá?
Quando parar?
R∈[0,75 ;0,8125 ]
R∈[0,1]⇒R∈[ 12 ,1 ]⇒R∈ [ 34,
1 ] ⇒R∈[ 34,
78 ]⇒R∈[ 3
4,1316 ]
Método da bissecção
Acredito que seja fácil de perceber que o intervalo que contém o zero decresce para metade de sua amplitude a cada passo, ou seja,
Ln=|B−A|
2n
Método da bissecção
Acredito que seja fácil de perceber que o intervalo que contém o zero decresce para metade de sua amplitude a cada passo, ou seja,
onde B e A são os valores iniciais. Isto nos dá um critério de parada.
Ln=|B−A|
2n
Método da bissecção
Vamos supor que desejamos parar quando o intervalo que contém R for de tamanho tol. Assim,
Com isto, sabemos quantos passos do método teremos que executar para obtermos o resultado que desejamos
tol=|B−A|
2n ⇒2n=
|B−A|tol
⇒n=log2 (|B−A|tol )
Método da bissecção
Se no nosso exemplo desejássemos que tol fosse um milésimo do intervalo original, teríamos
Este método não parece tão ruim assim.
n=log2 (|B−A|tol )= log2 (|1−0|
0,001 )=log2(1000)≈10
Método da bissecção
Se no nosso exemplo desejássemos que tol fosse um milésimo do intervalo original, teríamos
Este método não parece tão ruim assim.
Mas é lento...
n=log2 (|B−A|tol )= log2 (|1−0|
0,001 )=log2(1000)≈10
Método da bissecção
O método da bissecção não leva em consideração o valor das funções, somente os sinais.
Método da bissecção
O método da bissecção não leva em consideração o valor das funções, somente os sinais.
Abaixo temos alguns valores numéricos calculados durante o uso do algoritmo
f (0)=−2; f (1)=1,097374 ; f ( 12 )=−0,984026
f ( 34 )=−0,078066 ; f ( 7
8 )=0,475884 ; f ( 1316 )=0,190478
Método da bissecção
O método da bissecção não leva em consideração o valor das funções, somente os sinais.
Abaixo temos alguns valores numéricos calculados durante o uso do algoritmo
o valor em ¾ parece próximo da solução...
f (0)=−2; f (1)=1,097374 ; f ( 12 )=−0,984026
f ( 34 )=−0,078066 ; f ( 7
8 )=0,475884 ; f ( 1316 )=0,190478
Método da bissecção
O método da bissecção não leva em consideração o valor das funções, somente os sinais.
Abaixo temos alguns valores numéricos calculados durante o uso do algoritmo
o valor em ¾ parece próximo da solução...
...e o método não “viu“...
f (0)=−2; f (1)=1,097374 ; f ( 12 )=−0,984026
f ( 34 )=−0,078066 ; f ( 7
8 )=0,475884 ; f ( 1316 )=0,190478
Método da bissecção
● O método da bissecção parece eficaz mas não é eficiente, afinal despresa propriedades numéricas da função;
● Implementações em computadores podem fazer com que ele se torne instável, pois num computador não temos números Reais mais números de ponto flutuante;
● O fato dele desconsiderar propriedades da função pode ser útil se a função tem propriedades analíticas que dificultem determinarmos os zeros
top related