Baixe o app para aproveitar ainda mais
Prévia do material em texto
Zeros de Func¸o˜es – Parte 1 Jorge C. Lucero 16 de Marc¸o de 2009 1 Introduc¸a˜o Seja f : R → R uma func¸a˜o real de varia´vel real. Queremos determinar os valores de x tais que f(x) = 0. Esses valores sa˜o denominados zeros ou ra´ızes da func¸a˜o f . Exemplo 1. Seja a equac¸a˜o cos x − x = 0. Podemos reescreveˆ-la na forma cos x = x, e portanto suas soluc¸o˜es sa˜o os valores de x onde as curvas correspondentes a y = x e y = cos x se intersectam. Como mostra a Fig. (1), existe um ponto de intersec¸a˜o para x = ξ. Conclu´ımos enta˜o que a func¸a˜o f(x) = cos x− x possui uma raiz, e que essa raiz e´ u´nica. � 1 −1 ξ π2−π2 x y y = x y = cosx Figura 1: Raiz de f(x) = cos x− x. Exemplo 2. Seja o polinoˆmio cu´bico p3(x) = x3 − 2,1x2 − 1,8x + 2,2. A Fig. 2 mostra um gra´fico de p3(x). Suas ra´ızes sa˜o os 3 pontos de intersecc¸a˜o da curva com o eixo x, indicados por ξ1, ξ2 e ξ3. � Exemplo 3. O fato de poder escrever uma equac¸a˜o, na˜o significa que ela tem soluc¸a˜o. Por exemplo, cos2 x+ 3ex = 0 na˜o tem soluc¸a˜o (porque cos2 x ≥ 0 e 3ex > 0). � Exemplo 4. Mais geralmente, consideremos qualquer sistema computacional, ele´trico, me- caˆnico, biolo´gico, social, etc., no qual um certo paraˆmetro y medido na sa´ıda desse sistema depende de um outro x paraˆmetro de entrada. O que queremos saber e´ qual deve ser a entrada x para se obter y = 0. � Como os exemplos acima ilustram, uma equac¸a˜o f(x) = 0 pode ter uma, mu´ltiplas, infini- tas, ou nenhuma soluc¸a˜o. Antes de utilizar um me´todo para calcular a soluc¸a˜o, e´ conveniente determinar se ela existe, e em tal caso, quantas sa˜o, e aproximadamente onde esta˜o localiza- das. Como veremos, todos os me´todos nume´ricos exigem uma ou mais aproximac¸o˜es iniciais 1 1 2 −1 −2 1 2−1 x y ξ1 ξ2 ξ3 Figura 2: Ra´ızes de p3(x) = x3 − 2,1x2 − 1,8x + 2,2. a` soluc¸a˜o procurada, e quanto mais pro´ximas da soluc¸a˜o estejam, maiores as chances de determina´-la com sucesso e rapidez. Para analisar a existeˆncia de zeros de uma func¸a˜o, o Teorema do Valor Intermedia´rio e´ u´til. Teorema 1 (Teorema do Valor Intermedia´rio). Se f e´ cont´ınua em [a,b] e K e´ qualquer nu´mero entre f(a) e f(b), enta˜o existe c ∈ [a,b] tal que f(c) = K. � Em particular, se f(a) e f(b) tem sinais opostos, enta˜o existe ξ tal que f(ξ) = 0, como ilustra a Fig. 3. Note que isso garante a existeˆncia de pelo menos um zero de f(x), i.e., podem existir mais de um. Na figura, f(a) e f(c) tem sinais opostos, e existem treˆs zeros em (a,c). Tambe´m, se nos extremos de um intervalo a func¸a˜o possui o mesmo sinal, podem ainda haver zeros nesse intervalo. Na mesma figura, f(b) e f(c) tem o mesmo sinal, pore´m existem dois zeros em [b,c]. x y a b cξ1 ξ2 ξ3 Figura 3: Ilustrac¸a˜o do Teorema do Valor Intermedia´rio. Exemplo 5. No caso do exemplo 1, temos f(0) = 1 e f(1) = −0,4597. Como f(0) e f(1) teˆm sinais opostos, e f(x) = cos x − x e´ cont´ınua em I = [0, 1], conclu´ımos que f(x) possui pelo menos um zero em I. � 2 Exemplo 6. A exigeˆncia de continuidade para f(x) e´ importante. A func¸a˜o f(x) = 1/x possui sinais opostos em f(−1) e f(1), no entanto, na˜o possui nenhum zero em [−1, 1]. Note que existe um ponto de descontinuidade nesse intervalo, em x = 0. � 2 Me´todo da Bissecc¸a˜o Exemplo 7. Calculemos √ 2. Sabemos que 12 = 1 e 22 = 4, portanto √ 2 deve estar entre 1 e 2. Testamos o valor me´dio x = 1,5. Como x2 = 2,25 > 2, enta˜o x ultrapassa o valor de √ 2, e deduzimos que √ 2 esta´ entre 1 e 1,5. Testamos o valor me´dio desses nu´meros, x = 1,25. Agora x2 = 1,5625 < 2, enta˜o este valor de x e´ pequeno, e deduzimos que √ 2 esta´ entre 1,25 e 1,5. Repetindo este processo, e arredondando para 4 casas decimais, obtemos para x a sequeˆncia 1,5, 1,25, 1,375, 1,4375, 1,4063, 1,4219, 1,4141, 1,4180, 1,4160, 1,4146, 1,4143, 1,4142, 1,4142, . . . e conclu´ımos que √ 2 = 1,4142. � Este e´ um me´todo de busca bina´ria, que consiste em dividir sucessivamente pela metade um intervalo que sabemos conte´m a soluc¸a˜o do problema, ate´ atingir a precisa˜o desejada. Suponhamos enta˜o uma func¸a˜o f(x) cont´ınua em um intervalo [a0,b0], com f(a0) e f(b0) de sinais opostos. O Teorema do Valor Intermedia´rio nos garante a existeˆncia de um zero ξ nesse intervalo. Para simplificar, suponhamos que esse zero e´ u´nico (Fig. 4). Calculamos o ponto me´dio de [a0, b0], com x0 = a0 + b0 2 Se f(x0) = 0 enta˜o ξ = x0 e temos determinado a raiz. Se na˜o, enta˜o f(x0) tem o mesmo sinal que f(a0) ou que f(b0). Escolhemos enta˜o como novo intervalo [a1,b1] aquele onde a func¸a˜o muda de sinal, i.e., [a1,b1] = { [a0,x0], se f(a0) · f(x0) < 0 [x0,b0] , se f(b0) · f(x0) < 0 Dessa forma, f(a1) e f(b1) tera˜o sinais opostos, o que garante ξ ∈ [a1,b1]. O algoritmo continua repetindo o mesmo processo sobre o intervalo [a1,b1]. Em cada etapa (iterac¸a˜o) i, o comprimento do intervalo [ai,bi] e´ reduzido a` metade do comprimento na iterac¸a˜o anterior. Podemos parar o ca´lculo enta˜o quando o comprimento do intervalo for menor que um valor de precisa˜o ε dado, i.e., bi−ai < ε. Como aproximac¸a˜o final a` raiz, tomamos qualquer valor x∗ dentro do intervalo final [ai, bi]. Ja que ξ, x∗ ∈ [ai, bi], se bi − ai < ε enta˜o |ξ − x∗| < ε. Dessa forma, o erro absoluto da aproximac¸a˜o final sera´ menor que ε. Algoritmo 1 (Me´todo da Bissecc¸a˜o). Dada uma func¸a˜o f(x) cont´ınua em um intervalo [a0,b0], com f(a0)) e f(b0) de sinais opostos, este algoritmo calcula uma aproximac¸a˜o x∗ a um zero de f(x) em [a0,b0], com erro menor que ε. 3 x y ξ a0 b0 a1 b1 a2 b2 x0 x1 Figura 4: Me´todo da bissecc¸a˜o k = 0 while |bk − ak| < ε e f(xk) �= 0 xk = (ak + bk)/2 k = k + 1 if f(xk) · f(bk) < 0 ak+1 = xk bk+1 = bk else ak+1 = ak bk+1 = xk end end x∗ = xk � Exemplo 8. Queremos calcular um zero da func¸a˜o f(x) = x3 + 4x + 2ex − 4 (Fig. ??) com erro menor que ε < 0,001. Um ca´lculo ra´pido nos mostra que f(0) = −2 e f(1) = 6,4366. Como a func¸a˜o f(x) e´ cont´ınua e tem sinais contra´rios, conclu´ımos enta˜o que existe um zero no intervalo [0, 1].O algoritmo acima produz os seguintes resultados: 4 k ak bk f(ak) f(bk) xk f(xk) 0 0 1 -2 6,4366 0,5 1,4224 1 0 0,5 -2 1,4224 0 ,25 -0,41632 2 0,25 0,5 -0,4163 1,4224 0,375 0,46272 3 0,25 0,375 -0,4163 0,4627 0,3125 0,0142 4 0,25 0,3125 -0,4163 0,0142 0,2813 -0,2032 5 0,2813 0,3125 -0,2032 0,0142 0,2969 -0,095 6 0,2969 0,3125 -0,095 0,0142 0,3047 -0,0406 7 0,3047 0,3125 -0,0406 0,0142 0,3086 -0,0132 8 0,3086 0,3125 -0,0132 0,0142 0,3106 4,7832 × 10−4 9 0,3086 0,3106 -0,0132 4,7832 × 10−4 0,3095 -0,0064 10 0,3096 0,3106 -0,0064 4,7832 × 10−4 0,3101 -0,0029 11 0,3101 0,3106 No final das iterac¸o˜es, o algoritmo retorna o valor x∗ = a11 = 0,3101, que aproxima o zero p de f(x) com erro |ξ − x∗| < |b11 − a11| = 0,0005. � Outro crite´rio de parada que pode ser usado e´ |f(xk)| < ε. Entretanto, e´ poss´ıvel ter f(xk) muito pequeno, mas xk ainda longe da raiz. Exemplo 9. Se aplicamos o algoritmo da bissecc¸a˜o a f(x) = x3 − 4,7x2 + 6,87x − 2,7998 no intervalo [0,4], na primeira iterac¸a˜o obtemos x1 = 2, com f(2) = 0,0002. Pore´m, o valor exato da raiz com cinco d´ıgitos decimais e´ 0,69988, longe do valor determinado. � Pode ser conveniente tambe´m combinar crite´rios de parada. Por exemplo, poder´ıamos exigir bk − ak < ε1 e |f(xk)| < ε2 Desta forma, asseguramos um erro pequeno na aproximac¸a˜o calculada e ao mesmo tempo um valor pequeno de f . O Me´todo da Bissecc¸a˜o tem a desvantagem de que sua velocidade de convergeˆncia e´ muito lenta; i.e., requer um nu´mero grande de iterac¸o˜es para obter um resultado com erro pequeno. Pore´m, tem a propriedade importante de que, se f e´ cont´ınua em [a,b], sempre converge a uma soluc¸a˜o. Podemos estimar a quantidade de iterac¸o˜espara atingir uma precisa˜o dada. Se em cada iterac¸a˜o, dividimos pela metade o intervalo usado na iterac¸a˜o anterior, apo´s k iterac¸o˜es, o intervalo inicial [a0, b0] tera´ sido dividido pela metade 2k vezes. Se paramos o ca´lculo quando bk − ak < ε, enta˜o bk − ak = b0 − a02k < ε, e k > log(b0 − a0)− log ε log 2 . 5 Introdução Método da Bissecção
Compartilhar