55
Métodos Numéricos Iterativos Métodos Numéricos Iterativos Capítulo 3. Métodos Numéricos Iterativos 1. Métodos numéricos Sempre que se pretende resolver um problema cuja solução é um valor numérico, é habitual ter de se considerar, para além de conceitos mais abstratos (que fornecem um modelo consistente para a análise do problema), conceitos de natureza mais prática relacionados com os cálculos a efetuar ou com os números necessários à realização de tais cálculos. Por exemplo, suponha-se que se pretende determinar o volume V de um paralelepípedo a partir dos comprimentos das três arestas que o definem A, B e C. O modelo abstrato consiste na expressão matemática V = A.B.C, que permite calcular o volume a partir dos comprimentos daquelas arestas. No entanto, para se aplicar aquela expressão, é necessário antes fazer a medição de cada uma das três arestas. Ora, a medição de cada uma das arestas está associada um erro (erros iniciais). Desta forma, o processo de medição fornece apenas valores aproximados dos comprimentos das arestas, sendo eventualmente possível obter-se uma caracterização dos erros iniciais (vindos das medições). Ao efetuar-se, de seguida, o cálculo do volume (V = A.B.C), o resultado será um valor que apenas poderá ser considerado uma aproximação do volume exato do paralelepípedo, o qual terá associado um erro que dependerá dos erros cometidos no processo de medição ocorrido no início. A situação descrita neste exemplo, de não se conseguir obter um valor numérico exato como solução de um problema, é a mais comum para muitos deles. No entanto, esta situação não é necessariamente má, pois para a grande maioria dos problemas bastará apenas obter um valor numérico suficientemente próximo do valor exato. De uma forma simples, os métodos numéricos conduzem com eficiência a soluções aproximadas de um modelo matemático (e de um sistema real). Os modelos matemáticos usam os métodos numéricos para a obtenção de soluções numéricas para problemas reais quando, por uma qualquer razão, não se pode ou não se deseja usar métodos analíticos. Computação Científica 65

Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Embed Size (px)

Citation preview

Page 1: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Métodos Numéricos IterativosCapítulo 3. Métodos Numéricos Iterativos1. Métodos numéricosSempre que se pretende resolver um problema cuja solução é um valor numérico, é habitual terde se considerar, para além de conceitos mais abstratos (que fornecem um modelo consistente paraa análise do problema), conceitos de natureza mais prática relacionados com os cálculos a efetuarou com os números necessários à realização de tais cálculos.Por exemplo, suponha-se que se pretende determinar o volume V de um paralelepípedo a partirdos comprimentos das três arestas que o definem A, B e C. O modelo abstrato consiste na expressãomatemática V = A.B.C, que permite calcular o volume a partir dos comprimentos daquelas arestas.No entanto, para se aplicar aquela expressão, é necessário antes fazer a medição de cada uma dastrês arestas. Ora, a medição de cada uma das arestas está associada um erro (erros iniciais). Destaforma, o processo de medição fornece apenas valores aproximados dos comprimentos das arestas,sendo eventualmente possível obter-se uma caracterização dos erros iniciais (vindos das medições).Ao efetuar-se, de seguida, o cálculo do volume (V = A.B.C), o resultado será um valor que apenaspoderá ser considerado uma aproximação do volume exato do paralelepípedo, o qual terá associadoum erro que dependerá dos erros cometidos no processo de medição ocorrido no início.A situação descrita neste exemplo, de não se conseguir obter um valor numérico exato comosolução de um problema, é a mais comum para muitos deles. No entanto, esta situação não énecessariamente má, pois para a grande maioria dos problemas bastará apenas obter um valornumérico suficientemente próximo do valor exato.De uma forma simples, os métodos numéricos conduzem com eficiência a soluções aproximadasde um modelo matemático (e de um sistema real). Os modelos matemáticos usam os métodosnuméricos para a obtenção de soluções numéricas para problemas reais quando, por uma qualquerrazão, não se pode ou não se deseja usar métodos analíticos.Computação Científica 65

Page 2: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos analíticos versus métodos numéricos Métodos Numéricos Iterativos2. Métodos analíticos versus métodos numéricosUm método analítico para resolver um modelo matemático é qualquer método baseado naanálise matemática rigorosa, cuja aplicação conduz a uma solução verdadeira (exata), tambémconhecida como solução analítica do modelo.Por sua vez, um método numérico para resolver um modelo matemático é qualquer métodobaseado numa análise matemática rigorosa, cuja aplicação, na grande maioria dos casos,simplesmente conduz a uma solução aproximada (não exata), também conhecida como soluçãonumérica. Em alguns casos (raros) pode-se obter uma solução exata, usando um método numérico.Por exemplo, as soluções exatas da equação não linear x2 – 5x + 3 = 0 podem ser obtidas usandoa conhecida fórmula quadrática (método analítico):x1,2 =−b √ b2−4ac2a .Esta fórmula dá uma solução analíticax1,2 =5 √132 .Por sua vez, a fórmula de iteração (método numérico) xn+1 = √ 5xn−3 , n=0,1,2 ,...; x0=4.5pode também ser aplicada para aproximar uma das duas soluções da equação quadrática dada. Estemétodo pode somente dar uma solução numérica (aproximada). Em geral a diferença entre soluções analíticas e soluções numéricas pode ser resumida naseguinte frase: soluções analíticas são exatas enquanto soluções numéricas são aproximadas.3. Necessidade de se usar métodos numéricosPorque é que alguém aprenderia métodos numéricos? Os métodos numéricos são necessários?A partir da distinção apresentada entre métodos analíticos e métodos numéricos, facilmentepode-se ser levado a concluir que é suficiente usar métodos analíticos na resolução de modelosmatemáticos. Por outras palavras, que não há necessidade de aprender métodos numéricos poiseles conduzem somente a soluções aproximadas. Tal conclusão é enganadora. Precisamos deaprender métodos numéricos pelas seguintes razões:

➔ Porque existem situações em que é preferível um método numérico ao método analítico, aindaque este exista; por exemplo, quando a solução para um problema envolve vários cálculos, osquais podem ser muito demorados.➔ Porque a maioria dos problemas reais são, em geral, complexos e envolvem fenómenos nãolineares, pelo que é comum os conhecimentos de matemática não serem suficientes para adescoberta de uma solução para um problema real.66 Computação Científica

Page 3: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos➔ Porque quando os dados do problema requerem um tratamento que inclua, por exemplo,diferenciação ou integração, terá de ser feito através de um método numérico.Uma vez que, em geral, o modelo matemático é demasiado complexo para ser tratadoanaliticamente, deve-se construir modelos aproximados ou obter soluções aproximadas.No primeiro caso, implica alterar e simplificar o modelo por forma a torná-lo tratável, e assimobter uma solução exata de um sistema ou modelo aproximado. No entanto, tal solução é "suspeita"pelo facto de ocorrerem simplificações do modelo, pelo que terão que fazer várias experiênciaspara ver se as simplificações são compatíveis com os dados experimentais.No segundo caso, implica usar métodos numéricos e assim produzir soluções aproximadas para osistema real. No entanto, tais soluções são apenas aproximações, mas que podem ser melhoradas àcusta de esforço computacional.4. Métodos iterativosOs métodos iterativos estão associados aos conceitos de iteração (ou aproximação sucessiva) ede aproximação local. Em sentido lato, iteração significa a repetição sucessiva de um processo. Aaproximação local consiste em aproximar uma função por outra que seja de manuseio maissimples. Por exemplo, aproximar uma função não linear por uma função linear num determinadointervalo do domínio das funções. Um método iterativo caracteriza-se por envolver os seguinteselementos: aproximação inicial, que consiste numa primeira aproximação para a solução doproblema numérico, e teste de paragem, que é o instrumento por meio do qual o procedimentoiterativo é finalizado.Define-se sequência de números, { xk }k = 1, 2, …, como sendo uma transformação do conjunto dosinteiros positivos no conjunto dos reais. O número real associado a k é designado por xk. A sequência resultantexk = f (xk−1, ...)chama-se sequência iterativa gerada por f.Esta sequência diz-se definida por iteração se a função f é independente de k.Este processo iterativo gera uma sucessão de aproximações xk, cada uma com erro associado,ek = a - xk sendo a um zero da função f; isto é, f(a) = 0.A sequência iterativa diz-se convergente selimk ∞

xk = αou seja, limk ∞ek = 0.Computação Científica 67

Page 4: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos iterativos Métodos Numéricos IterativosUm método iterativo é definido por uma equação iterativa, com a qual se constrói aproximaçõesà solução do problema. A implementação da equação iterativa obriga ao conhecimento de umaaproximação inicial e à definição de um conjunto de condições que garantam que a aproximaçãocalculada, numa certa iteração, se encontra suficientemente próxima da solução. Quando estascondições forem verificadas, pode-se parar o processo. Desta forma, antes de se iniciar o processoiterativo, deve-se ter resposta para as seguintes questões:1. Interessa saber se o método iterativo converge ou não para a solução procurada. Desta forma,devem ser analisadas as condições necessárias e/ou suficientes de convergência do método.2. Tendo a garantia da convergência do método, deve-se saber qual a razão de convergência:seja {xk} uma sucessão convergente para a; se existirem constantes positivas P e C tais que,limk ∞

∣α −xk+1∣∣α −xk ∣P = Centão diz-se que a sucessão {xk} é convergente para a de ordem P com uma constante deconvergência assimptótica igual a C:a) P = 1, convergência linear/1ª ordem (C < 1); dígitos ganhos por iteração: constante.b) P > 1, convergência super-linear; dígitos ganhos por iteração: aumenta.c) P = 2, convergência quadrática/2ª ordem; dígitos ganhos por iteração: duplica.Quanto maior for a ordem de convergência de um método iterativo menor será, em princípio,o número de iterações necessárias para atingir uma dada precisão.No entanto a rapidez depende também do esforço computacional requerido em cada iteração.3. A implementação de um método iterativo exige a realização de um número infinito deoperações para se chegar à solução. No entanto, face aos recursos limitados disponíveis, oprocesso iterativo tem de ser terminado após um número finito de operações. Esta paragemtem de ser feita com a ajuda de condições que, sendo verificadas, dão melhor garantia deque se está perto da solução. O valor obtido na última iteração é a melhor aproximaçãocalculada. Estas condições definem o que é designado por critério de paragem de um processoiterativo.5. Resolução de problemasOs problemas reais que podem ser resolvidos usando métodos numéricos podem ser modeladosmatematicamente, através de equações não lineares (uma só equação ou um sistema de equações)e através de equações lineares (uma só equação ou um sistema de equações).As funções associadas às equações matemáticas podem ser obtidas de 3 formas: diretamente (jáconhecidas), por interpolação a partir de vários pontos conhecidos, e por aproximação a partir devários pontos conhecidos.68 Computação Científica

Page 5: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não lineares6. Problemas com equações não lineares6.1. Forma geral do problemaUma equação não linear na variável x é representada na formaf(x) = 0,em que f : R R é uma função contínua não linear em x R. A variável x diz-se independente e avariável y = f(x) é a variável dependente. Resolver a equação f(x) = 0 consiste em calcular asraízes da equação ou os zeros da função f(x). Na representação gráfica da função f(x) no planoXOY, os pontos de interseção da curva f(x) com o eixo dos XX definem as raízes reais de f(x) = 0.Pode-se esperar que uma equação não linear tenha raízes reais e/ou complexas.6.2. Características do problemaExistem dois tipos de de equações não lineares: as algébricas e as transcendentes. As equaçõesalgébricas envolvem apenas as operações aritméticas básicas, sendo a forma polinomial um casoparticular,pn (x) = an xn + an-1 xn-1 + ... + a1 x + a0 = 0em que os coeficientes ai (i = 0, …, n) são números reais ou complexos. Do grupo das equaçõesalgébricas fazem parte as diofantinas, que são equações polinomiais com apenas soluções inteiras,e que nem sempre têm solução. Por exemplo, xn + yn = zn não tem solução inteira para n > 2.Também as equações polinomiais lineares, quadráticas, cúbicas e quárticas fazem parte desteconjunto de equações, as quais têm fórmulas resolventes, umas mais complicadas do que outras.As equações transcendentes envolvem também funções trigonométricas, exponenciais,logarítmicas, entre outras, para além das polinomiais. São exemplos de equações transcendentes,f (x) = x −e−x = 0,f (x) = x + ln(x ) = 0,f (x) = (2x + 1)2 −4 cos(πx ) = 0.Se, para um dado valor p da variável x, pretende-se calcular o correspondente valor de f(p), oproblema diz-se direto. O problema diz-se inverso, se o objetivo é determinar os valores de x quesatisfazem a equação f(x) = 0. O problema direto não oferece qualquer dificuldade, apenas oproblema inverso requer, na grande maioria dos casos, a utilização de um método numérico.6.3. Zeros (raízes) e multiplicidadeSe f(a) = 0 diz-se que a é uma raiz da equação f(x) = 0 ou que a é um zero da função f(x). Umzero de uma função pode ser de vários tipos. Por exemplo,a) simples: f(a) = 0b) duplo: f(a) = f'(a) = 0Computação Científica 69

Page 6: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativosc) triplo: f(a) = f'(a) = f''(a) = 0Definição: A multiplicidade de um zero a da função f(x) é o supremo m dos valores k tais que,limx α

∣f (x) ∣

∣x −α∣k = c < ∞ (m é o maior valor de k)Se m = 1 o zero diz-se simples, se m = 2 o zero diz-se duplo, …Exemplos:a) a = 0 é um zero simples da função f(x) = sen(x) porque,limx 0 ∣sen(x )∣∣x ∣

= 1b) a = 0 é um zero duplo da função f(x) = 1 – cos(x) porque,limx 0 ∣1 −cos(x )∣

∣x ∣2 =12Nota: a multiplicidade de um zero pode não ser um número inteiro, nem sequer finita.Teorema: Se a for um zero da função f(x) e se f(x) for m vezes diferenciável em a então a multiplicidadede a é m se e só se, f (α) = f ' (α) = ... = f(m−1)(α) = 0, mas fm(α) 0.Exemplos: a) para f(x) = sen(x), f(0) = 0 mas f'(0) 0, portanto m = 1.b) para f(x) = 1 - cos(x), f(0) = f'(0) = 0 mas f''(0) 0, portanto m = 2.70 Computação Científica

Page 7: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não lineares6.4. Utilização de métodos iterativosA maior parte dos métodos numéricos para a resolução da equação não linear f(x) = 0 pertence àclasse dos métodos iterativos.Os métodos iterativos para resolver o problema f(x) = 0 podem ser classificados em dois grandesgrupos: os métodos de encaixe e os métodos de intervalo aberto.Os primeiros caracterizam-se por definir, em cada iteração, um intervalo que contém a raiz econstruir, para a iteração seguinte, outro intervalo encaixado neste e que continue a conter a raiz.Os intervalos, como aparecem encaixados uns nos outros, têm amplitudes sucessivamente menores.Como exemplos de métodos de encaixe são o da Bissecção e o da Falsa Posição.No grupo dos métodos de intervalo aberto não é necessário definir um intervalo que contenha araiz. O processo iterativo pode ser iniciado com uma única aproximação à raiz, ou mesmo duas. Aconvergência destes métodos depende dos valores iniciais atribuídos na primeira iteração. Destegrupo de métodos fazem parte o do Ponto Fixo, o de Newton-Raphson e o da Secante.Independentemente do método utilizado, é possível em muitos casos obter-se um majorantepara o erro.Teorema:Seja a a raiz exata e xk um valor aproximado da raiz da equação f(x) = 0 com a, xk [a, b].Se f(x) for diferenciável em [a, b] e |f'(x)| ≥ m > 0, x [a, b], então,∣α −xk ∣ ≤

∣f (xk) ∣mDemonstração:Pelo teorema do Valor Médio,f (α)−f (xk)

α −xk ≤ f '(), ∈ (α , xk)aplicando módulo, ∣α −xk ∣ ≤

∣f (xk) ∣∣f ' ()∣

(f(a) = 0)e portanto,∣α −xk ∣ ≤

∣f (xk) ∣m (fazendo m = |f'()|.6.5. Localização e separação das raízesPara se aplicar um método iterativo, na resolução de uma equação não linear, é necessárioconhecer uma aproximação inicial. Além disto, para certos métodos, para haver convergência aComputação Científica 71

Page 8: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativosaproximação inicial deve estar suficientemente próxima da raiz. Deste trabalho de análise feito àpriori depende do sucesso na resolução numérica do problema proposto. Desta forma, antes de seaplicar um método iterativo para resolver a equação f(x) = 0, é necessário obter uma aproximaçãoinicial, o que exige a separação das possíveis raízes em intervalos tão pequenos quanto possível.O método mais prático consiste em analisar a representação gráfica de f(x) ou a combinação dostermos que formam a sua expressão analítica. Se o gráfico de f pode ser esboçado facilmente,então são obtidas geometricamente estimativas para raízes. Se a equação f(x) = 0 pode ser escritana forma g(x) = h(x), onde g e h são facilmente representadas graficamente, então os pontos a taisque g(a) = h(a) verificam f(a) = 0. O processo consiste no seguinte: 1º escolher um intervalo [a, b] onde se estima estar um zero da função (ou seja, que contenhaum ponto de interseção das duas funções);2º verificar que existe um ponto de interseção das duas funções no intervalo (a, b). Confirmaresta observação, com base nos dois resultados seguintes:1. Se f(x) é uma função real e contínua em [a, b], sendo a e b números reais, tendo f(a) ef(b) sinais contrários (f(a).f(b) < 0), então existe pelo menos uma raiz real entre a e b.2. Se f'(x) existe, é contínua e mantém o sinal no intervalo [a, b], então existe no máximouma raiz em [a, b].Portanto, se estas duas condições se verificarem, então existe uma raiz em [a, b] e é única.Por exemplo, para f(x) = |x| - ex, 1º escolher o intervalo (-1, 0) como contendo o ponto de interseção das duas funções;2º verificar que existe um ponto de interseção de |x| com ex no intervalo (-1, 0), com basenos dois resultados mencionados:f(x) C((-1, 0))f(-1) = 0.632 > 0 e f(0) = -1 < 0f'(x) = -1 – ex < 0 em todo o intervalo (-1, 0)72 Computação Científica

Page 9: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearesChamam-se números de Rolle da equação f(x) = 0, definida em D R, ao conjunto dos pontosfronteira de D e dos zeros da função derivada de f. Se ordenados por ordem crescente, então entredois números de Rolle consecutivos existe no máximo uma raiz real da equação.6.6. Estimativa para o erro de truncaturaSeja { xk } k = 1,2,..., uma sequência de aproximações convergindo para uma raiz real simples a def(x) = 0, obtidas usando um método iterativo. Deduz-se uma expressão que dá um limite para o errona aproximação xk para a.Pelo teorema do valor médio, f (xk) −f (α) = (xk −α) f ' (k), sendo k ∈ [min{xk ,α}, max {xk ,α}]. Então, k = ∣α −xk∣ verifica k =∣f (xk)∣∣f ' (k)∣

.Se f é contínua em [a, b] contendo a e f'(a) 0 então existe Nr(a) = [ a - r, a + r ] [a, b] talque x Nr(a). Além disso, existe uma constante M1 > 0 sendo |f'(x)| ≥ M1 para x Nr(a). Dado que{ xk } converge para a existe k' tal que se k > k' , |xk – a | < r, e consequentemente |k – a| < r, istoé, k Nr(a) . Donde,k ≤∣f (xk)∣M1 .6.7. Critérios de paragemNote-se que há duas possíveis interpretações computacionais para o problema colocado com aequação f(x) = 0. Uma é calcular um valor xk muito próximo de a onde f(a) = 0. Outra é calcular xktal que |f(xk)| é muito pequeno (muito próximo de zero). Assim, critério de paragem dos métodos iterativos para calcular uma raiz de f(x) = 0 contém trêsparâmetros: 1, 2 e kmax. O objetivo é terminar o processo após o cálculo de xk quando

∣ xk −xk−1 ∣≤ 1 (ou ∣ xk −xk−1 ∣≤ 1 ∣ xk ∣) ou ∣ f (xk)∣≤ 2 ou k = kmax.O primeiro parâmetro, e1, serve para verificar a proximidade de xk em relação a a (um zero dafunção), o segundo, e2, para verificar se f(xk) está próximo de 0 (f(xk) 0), e o terceiro, k, paracontrolar o número de iterações (se atingiu o número máximo de iterações predefinido, kmax).Computação Científica 73

Page 10: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativos6.8. Método da Bissecção6.8.1. Fórmula geralEste método é baseado no teorema do valor intermédio e consiste no seguinte: partindo de umintervalo [a, b] que contém a raiz, construir uma sucessão de intervalos, sendo cada um deles ametade do intervalo anterior que contém a raiz. Seja [a, b] D e f(a).f(b) < 0. Então (a, b) contémuma raiz real de f(x) = 0. Seja I0 = [a, b] e x0 o ponto médio de I0. Se f(a).f(x0) < 0então a raiz está em (a, x0) senão está em (x0, b). Suponha que f(a).f(x0) < 0. Seja I1 = [a, x0] e seja x1 oponto médio de I1. Se f(a).f(x1) < 0 então a raiz está em(a, x1) senão está em (x1, x0).6.8.2. Algoritmo para o método da BissecçãoObjetivo: Calcular uma raiz real de f(x) = 0 em [a, b], a (a, b)Parâmetros de entrada: a, b, e1, e2 R+, kmax N; com f(a).f(b) < 0fa f(a)k 0repitam (a + b) / 2fm f(m)se fa.fm < 0 então { a (a, m) }b msenão { a (m, b) }a mfa fmfim_sek k + 1se (|a – b| < e1) ou (|fm| < e2) ou (k > kmax) então escolher a (a, b)interromperfim_sefim_repita{ a (a, b) e |a – b| < e1 ou |fm| < e2 ou k > kmax }74 Computação Científica

Page 11: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearesNote-se que: - Só é necessário calcular o valor de f(x) uma vez por iteração.- Em aritmética de reais é extremamente improvável atingir o valor exato da raiz, pelo que nãoé necessário testar a igualdade.Para um dado erro absoluto e, em cada iteração k, utilizou-se o teste:∣ bk −ak ∣2 ≤ 1de modo que o erro cometido seja inferior a metade da amplitude do intervalo. Deste modo, sendo ck os sucessivos pontos médios,∣ c1 −α∣ ≤

∣b −a ∣2 ; ∣ c2−α∣ ≤∣b −a ∣22 ; ... ; ∣ cn −α ∣ ≤

∣b −a ∣2né possível estimar o número n de iterações necessárias, para garantir uma aproximação da raiz comum erro absoluto máximo de e1:b −a2n ≤ 1ou seja, 2n ≥b −a1 ln(2n) ≥ ln((b−a)/1) n ≥

ln ((b −a) / 1)ln 2Por exemplo, aplicando o método da bissecção à equaçãof(x) = |x| - ex, com e1 = 10-6 e considerando [a, b] = [-1, 0], obtiveram-se os seguintes resultados:k ak bk k ak bk1 -1.000000 0.000000 11 -0.567383 -0.5664062 -1.000000 -0.500000 12 -0.567383 -0.5668953 -0.750000 -0.500000 13 -0.567383 -0.5671394 -0.625000 -0.500000 14 -0.567261 -0.5671395 -0.625000 -0.562500 15 -0.567200 -0.5671396 -0.593750 -0.562500 16 -0.567169 -0.5671397 -0.578125 -0.562500 17 -0.567154 -0.5671398 -0.570313 -0.562500 18 -0.567146 -0.5671399 -0.570313 -0.566406 19 -0.567146 -0.56714210 -0.568359 -0.566406 20 -0.567144 -0.567142Analisando os resultados obtidos, pode-se concluir que:- a raiz da equação em estudo encontra-se no intervalo -0.567144, -0.567142);- o ponto médio deste intervalo é -0.567143 que é um valor aproximado da raiz com um erroabsoluto que não excede 10-6;Computação Científica 75

Page 12: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativos- O processo terminou na iteração k = 20, em que b −a2n = 0.00000095,ou seja,n ≥ln ((b −a) / 1)ln 2 = 19.931569.As vantagens do método da Bissecção são:- converge sempre (desde que exista raiz no intervalo inicial);- possibilidade de prever um majorante para o erro cometido ao fim de um certo número deiterações;- custo computacional de cada iteração muito baixo.As desvantagens do método da Bissecção são:- A maior desvantagem reside no facto da sua convergência ser muito lenta (muitas iterações)quando comparada com a dos outros métodos. A ordem de convergência do método daBissecção é linear (P = 1) e a constante de convergência é igual a 1/2 (C = 1/2).6.9. Método da Falsa Posição (ou da Corda Falsa)6.9.1. Fórmula geralEste método pode ser encarado como um melhoramento do método da Bissecção. Em vez de sedeterminar o ponto médio, é determinado um ponto ck resultante da interseção da secante quepassa pelos pontos (ak, f(ak)) e (bk, f(bk)) com o eixo dos XX.A partir da equação da secante,y −f (bk) =

f(bk)−f(ak)bk −ak (x −bk)e fazendo y = 0 e substituindo x por ck obtém-se,ck = bk −f (bk)f (bk)−f (ak) (bk −ak)Note-se que os sucessivos cálculos desta fórmulanão provocam efeitos de cancelamento subtrativopois f(bk) e f(ak) têm sinais contrários.76 Computação Científica

Page 13: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não lineares6.9.2. Algoritmo para o método da Falsa PosiçãoObjetivo: Calcular uma raiz real de f(x) em [a,b], a (a,b)Parâmetros de entrada: a, b, e1, e2 R+, kmax N; com f(a).f(b) < 0fa f(a)k 0repitam = b −f (b)f (b)−f (a)

(b −a )fm f(m)se fa.fm < 0 então { a (a, m) }b msenão { a (m, b) }a mfa fmfim_sek k + 1se (|a – b| < e1) ou |fm| < e2) ou (k > kmax) então escolher a (a, b)interromperfim_sefim_repita{ a (a, b) e |a – b| < e1 ou |fm| < e2 ou k > kmax }6.10. Método do Ponto Fixo6.10.1. Fórmula geralPretende-se determinar a solução a de uma equação não linear da forma,x = g(x).Dada uma equação na forma f(x) = 0 é sempre possível fazer,x = x + f(x), em que g(x) = x + f(x).De uma forma mais geral pode-se considerar,g(x) = x + c(x).f(x)onde c(x) é uma função contínua, não nula e limitada no intervalo [a,b], contendo a raiz a de f(x).Computação Científica 77

Page 14: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos IterativosDefinição: Um ponto fixo de uma função g(x) é umnúmero real a tal que a = g(a). Dada umaaproximação inicial x0 [a, b], o método doPonto Fixo consiste numa sucessão deaproximações { xk } a tal que, xk+1 = g(xk) , k = 0, 1, 2, ...Geometricamente, os pontos fixos de umafunção y = f(x) são os pontos de intersecção de y = g(x) com y = x.Assim, se f(x) = 0 x = g(x), então determinara raiz de f(x) = 0 em [a, b] é o mesmo queprocurar o ponto fixo de g(x) em [a, b].Por exemplo, o cálculo de √a consiste na sucessão de aproximações:xk+1 = 12 ( axk + xk)Experimente-se para a = 16, começando com x0 = 10: 0 10.00000000 1 5.80000000 2 4.27931034 3 4.00911529 4 4.00001036 5 4.00000000O método utilizado tem por base a equação,x = g (x ) = 12 (ax + x) que é equivalente a x2 = a e consiste na pesquisa de um ponto fixo da função g(x).Para a = 16 a função g(x) tem dois pontos fixos, em x = 4 e x = -4.Ao partir-se de uma estimativa inicial negativa, o método encontra a raiz negativa de 16.0 -10.000000001 -5.800000002 -4.279310343 -4.009115294 -4.000010365 -4.0000000078 Computação Científica

Page 15: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearesComo funciona?A partir de uma aproximação inicial x0, umasucessão de aproximações da forma xk+1 =g(xk) converge para um ponto fixo da funçãog(x).Porque funciona?Teorema: Seja g(x) uma função contínua e {xk} umasucessão de aproximações gerada pelométodo do Ponto Fixo, xk+1 = g(xk). Selimk ∞xk = α então a é um ponto fixo deg(x).Quando existe ponto fixo ?Teorema: Seja g(x) C([a, b]). Se para todo o x [a, b] se verifica-se que g(x) [a, b] (isto é, g é umacontração), então g(x) tem pelo menos um ponto fixo em [a, b].Quando é único o ponto fixo ?Teorema: Se g'(x) está definida em [a, b] e existe uma constante positiva 0 < L < 1, tal que |g'(x)| ≤ L paratodo o x [a, b], então g(x) tem um único ponto fixo em [a, b].6.10.2. ConvergênciaQuando converge o método do ponto fixo?Teorema do Ponto Fixo:Sejam g(x), g'(x) C([a, b]): g(x) [a, b], para todo o x [a, b], |g'(x)| < 1, para todo o x [a, b], x0 [a, b]. Então a sucessão { xk } gerada por xk+1 = g(xk), k = 0, 1, 2, ..., converge para o único ponto fixo a [a, b].Computação Científica 79

Page 16: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos IterativosComo converge o método do ponto fixo? Convergência monótona quando 0 < g'0(x) < 1:

80 Computação Científica

Page 17: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearesConvergência oscilante quando -1 < g'0(x) < 0 :

Quando diverge o método do ponto fixo ? Teorema: Seja g : D R R. Se g, g' C(D), g(x) com um ponto fixo a [a, b] D, |g'(x)| > 1 para todoo x D, x0 [a, b] (com x0 ≠ a). Então a sucessão { xk } gerada por xk+1 = g(xk), k = 0, 1, 2, ... ,não converge para o ponto fixo a [a, b].Computação Científica 81

Page 18: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos IterativosComo diverge o método do ponto fixo ? Divergência monótona quando g'(x) > 1: Divergência oscilante quando g'(x) < -1 :Quando converge, qual a ordem de convergência do método do ponto fixo ? Consideremos que g(x), g'(x) C([a, b]) e que o método do ponto fixo é convergente para a.

1) No caso de g'(a) ≠ 0, e como |g'(a)| < 1, então o método do ponto fixo apresenta ordem deconvergência linear sendo |g'(a)| a constante assimptótica de convergência.82 Computação Científica

Page 19: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não lineares2) Para o caso de g'(a) = 0 e g''(a) ≠ 0, o método do ponto fixo apresenta ordem de convergênciaquadrática sendo |g''(a)|/2 a constante assimptótica de convergência.3) De um modo geral, assumindo que g(x) Cn([a, b]), se g'(a) = g''(a) = ... = g(n-1)(a) = 0 , mas g(n)(a) ≠ 0prova-se que o método do Ponto Fixo apresenta ordem de convergência n.6.10.3. Algoritmo do método do Ponto FixoMajoração do erro:∣xn+1−α∣ ≤

1 −LL ∣xn+1 −xn∣ (com L < 1)Critério de paragem:1 −LL ∣xn+1 −xn∣ ≤ 1 ∣xn+1 −α ∣ ≤ 1Objetivo: Calcular raiz real simples de f(x) = 0, a Parâmetros de entrada: x0, e1, e2 e kmax; garantia de convergênciak 0repitak k + 1x1 g(x0)se (|x1 - x0| < e1) ou (|f(x1)| < e2) ou (k = kmax) então a x1 { aproximação obtida }interromperfim_sex0 x1 fim_repita6.10.4. ExemploDeterminar, com um erro absoluto inferior a 5x10-5, o zero da função f(x) = 1 + x + ex nointervalo [-2, -1].k xk xk+1 = g(xk) d k xk xk+1 = g(xk) d0 -2.00000 -1.13534 +5.0 x 10-1 5 -1.27756 -1.27872 +6.8 x 10-41 -1.13534 -1.32131 +1.1 x 10-1 6 -1.27872 -1.27839 +1.9 x 10-42 -1.32131 -1.26678 +3.2 x 10-2 7 -1.27839 -1.27848 +5.2 x 10-53 -1.26678 -1.28174 +8.7 x 10-3 8 -1.27848 -1.27846 +1.5 x 10-54 -1.28174 -1.27756 +2.4 x 10-3Computação Científica 83

Page 20: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativos6.11. Método de Newton-Raphson6.11.1. Fórmula geralEm cada iteração xk, a curva y = f(x) é aproximada pela sua tangente e a interseção desta com oeixo dos XX é a nova aproximação xk+1.A equação tangente à curva no ponto (xk, f(xk)) é, y = f(xk) + f'(xk) (x – xk)e a interseção desta com o eixo dos XXdetermina a nova aproximação,xk+1 = xk −f (xk)f ' (xk)

.A partir de uma aproximação inicial x0 estafórmula gera uma sucessão { xk } que, em certos casos, deverá convergir para um zero da função.Por exemplo, para a função f(x) = x2 – a,xk+1 = xk −f (xk)f '(xk)

= xk −xk2 −a2 xk =

12( axk + xk)e para o caso particular de a = 16, com x0 = 10 (aproximação inicial), a sucessão das aproximaçõestende para um zero de f(x) = x2 – 16.k xk0 10.00000000 1 5.80000000 2 4.27931034 3 4.00911529 4 4.00001036 5 4.000000006.11.2. Newton-Raphson como caso particular do método do Ponto FixoDada uma equação f(x) = 0, pode-se passar para a forma x = g(x) através da relação,g(x) = x + c(x).f(x)onde c(x) é uma função contínua, não nula e limitada no intervalo [a,b], contendo a raiz a de f(x).Pretende-se definir c(x) de modo a que o método do Ponto Fixo (no caso de convergir) tenhauma ordem de convergência pelo menos quadrática (ordem 2).Assumindo que f(x) e c(x) são diferenciáveis em [a, b], g'(x) = 1 + c'(x).f(x) + c(x).f'(x)84 Computação Científica

Page 21: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearese calculando no ponto a,g'(a) = 1 + c'(a).f(a) + c(a).f'(a).Para que a convergência seja quadrática, devemos ter g'(a) = 0. E como f(a) = 0 então,c (α) = −1f ' (α)

Assim, basta escolher,c (x) = − 1f ' (x)assumindo que f'(x) ≠ 0 em todo o intervalo [a, b].Substituindo, temos a nova forma,g (x) = x −f (x)f '(x)que corresponde ao método de Newton-Raphson,xk+1 = xk −

f (xk)f '(xk), k=0,1,2, ...e que, por esta construção, se convergir é quadrático.6.11.3. O método de Newton-Raphson a partir da série de TaylorSuponha-se que f C2([a, b]), que o Método de Newton-Raphson é convergente e considere-se odesenvolvimento de Taylor de ordem 1 em torno de xk :f (x) = f (xk)+ f ' (xk)(x−xk) +

f ' '(k)2 (x −xk)2 , k ∈ (x ,xk)Calculando em x = a,0 = f (α) = f (xk)+ f ' (xk)(α−xk) +f ' '(k)2 (α −xk)2 , k ∈ (α ,xk)donde,

α = (xk −f (xk)f '(xk))−( f ' '(k)2f '(xk) (α −xk)2)e assim obtemos a nova aproximação xk+1 e o erro cometido.Note-se que assumiu-se que |a - xk| é pequeno para todo o k, incluindo a aproximação inicial k = 0.6.11.4. Ordem de convergência do método de Newton-RaphsonTeorema:A razão de convergência do método de Newton-Raphson é igual a 2 (convergência quadrática). Computação Científica 85

Page 22: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos IterativosProva-se, pela expressão anterior, α −xk+1 = −

f ' ' (k)2 f ' (xk) (α −xk)2que, no caso de o método convergir, limk ∞

∣α −xk+1∣∣α −xk ∣2 =

∣f ' ' (α) ∣2 ∣f ' (α) ∣e a convergência é quadrática com constante de convergência assimptótica igual a 12 ×∣f ' ' (α)∣∣f ' (α)∣Observação:Se o zero de f não for simples a ordem de convergência do método degrada-se. Demonstra-se que, no caso dos de multiplicidade 2 a convergência é apenas linear.6.11.5. Um majorante do erro absolutoPela expressão anterior,

α −xk+1 = −f ' ' (k)2 f ' (xk)

(α −xk)2 , k ∈ (α , xk)tem-se∣ek+1∣ =

f ' '(k)2f '(xk) ∣ek ∣2Se identificar-se um majorante da segunda derivada M2 ≥ ∣f ' '(x)∣, x∈[a,b]e um minorante da primeira derivada, para todo o intervalo,0 < m1 ≤ ∣f '(x)∣, x∈[a,b]é simples calcular∣ek+1∣ ≤

M22m1 ∣ek ∣2.6.11.6. Uma estimativa do erro absolutoAssumindo que f C([a, b]) e que o Método de Newton-Raphson é convergente, pelo Teorema doValor Médio (TVM), f (xk) −f (α)xl −α= f '(k), k ∈ (α , xk)donde, assumindo ainda quef ' (x) ≠0, x ∈ (α , xk)86 Computação Científica

Page 23: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearesentão,xk −α =f(xk)f ' (k)

.Por outro lado, da expressão do próprio método,xk −xk+1 =f (xk)f '(xk)Para k suficientemente grande, xk+1 ≈ a, donde, k ≈ xk, e portanto, xk −xk+1 xk −αAssim, pode-se estimar,

∣ek ∣ ∣xk+1 −xk ∣Em termos algorítmicos, é mais cómodo calcular,∣ek−1 ∣ ∣xk −xk−1 ∣De facto, para o exemplo anterior k xk |ek| |ek-1| |xk - xk-1|0 10.00000000 6.00000000 1 5.80000000 1.80000000 6.00000000 4.20000000 2 4.27931034 0.27931034 1.80000000 1.52068966 3 4.00911529 0.00911529 0.27931034 0.27019506 4 4.00001036 0.00001036 0.00911529 0.00910492 5 4.00000000 0.00000000 0.00001036 0.000010366.11.7. Critérios de convergência do método de Newton-RaphsonTeorema:Seja f C2([a, b]). Se (i) f(a).f(b) < 0(ii) f'(x) ≠ 0 para todo o x [a, b](iii) f''(x) não muda de sinal em [a, b](iv) ∣ f (a)f ' (a) ∣ < b −a e ∣ f (b)f ' (b) ∣ < b −aEntão para qualquer x0 [a, b], a sucessão { xk } gerada pelo método de Newton-Raphsonconverge para o único zero de f em [a, b].Observações:(i) + (ii) garantem a existência de uma só solução em [a, b];(ii) + (iii) garantem que a função é monótona, convexa ou côncava;(iv) garante que as tangentes à curva em (a, f(a)) e (b, f(b)) intersetam o eixo dos XX em (a, b).Computação Científica 87

Page 24: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativos6.11.8. Algoritmo para o método de Newton-RaphsonObjetivo: Calcular raiz real simples de f(x) = 0, a Parâmetros de entrada: x0, e1 (limite do erro absoluto), e2 e kmax; garantia de convergênciak 0f0 f(x0)repitax1 x0 – f0 / f'(x0)k k + 1f0 f(x1)se (|x1 – x0| < e1) ou (|f0| < e2) ou (k = kmax) então { ver secção 6.11.6 }a x1 { aproximação obtida }interromperfim_sex0 x1 fim_repita6.11.9. Vantagens e desvantagens do método de Newton-RaphsonAs vantagens são as seguintes:➔ Quando converge, tem convergência quadrática.➔ Necessita apenas de um ponto, para estimativa inicial. As desvantagens são as seguintes:➔ Exige uma boa aproximação inicial; caso contrário pode divergir, ou encontrar outra raiz. ➔ Exige o cálculo da derivada em cada iteração, o que pode ser lento ou mesmo impossível. ➔ Exige que a derivada (no denominador) nunca se anule. Note-se que, mesmo para valores daderivada próximos de zero, a intersecção da tangente com o eixo dos XX é um ponto muitoafastado.6.11.10. Alguns casos patológicos do método de Newton-RaphsonPara a função f(x) = x3 – 2x + 2, se escolhermos x0 = 0, o método calcula x1 = 1, gerando asucessão de aproximações: 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, ... Para a função f (x) =

3√ x o método gera uma sucessão tal que, xk+1 = - 2 xk .Para a função f (x) = √ x, obtém-se xk+1 = - xk de modo que, para qualquer x0 , o método gera asucessão: x0 , - x0 , x0 , - x0 , x0 , - x0 , …Todo o ponto de inflexão provoca um afastamento da raiz.88 Computação Científica

Page 25: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não lineares6.12. Método da SecanteUma desvantagem da utilização do método de Newton-Raphson é a necessidade de calcular aderivada da função envolvida. Quando a expressão da derivada é complexa e o cálculo de valoresda derivada pouco eficiente, quando comparado com o cálculo de valores da função, o uso dométodo da Secante poderá ser preferido ao do método de Newton-Raphson.6.12.1. Forma geralPara calcular a raiz da equação f(x) = 0este método baseia-se na aproximação def(x) por uma reta, na vizinhança da raizde f(x). O ponto de interseção da retacom o eixo dos XX é considerado comoaproximação à raiz de f(x) = 0. Se aindaestiver longe da solução a, o processo érepetido iterativamente.Para iniciar o processo iterativo sãoescolhidos dois pontos x0 e x1. O intervalodefinido por eles não necessita de contera raiz. O ponto de interseção da reta, quepassa pelos dois pontos, com o eixo dos XX obtém-se a partir da equação iterativa, cuja sua formageral éxk+1 = xk −(xk −xk−1)f(xk)−f (xk−1)

f (xk), k=1,2, ....Embora sejam necessários dois pontos para iniciar o processo iterativo, apenas um novo ponto eo correspondente valor da função são calculados em cada iteração. O gráfico anterior ilustra esteprocesso iterativo.Para evitar o efeito do cancelamento subtrativo quando xk está muito próximo de xk-1,aconselha-se a implementação da seguinte fórmula iterativa:xk+1 = xk −(xk−1 −xk)

f (xk)f (xk−1)1 −f (xk)f (xk−1)

.que é preferível à fórmula iterativa anterior, desde que |f(xk)| < |f(xk-1)|.Usando a fórmula iterativa anterior, deve-se verificar se f(xk) ≈ f(xk-1) que, quando acontecer, oprocesso deve terminar (pode provocar uma divisão por 0).Computação Científica 89

Page 26: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações não lineares Métodos Numéricos Iterativos6.12.2. ExemploDeterminar aproximações para a raiz real da função x3 – 2x – 5 = 0, tomando como aproximaçõesiniciais os pontos x0 = 3 e x1 = 2. Usando o método da Secante, foi calculada a seguintesequência de iterações convergindo para a raiz real daquela função:x2 = 2.058824x3 = 2.096559 x4 = 2.094511x5 = 2.094511 x6 = 2.094552x7 = 2.0945526.12.3. ConvergênciaPara que a sequência gerada por este método convirja para uma raiz real simples de f(x) é, emgeral, necessário que as aproximações iniciais, x0 e x1, estejam suficientemente próximas da raiz.Teorema:Seja f C2([a,b]) e a uma raiz simples de f(x) = 0 em [a,b]. Então existe r > 0 tal que a sequência{ xk } k = 2,3,... gerada pelo método da Secante converge sempre que |xi - a| < r (i = 0,1).As condições do teorema anterior (relacionado com a convergência do método de Newton-Raphson)são também suficientes para estabelecer convergência para o método da Secante.Teorema:Seja f C2([a,b]). Se (i), (ii), (iii) e (iv) do teorema sobre convergência do método de Newton-Raphson se verificam, então para x0, x1 [a,b] a sequência gerada pelo método da Secanteconverge para a único zero de f em [a,b].Teorema (Ordem de convergência do método da Secante):A ordem de convergência deste método é ((1+√5 ) / 2) = 1.618... (convergência super-linear).6.12.4. Algoritmo do método da SecanteObjetivo: Cálculo de uma raiz real simples de f(x) = 0, a Parâmetros de entrada: x0, x1, e1 (limite do erro absoluto), e2 e kmax; garantia de convergênciak 0f0 f(x0)f1 f(x1)repitad x1 - ( (x0 – x1) / (f1 - f0) x f1) ) { primeira fórmula iterativa }x2 x1 – dk k + 1x0 x1 x1 x2 90 Computação Científica

Page 27: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações não linearesf0 f1 f1 f(x2)se (|x1 – x0| < e1) ou (|f1| < e2) ou (k = kmax) então { ver secção 6.11.6 }a x1 { aproximação obtida }interromperfim_sefim_repita7. Problemas com equações linearesNeste capítulo será abordado o problema de resolução de sistemas de equações lineares, o qualé um dos problemas que na prática ocorre com maior frequência. Os métodos para resolver estetipo de problemas são classificados em duas classes: métodos diretos e métodos iterativos. Nestedocumento, apenas serão abordados com mais detalhe os métodos iterativos.7.1. O problema da resolução de um sistema de equações linearesPretende-se calcular a solução de um sistema de equações lineares, cuja forma geral é, {a11x1 + a12 x2 + ... + a1n xn = b1a21x1 + a22 x2 + ... + a2n xn = b2...an1 x1 + an2 x2 + ... + ann xn = bnonde x1, x2, ..., xn são as incógnitas do sistema,aij (i, j = 1,2, ..., n) são os coeficientes do sistema,b1, b2, ..., bn são os termos independentes (ou segundos membros) do sistema.Problema:Pretende-se determinar valores para x1, x2, ..., xn de modo que as n equações do sistema emcima sejam satisfeitas simultaneamente.O sistema pode também escrever-se na sua forma matricialA x = bonde, A = [

a11 a12 ... a1na21 a22 ... a2n... ... ... ...an1 an2 ... ann], x = [x1x2...xn], b = [

b1b2...bn]Computação Científica 91

Page 28: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações lineares Métodos Numéricos Iterativossendo A = (aij) a matriz dos coeficientes, b = (bi) o vetor dos termos independentes e x = (xi) o vetordas incógnitas.Definição:Diz-se que um sistema de equações lineares é determinado se tem uma única solução.Teorema: Um sistema de equações lineares (escrito na sua forma matricial) é determinado se e só severificar qualquer uma das duas condições (equivalentes): 1) A-1 (inversa de A) existir (A é invertível)2) det A ≠ 0Nota:Ao longo deste texto é assumido que os sistemas de equações considerados têm solução única.7.2. Utilização de métodos iterativosTeoricamente, os métodos diretos permitem calcular a solução exata com um número finito deoperações aritméticas básicas. No entanto, na prática isto não é bem assim, pois, devido àacumulação de erros de arredondamento, ao cancelamento subtrativo, etc., estes métodospermitem apenas calcular uma solução aproximada. Exemplos de métodos diretos são a Regra deCramer, Eliminação de Gauss, Decomposição LU e Método de Choleski.Teoricamente, nos métodos iterativos a solução é definida como um limite de uma sucessão(infinita) de vetores. Na prática, calcula-se apenas um número finito de vetores da sucessão, isto é,calcula-se um um número finito de iterações. Exemplos de métodos iterativos são os métodos deJacobi e de Gauss Seidel. Estes métodos são apropriados para sistemas de grande dimensão, cujasmatrizes dos coeficientes são dispersas.Seja A x = b (1)um sistema de n equações em n incógnitas.A matriz A pode ser escrita na formaA = M – N, (2)sendo M e N matrizes de ordem n e M invertível.Substituindo (2) na expressão (1), obtém-se(M – N) x = bou M x = N x + bdonde x = M-1 (N x + b) (3)Assim, a solução de (3) é ponto fixo de (1) e reciprocamente.92 Computação Científica

Page 29: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações linearesNote-se que, x, y Rn ∥x −y ∥ = ∥M−1 (Nx + b)−M−1 (Ny + b)∥ = ∥M−1 N (x −y )∥ ≤ ∥M−1 N ∥∥x −y ∥se a norma de matriz for compatível com a norma de vetor.Assim, tem-se o teorema que se segue.Teorema 1:Se ∥M−1 N∥ < 1 então a sequência definida pela iteraçãoxk+1 = M−1 (N x(k) + b), (k = 0, 1, ...) (4)converge para o ponto fixo de (3) qualquer que seja x(0) Rn.Teorema 2:A razão de convergência do método iterativo definido por (4) é igual a 1. A constante deconvergência é menor ou igual a ∥M−1 N∥.Com escolhas especiais para M e N serão definidos os métodos de Jacobi e de Gauss Seidel.7.3. Método de Jacobi7.3.1. Fórmula geralConsiderando a matriz dos coeficientes de (1), A = (aij), definam-se D = (dij) uma matrizdiagonal, L = (lij) uma matriz estritamente triangular inferior e U = (uij) uma matriz estritamentetriangular superior, tais quedij = {aij, se i = j0, se i ≠ j , lij = {aij , se i > j0, se i ≤ j , uij = {aij, se i < j0, se i ≥ j (5)Então, A = D + (L + U)A escolha M = D e N = L + U resulta no método de Jacobi.Do teorema 1 conclui-se que, se∥D−1 (L + U)∥ < 1 (6)a sequência definida pela iteraçãox(k+1) = D−1 (−(L + U) x(k) + b ), (k=0,1,...) (7)converge para a solução de (1), qualquer que seja x(0) Rn.Naturalmente que (6) e (7) pressupõem que D é invertível. Mas, sendo A invertível é semprepossível por troca de linhas transformá-la numa matriz cujos elementos da diagonal são não nulos.Um caso importante e frequente é o dos sistemas dispersos cuja matriz dos coeficientes éestritamente diagonal dominante. A convergência do método de Jacobi é então garantida.Computação Científica 93

Page 30: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações lineares Métodos Numéricos IterativosTeorema 3:Se a matriz dos coeficientes do sistema Ax = b de n equações em n incógnitas é estritamentediagonal dominante, então o método de Jacobi converge. Isto é, se∣aii∣ ≥ ∑j≠i∣aij ∣As componentes da iteração x(k+1) de (7) são dadas porx(k+1) = −∑j=1j in a 'ij x j(k) + b 'i, (i=0,1,2,... ,n) (8)onde, a 'ij =

aijaii e b 'i =biaii .7.3.2. Algoritmo para o método de JacobiObjetivo: resolução de Ax = b supondo satisfeitas as condições de convergência (x é a solução)Parâmetros de entrada: x(0), e e kmaxpara i de 1 até n fazerxi xi(0) fim_parak 0repitapara i de 1 até n fazeryi xi fim_parapara i de 1 até n fazerxi b 'i −∑j=1j in a'ij y jfim_parak k + 1 se ((∥x −y ∥∞ < ∥x∥∞) ou (k = kmax)) entãointerromperfim_sefim_repita94 Computação Científica

Page 31: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações lineares7.4. Método de Gauss Seidel7.4.1. Fórmula geralConsidere-se novamente as matrizes D, L e U, definidas em (5). Tem-se A = (D + L) + U. A escolhaM = D + L e N = U dá o método de Gauss Seidel.Sendo(D + L) x(k+1) = -U x(k) + b, (k = 0, 1, …)obtém-sex(k+1) = D-1 (-L x(k+1) - U x(k) + b), (k = 0, 1, …) (9)Se∥(D + L)−1 U∥ < 1 (10)então a sequência definida por (9) converge para a solução de (1) qualquer que seja x(0) Rn.Se A for estritamente diagonal dominante é garantida a convergência para o método de GaussSeidel qualquer que seja x(0) Rn.As componentes de x(k+1) de (9) são dadas porxi(k+1) = −∑j=1i−1 a 'ij x j(k+1) − ∑j=i+1n a'ij xj(k) + b 'i , (i=0,1,2,... ,n) (11)Para interpretar a diferença entre (11) e (8) note-se que no método de Gauss Seidel, no cálculoda componente i da iteração k+1 são usadas as primeiras i-1 componentes já “atualizadas”.7.4.2. Algoritmo para o método de Gauss SeidelObjetivo: Resolução de Ax = b supondo satisfeitas as condições de convergência (x é a solução)Parâmetros de entrada: x(0), e e kmaxpara i de 1 até n fazerxi xi(0) fim_parak 0repitapara i de 1 até n fazeryi xi fim_parapara i de 1 até n fazerxi b 'i −∑j=1i −1

(a'ij xj) − ∑j=i+1n(a'ij yj)fim_parak k + 1 Computação Científica 95

Page 32: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Problemas com equações lineares Métodos Numéricos Iterativosse ((∥x −y ∥∞ < ∥x∥∞) ou (k = kmax)) entãointerromperfim_sefim_repita7.5. ExemploConsidere-se o seguinte sistema de equações lineares{

7 x1 −3 x3 + x5 = 12 x1 + 8 x2 = 1x3 = 13 x1 + 5x4 = 1x2 + 4 x5 = 12x4 + 6 x6 = 1A matriz dos coeficientes é estritamente diagonal dominante e assim haverá convergência para asolução do sistema usando o método de Jacobi ou o de Gauss Seidel. Tomando x(0) = [1/7 1/8 1 1/5 1/4 1/6]T foram obtidos os seguintes resultados:Iter. xi Jacobi Gauss Seidel Iter. xi Jacobi Gauss Seidel1 123456 0.6071430.0892861.0000000.2857140.2812500.233333 0.607143-0.0267861.0000000.5642860.2433040.354762 4 123456 0.606186-0.0275821.0000000.5637120.2431040.355400 ------------------2 123456 0.611607-0.0267861.0000000.5642860.2723220.354762 0.606186-0.0265471.0000000.5637120.2433630.354571 ... ... ... 3 123456 0.610332-0.0279021.0000000.5669640.2433040.354762 0.606195-0.0265491.0000000.5637170.2433630.354572 10 123456 0.606195-0.0265491.0000000.5637170.2433630.354572 ------------------7.6. EficiênciaSe a matriz A em Ax = b (1) tiver p elementos não nulos, então cada iteração dos métodos deJacobi e Gauss Seidel requer p-n adições/subtrações e p–n multiplicações/divisões. Donde, kiterações requerem k(p–n) adições/subtrações (e multiplicações/divisões). Adicionalmente, nocálculo dos (a')´s e dos (b')´s tem-se p+n divisões.96 Computação Científica

Page 33: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Problemas com equações linearesDefinindoa = p/n2 p = a.n2 o número 100a dá a percentagem de elementos não nulos de A, portanto uma medida da dispersãodos elementos de A. Donde k(p–n) = kan2 – kn ≈ kan2 se n for grande.No sistema associado ao exemplo dado (7.5) verifica-se que n = 6 e p = 12, logo a = 12/36 = 1/3.8. Interpolação polinomial8.1. IntroduçãoSeja f uma função real definida em [a, b] R, sendo conhecidos os seus valores nos pontos x0,x1, …, xn [a, b]. Suponha-se que se pretende calcular o valor não tabulado f(x), sendo x [a, b].Por exemplo, dada a tabela de valores da função log10 seguintex 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9log10(x) 0.32222 0.34242 0.36173 0.38021 0.39794 0.41497 0.43136 0.44716 0.46240considere-se os seguintes problemas:➔ calcular log10(2.45);➔ determinar x tal que log10(x) = 0.4.Qualquer um destes problemas pode ser resolvido por interpolação. Em linhas gerais, este processoconsiste em obter uma aproximação para o valor que se pretende conhecer “representando” afunção f por uma função “simples”, a função interpoladora, que assume os mesmos valores que fpara certos valores do argumento em [a, b].Um caso particular de interpolação com grande importância devido ao grande número deaplicações é a interpolação polinomial. Os polinómios interpoladores constituem meios deaproximação de funções muito usados. Além disso, fórmulas desenvolvidas para interpolaçãopolinomial estão na base do desenvolvimento de muitos métodos numéricos para o cálculo deintegrais e resolução de equações diferenciais.8.2. Polinómio interpolador8.2.1. DefiniçãoSeja f C([a,b]) e xi [a, b] (i = 0, 1, …, n). Um polinómio p que assume os mesmos valores quef nos pontos x0, x1, …, xn, isto é, que satisfazp(xi) = f(xi), (i = 0, 1, …, n)chama-se polinómio interpolador de f nos pontos x0, x1, …, xn.Computação Científica 97

Page 34: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Interpolação polinomial Métodos Numéricos IterativosExemplo:Considere-se a tabela de log10 anterior. Para se obter estimativas para log10(2.45), vai-se“representar” log10 por diferentes polinómios interpoladores.Começar por calcular o polinómio p3 de grau menor ou igual a 3, interpolador de log10 nos pontos2.3, 2.4, 2.5 e 2.6. De acordo com a definição anterior ter-se-áp3(2.3) = 0.36173, p3(2.4) = 0.38021, p3(2.5) = 0.39794, p3(2.6) = 0.41497.Isto é, se p3(x) = a0 + a1 x + a2 x2 + a3 x3 então{a0+2.3a1+5.29a2+12.167a3 = 0.36173a0+2.4 a1+5.76a2+13.824a3 = 0.38021a0+2.5a1+6.25a2+15.625a3 = 0.39794a0+2.6a1+6.76 a2+17.576a3 = 0.41497Sendo o sistema possível e determinado tal polinómio existe e é único. Assim,p3(x) = -0.33540 + 0.50502 x – 0.09750 x2 + 0.00833 x3 ,é o polinómio de grau menor ou igual a 3 interpolando log10 nos pontos 2.3, 2.4, 2.5 e 2.6. Tem-se então log10(2.45) ≈ p3(2.45) = 0.38916. Sendo log10(2.45) = 0.38916608... o erro naaproximação calculada não excede 0.7 x10-5.Problema:Dado um conjunto de pontos, (x0, y0), (x1, y1), ..., (xn, yn) com xi ≠ xj (para i ≠ j) e i, j = 0, 1, ..., n, determinar uma função interpoladora f tal quef(xi) = yi, i = 0, 1, ..., nPor exemplo, dado o conjunto de pontos,duas possíveis soluções seriam98 Computação Científica

Page 35: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Interpolação polinomialTerminologia associada a esta problemática:➔ Os valores x0, x1, …, xn chamam-se nós de interpolação e os respetivos y0, y1, ..., yn são os valores nodais.➔ O conjunto { (xi, yi), i = 0, 1, …, n } chama-se suporte de interpolação.➔ { f(xi) = yi , i = 0, 1, …, n } é a função de interpolação nesse suporte.Existem vários tipos de funções de interpolação, tais como:➔ Interpolação polinomialf(x) = an xn + ... + a1 x + a0 ➔ Interpolação trigonométricaf(x) = a-M e-iMx + ... + a0 + ... + aM eiMx onde,M é um inteiro igual a n/2 se n é par e (n-1)/2 se n é ímpar,i é a unidade imaginária➔ Interpolação racionalf(x) =

ak xk + ... + a1 x + a0ak+1 xn + ... + ak+n x + ak+n+18.2.2. PolinómiosUm polinómio de grau n é uma função da forma,pn(x) = an xn + an-1 xn-1 + ... + a1 x + a0 (an 0, para n > 0)onde a0, a1, …, an são os coeficientes reais do polinómio.O problema da determinação de zeros de um polinómio p pode ser visto como o de calcular asraízes da equação p(x) = 0.Computação Científica 99

Page 36: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Interpolação polinomial Métodos Numéricos IterativosTeorema (Fundamental da Álgebra):Seja p um polinómio de grau n ≥ 1 definido pela expressão anterior. Então, existe a R tal que pn(a) = 0.Se a é um zero real de pn(x) então pn(x) = (x – a) qn-1(x).8.2.3. Cálculo de valores de um polinómioComo calcular o valor de um polinómio num dado ponto ?Seja p um polinómio de grau n de coeficientes reais definido por pn(x) = an xn + an-1 xn-1 + ... + a1 x + a0 (an 0, para n > 0).Pretende-se calcular pn(y), y R. Ao usar-se pn(y) = an yn + an-1 yn-1 + ... + a1 y + a0 ,serão efetuadas n adições/subtrações e 2n-1 multiplicações/divisões.Mas pn(x) pode ser escrita na formapn(x) = ((...(an x + an-1) x + ... + a2) x + a1) x + a0 ,que representa a chamada forma encaixada do polinómio e é a base do método de Horner para ocálculo de valores do polinómio, que requer n adições/subtrações e n multiplicações/divisões.Por exemplo,p3(x) = a3 x3 + a2 x2 + a1 x + a0 { n + (n-1) + ... + 2 + 1 = n (n+1) / 2 = 6 multiplicações }p3(x) = ((a3 x + a2) x + a1) x + a0 { n = 3 multiplicações }Algoritmo:{ Objetivo: cálculo do valor de pn(x) = ((...(an x + an-1) x + ... + a2) x + a1) x + a0 }{ parâmetros de entrada: a0, a1, ..., an , z R }{ parâmetros de saída: polinómio = ((...(an z + an-1) z + ... + a2) z + a1) z + a0 }polinómio an para k desde (n-1) até 0 fazerpolinómio polinómio * z + ak fim_paraComplexidade:n multiplicações e n adições100 Computação Científica

Page 37: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Interpolação polinomialAlgoritmo (método de Horner):{ Objetivo: calcular pn(z), valor de um polinómio de grau n no ponto z }{ parâmetros de entrada: a0, a1, ..., an, z R }{ parâmetros de saída: c0 = pn(z) }cn an para k desde (n-1) até 0 fazerck ak + z ck+1 fim_para{ c0 = pn(z) }Exemplo (método de Horner):Calcular p5(x) = x5 - 6 x4 + 8 x3 + 8 x2 + 4 x – 40, para x = 3c5 = a5 = 1c4 = a4 + 3 c5 = -6 + 3 = -3c3 = a3 + 3 c4 = 8 – 9 = -1c2 = a2 + 3 c3 = 8 – 3 = 5c1 = a1 + 3 c2 = 4 + 15 = 19c0 = a0 + 3 c1 = -40 + 57 = 17Logo, p5(3) = c0 = 17.Seja pn(x) = an xn + an-1 xn-1 + ... + a1 x + a0 um polinómio de grau n e z um número real. Então,pn(x) = (x – z) qn-1(x) + r onde q é um polinómio de grau n-1 e r uma constante (r = 0 se e só se z é um zero de p).Seja qn-1(x) = bn-1 xn-1 + bn-2 xn-2 + ... + b1 x + b0 .Então, a expressão pn(x) = (x – z) qn-1(x) + r pode ser escrita da seguinte forma:an xn + an-1 xn-1 + ... + a1 x + a0 = (x - z) (bn-1 xn-1 + bn-2 xn-2 + ... + b1 x + b0) + rdonde, e igualando os coeficientes de potências de x do mesmo grau, obtém-sebn-1 = an ,bk = ak+1 + z bk+1 (k = n-2, n-3, ..., 0),r = a0 + z b0 .Computação Científica 101

Page 38: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Interpolação polinomial Métodos Numéricos IterativosAlgoritmo (fatorização de um polinómio):{ Objetivo: fatorizar pn(x) = (x – z) qn-1(x) + r, onde z R e p n(x) = an xn + ... + a1 x + a0 }bn-1 a n para k desde (n – 2) até 0 fazerbk z bk+1 + ak+1 fim_parar z b0 + a0 Exemplo (método da fatorização):Sendo p5(3) = x5 - 6 x4 + 8 x3 + 8 x2 + 4 x – 40, fatorizar p5(x) = (x – z) qn-1(x) + r, para z = 3b4 = a5 = 1b3 = 3 b4 + a4 = 3 - 6 = -3b2 = 3 b3 + a3 = –9 + 8 = -1b1 = 3 b2 + a2 = –3 + 8 = 5b0 = 3 b1 + a1 = 15 + 4 = 19r = 3 b0 + a0 = 57 - 40 = 17Logo, q4(x) = x4 - 3 x3 - x2 + 5 x + 19.E assim, p5(x) = (x – 3) (x4 - 3 x3 - x2 + 5 x + 19) + 17.8.3. Interpolação polinomial de LagrangeOs polinómios são excelentes candidatos a funções interpoladoras, porque: ➔ O cálculo dos valores é realizável em ordem linear ao número de multiplicações e adições.➔ As operações de derivação e primitivação são simples e podem ser facilmente programáveis.➔ Aproximam tanto quando se queira qualquer função contínua num intervalo finito (Teoremade Weierstrass). Sempre que as funções de interpolação consideradas são polinómios então está-se peranteInterpolação Polinomial.Problema:Dado um suporte de interpolação com n+1 pontos,{ (xi, yi), i = 0, 1, ..., n }encontrar um polinómio de grau menor ou igual a n tal que,yi = pn(xi), i = 0, 1, ..., nQuestões:

➔ Existe sempre um polinómio que satisfaz as condições acima ? ➔ Caso exista, é único ?102 Computação Científica

Page 39: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Interpolação polinomialTeorema (da existência e unicidade):Seja Pn o conjunto dos polinómios de grau menor ou igual a n. Dados n+1 pontos suporte distintos (xi, f(xi)), i = 0, 1, ..., n, existe um e um só polinómio pn Pn tal que,pn(xi) = f(xi), i = 0, 1, ..., n Observações:➔ O teorema anterior mostra-nos que o polinómio interpolador existe e é único (podem serdeduzidas várias fórmulas para ele, mas todas representam o mesmo polinómiointerpolador).8.3.1. Fórmula de LagrangeDefinição:Os polinómios de grau n dados por,Lk(x) = ∏i = 0i ≠ kn x −xixk −xi , k=0,1,...,nsão designados por polinómios de Lagrange associados aos nós x0, x1, ..., xn .Teorema:O polinómio interpolador pn de grau menor ou igual a n que interpola os valores nodais y0,y1, ..., yn nos nós distintos x0, x1, ..., xn é dado por, pn (x) = ∑k = 0n Lk(x ) yk .Exemplo:Construir o polinómio interpolador de grau menor ou igual a 3 que interpola os seguintes valores:xi 0 1 3 4yi 1 -1 1 2Os polinómios de Lagrange associados aos nós (x0 = 0, x1 = 1, x2 = 3, x3 = 4) obtêm-sediretamente da definição anterior,L0(x) =

(x −x1) (x −x2) (x −x3)

(x0 −x1) (x0 −x2) (x0 −x3)= −112 (x −1) (x −3) (x −4)L1(x ) =

(x −x0) (x −x2) (x −x3)

(x1−x0) (x1 −x2) (x1−x3) = 16 x (x −3) (x −4)Computação Científica 103

Page 40: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Interpolação polinomial Métodos Numéricos IterativosL2(x ) =(x −x0) (x −x1) (x −x3)

(x2 −x0) (x2 −x1) (x2 −x3)= −16 x (x −1) (x −4)L3(x ) =

(x −x0) (x −x1) (x −x2)

(x3−x0) (x3 −x1) (x3 −x2) = 112 x (x −1) (x −3)Assim sendo, nas condições do teorema, o polinómio interpolador é dado por:p3(x) = ∑k = 03 Lk(x) yk = L0(x)y0+L1(x)y1+L2(x )y2+L3(x )y3 = L0(x )−L1(x)+L2(x )+2.L3(x )= = − 112 (x −1) (x −3) (x −4)− 16 x (x −3) (x −4) −16 x (x −1) (x −4) + 212 x (x −1) (x −3)Algoritmo (fórmula de Lagrange):{ Objetivo: cálculo de pn(z) sendo pn interpolador de f nos pontos distintos x0, x1, ..., xn }q 0para i desde 0 até n fazerp 1para j desde 0 até n fazerse j ≠ i entãop p.(z – xj) / (xi – xj)fim_sefim_paraq q + p.yi fim_paraObservação:A fórmula de Lagrange pode não ser a representação mais conveniente do polinómiointerpolador, fundamentalmente por duas razões:1. É possível obter este polinómio com menos operações aritméticas do que as requeridaspor aquela fórmula (o cálculo de um valor do polinómio interpolador requer n(n+2)adições/subtrações e n(n+1) multiplicações/divisões);2. Os polinómios de Lagrange estão associados a um conjunto de nós e uma mudança deposição, ou do número destes, altera completamente estes polinómios.8.3.2. Fórmula de NewtonDefinição:A fórmula de Newton para polinómios de grau n é dada por,pn(x) = a0 + a1 (x – c1) + a2 (x – c1) (x – c2) + … + an (x – c1) (x – c2) ... (x – cn)onde os parâmetros ci, i = 1, 2, ... , n são chamados centros do polinómio.104 Computação Científica

Page 41: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Interpolação polinomialConstrução da Fórmula de Newton:Considerando os nós x0, x1, ..., xn-1 como centros do polinómio, temos:pn(x) = a0 + a1 (x – x0) + a2 (x – x0) (x – x1) + … + an (x – x0) (x – x1) ... (x – xn-1)Os coeficientes a0, a1, ..., an vão ser determinados de modo que pn seja o polinómiointerpolador nos nós x0, x1, ..., xn dos valores nodais y0, y1, ..., yn: pn(x0) = y0 ; pn(x1) = y1 ; ... ; pn(xn) = yn ou, se os valores nodais yi forem valores nodais de uma função f tem-se,pn(xi) = f(xi), i = 0, 1, ..., nAssim, a partir de,pn(x) = a0 + a1 (x – x0) + a2 (x – x0) (x – x1) + … + an (x – x0) (x – x1) ... (x – xn-1)e fazendo sucessivamente x = x0, x = x1 , ..., x = xn obtém-se os coeficientes:a0 = f (x0)a1 =f (x1) −a0x1−x0 =

f (x1)−f (x0)x1 −x0a2 =f (x2)−a0 −a1(x2 −x0)

(x2 −x0)(x2 −x1)=

f (x2) −f (x1)x2 −x1 −f (x1)−f (x0)x1 −x0x2 −x0. . . an =

f (xn)−a0 −a1(xn −x0) −a2(xn −x0)(xn −x1) −... −an−1(xn −x0)...(xn −xn−2)(xn −x0)(xn −x1)...(xn −xn−1)

= ...Observação:Cada coeficiente ak , k = 0, 1, ..., n:➔ pode ser calculado a partir dos ai , i = 0, 1, ..., k-1, já determinados.➔ depende exclusivamente dos nós x0, x1, ..., xn e dos respetivos valores nodais y0, y1, ..., ynak = f[x0, x1, ..., xk] em que f[x0, x1, ..., xk] é a diferença dividida de ordem k (k ≥ 1) entre os k+1 nós x0, x1, ..., xk .Computação Científica 105

Page 42: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Interpolação polinomial Métodos Numéricos IterativosDefinição:Para designar a diferença dividida de ordem k (k ≥ 1) entre os k+1 nós x0, x1, ..., xk , sãoutilizadas indistintamente duas notações:Dk f (xi) f [xi , xi+1 , ... , x i+k]onde Dk f (xi) =Dk−1 f (xi+1) − Dk−1 f (xi)xi+k −xiou f [xi, x i+1, ... , xi+k ] =

f [xi+1, ... , xi+k ] − f [xi, ..., xi+k−1]xi+k − xiTeorema:Os coeficientes ak , k = 0, 1, ..., n do polinómio pn de grau menor ou igual a n, na forma deNewton que interpola os valores f(x0), f(x1), ..., f(xk) nos nós distintos x0, x1, ..., xk são dadosindutivamente pela expressão:ak = f [x0, x1, ... , xk] =f [x1 , ..., xk] − f [x0 , ... , xk−1]xk − x0Assim, o Polinómio Interpolador com Diferenças Divididas tem a forma:pn (x) = f [x0] + f [x0 , x1](x −x0)+ f [x0 ,x1 ,x2](x −x0)(x −x1) +

+ ... + f [x0 , x1, ... ,xn ](x −x0)(x −x1)...(x −xn−1)Uma tabela de diferenças divididas de uma função f pode ser escrita da forma que segue(denotando-se por fi,i+j a diferença f[xi, ..., xi+j]).x D0 / f[] D1 / f [ , ] D2 / f [ , , ] D3 / f [ , , , ] ...x0 f(x0) f0,1x1 f(x1) f0,2f1,2 f0,3x2 f(x2) f1,3 ...f2,3 ...x3 f(x3) ... ...... fn-3,n... ... fn-2,nfn-1,nxn f(xn)106 Computação Científica

Page 43: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Interpolação polinomialAlgoritmo (Diferenças divididas):{ Objetivo: construir uma tabela de diferenças divididas de f por diagonais ascendentes sucessivas }f0 f(x0)para i desde 1 até n fazerfi f(xi)para j desde (i-1) até 0 fazerfj,i (fj,i-1 - fj+1,i) / (xj – xi)fim_parafim_paraExemplo:Determinar o polinómio interpolador, na forma de Newton, que interpola os seguintes pontos:xi 0 1 3 4yi 1 -1 1 2A tabela de diferenças dividida para este caso é a seguinte:x D0 / f[] D1 / f [ , ] D2 / f [ , , ] D3 / f [ , , , ]x0 = 0 1 f0,1 = -2x1 = 1 -1 f0,2 = 1f1,2 = 1 f0,3 = -1/4x2 = 3 1 f1,3 = 0f2,3 = 1x3 = 4 2f0,1 = f [x0 , x1] =f (x1)−f (x0)x1 −x0 = −1 −11 −0 = −21 = −2f1,2 = f [x1 ,x2] =f (x2)−f (x1)x2 −x1 =

1 −(−1)3 −1 = 22 = 1f2,3 = f [x2 ,x3] =f (x3)−f (x2)x3 −x2 = 2 −14 −3 = 11 = 1f0,2 = f [x0 , x1, x2] =

f [x1 ,x2] −f [x0 ,x1]x2 −x0 =f1,2 −f0,1x2 −x0 =

1 −(−2)3 −0 = 33 = 1f1,3 = f [x1 ,x2 ,x3] =f [x2, x3]−f [x1 ,x2]x3 −x1 =

f2,3 −f1,2x3 −x1 = 1 −14 −(−1)= 05 = 0f0,3 = f [x0 , x1, x2, x3] =

f [x1 ,x2 ,x3 ]−f [x0 ,x1 ,x2]x3 −x0 =f1,3 −f0,2x3 −x0 = 0 −14 −0 = −14Computação Científica 107

Page 44: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Interpolação polinomial Métodos Numéricos IterativosAssim calculados os coeficientes do polinómio interpolador na forma de Newton,a0 = f[x0] = 1a1 = f[x0, x1] = -2a2 = f[x0, x1, x2] = 1a3 = f[x0, x1, x2, x3] = -1/4p3(x) = a0 + a1(x −x0) + a2(x −x0)(x −x1) + a3(x −x0)(x −x1)(x −x2) p3(x) = 1 + (−2)(x −0) + 1(x −0)(x −1) +(−14 )(x −0)(x −1)(x −3) p3(x) = 1 −2 x + x (x −1) − 14 x (x −1)(x −3) .Observações:

➔A ordem pela qual os nós são tomados é arbitrária.➔Se é necessário acrescentar mais algum nó aos anteriores, basta colocá-lo no fundo da tabelae calcular mais uma linha de valores (as diferenças divididas já obtidas não seriam afetadas).➔Se os valores nodais forem os de uma função, é possível estabelecer uma ligação importanteentre as diferenças divididas de ordem k e a derivada da mesma ordem dessa função.Teorema:Sejam f C∈ n([a,b]) e x0, x1, ..., xn nós distintos no intervalo [a,b]. Então existe um (a,b) tal que,∈f [x0 , x1, ... , xn] = 1n! f(n)()Deste modo, se os valores nodais forem os valores nodais de uma função, este teoremaestabelece uma relação importante entre as diferenças divididas de ordem n e a derivada damesma ordem dessa função.8.3.3. Erros de Interpolação PolinomialQue erro se comete quando se interpola uma função por um polinómio de grau menor ou igual an utilizando o valor da função em n+1 nós distintos?Por exemplo,108 Computação Científica

Page 45: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Interpolação polinomialTeorema:Sejam f Cn+1([a, b]) e pn o polinómio de grau menor ou igual a n que interpola f nos nósdistintos x0, x1, ..., xn, contidos em [a,b]. Então para qualquer z [a,b]∈ existe um valor (a,∈b), dependente de x0, x1, ..., xn, z e de f tal queen(z) f (z) −pn(z) =f(n+1)()(n+1)! (z −x0)(z −x1)...(z −xn) .Estimativa do Erro de InterpolaçãoComo em,en(x ) =

f(n+1)( )(n+1)! (x ), com (x ) = (x −x0)(x −x1)...(x −xn)o valor de é desconhecido, temos de calcular um limite superior para estimativa do valor doerro. Para o caso particular da função a interpolar, procuramos um majorante em [x0, xn],

∣ f(n+1)(x)∣ ≤ Mn+1e considerando h o espaçamento máximo entre dois nós consecutivos, ∣ (x )∣ ≤ n!4 hn+1, x∈[x0 , xn]temos,∣ en(x)∣ ≤ ∣ (x )∣

Mn+1(n+1)!ou,

∣ en(x)∣ ≤ 14(n+1)Mn+1 hn+1.Comportamento do Erro de InterpolaçãoAnalisandoen(x ) =

f(n+1)( )(n+1)! (x )verifica-se que o erro de interpolação depende de:

➔ o número de nós considerado,➔ o comportamento da derivada de ordem n+1 da função,➔ o comportamento do polinómio de grau n+1. Computação Científica 109

Page 46: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Aproximação polinomial Métodos Numéricos Iterativos9. Aproximação polinomial9.1. IntroduçãoEm linhas gerais pode dizer-se que aproximar uma função é representá-la por uma outra mais“simples”. Há necessidade de aproximar uma função quando a forma com ela é definida dificultaou impossibilita a resolução de problemas matemáticos envolvendo essa função. São os casos, porexemplo, de funções conhecidas por uma tabela de alguns dos seus valores, funções definidas comosoluções de equações, ou definidas explicitamente por expressões envolvendo funçõestranscendentes. Pode-se estar interessado em calcular o valor do integral da função num dadodomínio e não conhecer a primitiva da função, ou calcular um (ou mais) zeros da função nãoexistindo uma fórmula que o permita fazer explicitamente, etc.Uma forma de resolver estes problemas é substituir a função dada por outra mais “simples” (porexemplo, um polinómio) que num subconjunto relevante do seu domínio não se “afasta” muito dafunção dada.As classes de funções mais importantes são as dos polinómios (incluindo polinómiossegmentados), das funções racionais (quocientes de polinómios) e das funções de Fourier ({sen(nx),cos(nx)}, n = 0, 1, …). Neste texto será considerada apenas a aproximação de funções porpolinómios.Podem ser colocadas três questões. Para que tipo de funções existe uma aproximação polinomialadequada? Como caraterizar uma “boa” aproximação? Como construí-la?9.2. Conceitos e resultados básicosO teorema de Weierstrass estabelece que para uma certa classe de funções, as contínuas numintervalo fechado de R, existe um polinómio que aproxima a função tão bem quando se queira.Teorema (da aproximação de Weierstrass):Seja [a, b] R e f C([a,b]). Então, qualquer que seja e > 0 existe n = n(e) tal que |f(x) – pn(x)| < e,para todo o x [a, b].É possível construir, de uma maneira eficiente, aproximações polinomiais úteis sob o ponto devista prático, e estimar o erro de aproximação. No entanto, têm de ser impostas condicionaisadicionais sobre a regularidade da função a aproximar.9.2.1. Métricas, normas e seminormasQualquer estudo sobre aproximação de funções pressupõe a existência de uma maneira de medira “distância” entre duas funções.110 Computação Científica

Page 47: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Aproximação polinomialDefinição:Seja F um conjunto. Uma aplicação d : F x F R tal que f, g F, d(f,g) = 0 se e só se f = g, f, g F, d(f,g) = d(g,f), f, g, h F, d(f,h) ≤ d(f,g) + d(g,h),é uma métrica. O conjunto F munido duma métrica é um espaço métrico.Desta definição resulta que f, g F, d(f, g) ≥ 0.Exemplo:Considere-se o conjunto C([a,b]) das funções reais contínuas num intervalo fechado [a,b] R. Aaplicação d : C([a,b]) x C([a,b]) R definida por f, g C([a,b]), d(f,g) = maxx[a,b] |f(x) – g(x)|,é uma métrica.Considere-se a função ex definida em [0,1] e o polinómio p(x) = 1 + (e - 1)x, interpolador de exnos pontos 0 e 1. Tem-sed(ex,p) = maxx[0,1] |ex – (1 + (e – 1)x)| 0.21Definição:Seja F um espaço linear. Uma aplicação ∥.∥ : F R tal que, f F, ∥f ∥= 0 se e só se f = 0, f F, a R, ∥α f ∥=∣α ∣∥f ∥, f, g F, ∥f + g ∥≤∥f ∥+∥g∥,é chamada de norma. O espaço linear F onde está definida uma norma diz-se espaço normado.Definição:Se a aplicação ∥.∥ : F R satisfaz as duas últimas condições da definição anterior e f F, ∥f ∥= 0 se f = 0,então f é uma seminorma.Note-se que se ∥.∥ é uma seminorma em F pode ter-se, para algum f ≠ 0, ∥f ∥= 0.Se ∥.∥ : F R é uma norma (ou seminorma) tem-se ∀ f∈F , ∥f ∥≥0.Seja C[a,b] o espaço linear das funções reais contínuas no intervalo fechado [a,b] R.Computação Científica 111

Page 48: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Aproximação polinomial Métodos Numéricos IterativosExemplo:A aplicação ∥.∥∞ : C([a,b]) R definida por ∀ f∈C([a ,b ]), ∥f ∥∞ = maxx∈[a ,b ]

∣f (x)∣,é uma norma chamada norma uniforme ou norma de Chebyshev.Exemplo:A aplicação ∥.∥2 : C([a,b]) R definida por ∀ f∈C([a ,b ]), ∥f ∥2 = {∫ab w(x) ∣f (x )∣2 dx}

1/ 2, w C([a,b]) e w(x) > 0 para x [a,b], é uma norma chamada norma dos quadrados ponderados.Exemplo:Dados n + 1 pontos distintos x0, x1, ..., xn [a, b], a aplicação ∥.∥ : C([a,b]) R definida por ∀ f∈C([a ,b ]), ∥f ∥= max0≤i≤n ∣f (x i)∣, é uma seminorma.Exemplo:Dados n + 1 pontos distintos x0, x1, ..., xn [a, b], a aplicação ∥.∥ : C([a,b]) R definida por

∀ f∈C([a ,b ]), ∥f ∥= {∑i=0n w (xi) ∣f (xi) ∣2 dx}1/2, w C([a,b]) e w(xi) > 0 (i = 0, 1, ..., n), é uma seminorma.Toda a norma induz uma métrica. Isto é, se F é um espaço normado onde está definida umanorma ∥.∥, então F é um espaço métrico com a métrica definida por

∀ f, g ∈ F, d(f ,g) =∥f − g ∥.9.2.2. Melhor aproximação polinomialDefinição:Seja F um espaço linear de funções onde está definida uma norma ∥.∥. Se g F é umaaproximação para f F a∥f − g ∥chama-se erro de aproximação g com respeito à norma ∥.∥.112 Computação Científica

Page 49: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Aproximação polinomialDefinição:Seja F C([a,b]) um espaço normado e Pn o conjunto dos polinómios de coeficientes reais degrau menor ou igual a n. Então, pn Pn é uma melhor aproximação polinomial de grau n parauma função f F em relação à norma ∥.∥ de F, se∥f − pn∥= infqn∈Pn ∥f − qn∥.Por outras palavras, relativamente a uma dada norma, a melhor aproximação polinomial de graun para uma função que minimiza o erro.Se a norma for de Chebyshev ou dos quadrados ponderados, então existe uma melhoraproximação polinomial e é única. Uma melhor aproximação em relação à norma de Chebyshev échamada aproximação minimax. Uma melhor aproximação em relação à norma dos quadradosponderados é chamada aproximação dos mínimos quadrados.9.3. Aproximação dos mínimos quadrados para dados discretosEm muitos casos reais, os valores nodais que se tem são obtidosexperimentalmente, vindo portanto afetados de erros. Desta forma, emvez de se tentar construir uma função interpoladora, faz mais sentidoprocurar a função que melhor aproxima esses valores.Seja { (xi, yi) }, i = 1, 2, ..., m um conjunto de pares de números reaisonde, yi ≈ f(xi), i = 1, 2, ..., m A partir destes valores, pretende-se construir uma função que, de alguma forma, seja a melhoraproximação da função f(x).Tome-se como exemplo o caso linear, isto é, quando a funçãoaproximante pretendida for uma reta y = a x + b. Para calcular osparâmetros a e b, podem ser estabelecidos diferentes critérios, tais como:

➔ Minimizar o erro máximo, maxi=1,... ,m ∣yi −(a xi+b) ∣

➔ Minimizar a soma dos erros, ∑i=1m∣yi −(ax i+b)∣

➔ Minimizar o erro quadrático, ∑i=1m(yi −(a xi+b))29.3.1. Funções aproximantes e desviosNo caso geral, o problema consiste em determinar a função que melhor aproxima um dadoconjunto de pontos { (xi, yi) }, i = 1, 2, ..., m.Computação Científica 113

Page 50: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Aproximação polinomial Métodos Numéricos IterativosA classe das funções aproximantes é caracterizada por um conjunto de parâmetros c1, ..., cn.Cada função da classe é especificada pelos valores desses parâmetros, f(x) = F(x; c1, ..., cn)Por exemplo, se pretender-se aproximar os pontos por➔ uma reta, são dois os parâmetros (c1 e c2) e f(x) = F(x; c1, c2) = c1 + c2 x➔ uma parábola, são três os parâmetros (c1, c2 e c3) e f(x) = F(x; c1, c2, c3) = c1 + c2 x + c3 x2Para cada classe definem-se os desvios, em relação aos valores yi dos dados, di = yi – F(xi; c1, c2, ..., cn), i = 1, 2, ..., mEm função dos desvios, é necessário decidir qual o critério a estabelecer. Cada critério defineum problema de minimização.

➔ Problema de minimax (minimização do desvio máximo),minimizar maxi=1,..., m ∣yi −F(x i; c1, c2 , ...,cn)∣

➔ Problema de minimização (da soma) dos desvios absolutos,minimizar ∑i=1m∣yi −F(xi ; c1,c2 ,...,cn)∣

➔ Problema de minimização do erro quadrático total,minimizar ∑i=1m(yi −F (xi; c1 ,c2, ... ,cn) )2O método de resolução do problema de minimização do erro quadrático total chama-semétodo dos mínimos quadrados e a função que o minimiza chama-se aproximação dosmínimos quadrados.9.3.2. Método dos Mínimos QuadradosConsidere-se uma classe de funções,F(x; c1, c2, ..., cn) = c1 f1(x) + c2 f2(x) + ... + cn fn(x) onde f1(x), f2(x), ..., fn(x) são funções dadas.A aproximação dos mínimos quadrados consiste na determinação dos parâmetros c1, c2, ..., cnque minimizam a soma dos quadrados dos desvios,E(c1 , ...,cn) = ∑i=1m

(yi −c1 f1(xi)−c2f2(xi)−... −cnfn (xi) )2 = ∑i=1m(yi −∑j=1n cj fj (xi))2.114 Computação Científica

Page 51: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Aproximação polinomialTratando-se de um problema de minimização em Rn¸ para que E(c1, c2, ..., cn) seja mínimo énecessário que, ∇E(c1,... ,cn) = 0 ∂ E

∂ cj = 0, j = 1, ...,nDonde se obtém um sistema de n equações a n incógnitas, {c1 ∑i=1m f1(xi)f1(xi)+ c2 ∑i=1m f1 (xi)f2(xi) + ... + cn ∑i=1m f1(xi)fn(xi) = ∑i=1m yi f1(x i)c1 ∑i=1m f2(xi)f1 (xi)+ c2 ∑i=1m f2 (xi)f2(xi) + ... + cn ∑i=1m f2(xi)fn (xi) = ∑i=1m yi f2 (xi). ..c1 ∑i=1m fn (xi)f1(xi)+ c2 ∑i=1m fn (xi)f2(xi) + ... + cn ∑i=1m fn(xi)fn (xi) = ∑i=1m yi fn (xi)Em certos casos, este sistema tem solução única e permite determinar univocamente osparâmetros c1, c2, ..., cn que caracterizam a melhor função aproximante.9.3.3. Reta dos Mínimos Quadrados (Reta de Regressão)No caso linear, o problema da minimização do erro quadrático, pretende determinar os valoresde a e de b em, F(x; a, b) = a + b xque minimizam E (a ,b ) = ∑i=1m

(yi − a − b x i)2Para que E(a, b) seja mínimo é necessário (e prova-se que também suficiente) que, ∇ E (a, b) = {

∂ E∂ a = 0∂ E∂ b = 0ou seja que, {a m + b ∑i=1m x i = ∑i=1m y ia ∑i=1m xi + b ∑i=1m xi2 = ∑i=1m xi yiAssim tem-se um sistema linear com duas equações (equações normais) e as duas incógnitas a eb que caracterizam a reta pretendida (reta de regressão).Computação Científica 115

Page 52: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Aproximação polinomial Métodos Numéricos IterativosOs coeficientes de a e de b e os termos independentes, obtém-se facilmente pela construção deuma tabela, xi yi xi2 xi yix1 y1 x12 x1 y1x2 y2 x22 x2 y2... ... ... ...xn yn xn2 xn yn xi yi xi2 xi yiExemplo:Para se determinar a reta de regressão que aproxima os pontos,xi 1 2 4 5 7 8 10yi 1 2 4 4 5 6 7constrói-se a tabelaxi yi xi2 xi yi1 1 1 12 2 4 44 4 16 165 4 25 207 5 49 358 6 64 4810 7 100 70∑ 37 29 259 194Donde se obtém o sistema{a × 7 + b × 37 = 29a × 37 + b × 259 = 194cuja solução é a = 0.75b = 0.6418918918919o que permite determinar a reta deregressão,y = 0.75 + 0.6418918918919 xEm algumas aplicações, são osvalores de { xi }, i = 1, 2, ..., m queestão afetados de erros, sendo os { yi } considerados exatos. Nesse caso é necessário efetuar umaaproximação inversa.116 Computação Científica

Page 53: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Aproximação polinomialAssim, dado { xi, yi }, i = 1, 2, ..., m um conjunto de pares de números reais onde, xi ≈ g(yi), i = 1, 2, ..., mpodemos calcular uma aproximação dos mínimos quadrados para g(y).Exemplo: no exemplo anterior, basta trocar os papéis dos x e y dados,xi 1 2 4 5 7 8 10yi 1 2 4 4 5 6 7construindo neste caso a tabelaxi yi yi2 yi xi1 1 1 12 2 4 44 4 16 165 4 16 207 5 25 358 6 36 4810 7 49 70∑ 37 29 147 194donde se obtém o sistema {a × 7 + b × 29 = 37a × 29 + b × 147 = 194cuja solução éa = -0.994680851064b = 1.5159574468085o que permite determinar a reta de regressão inversa,x = -0.994680851064 + 1.5159574468085 y9.3.4. Parábola dos Mínimos QuadradosPara aproximar o conjunto de pontos por uma parábola, pretende-se determinar os valores dea, b e c em,F(x; a, b, c) = a + b x + c x2 por forma a minimizar o erro quadrático total,E (a ,b,c) = ∑i=1m

(yi − a − b xi − c xi2)2Para que ocorra o mínimo é necessário (e prova-se que também é suficiente) que,

∇ E (a, b ,c) = 0Computação Científica 117

Page 54: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Aproximação polinomial Métodos Numéricos Iterativosou seja,{a m + b ∑i=1m x i + c ∑i=1m x i2 = ∑i=1m y ia ∑i=1m xi + b ∑i=1m xi2 + c ∑i=1m x i3 = ∑i=1m xi yia ∑i=1m xi2 + b ∑i=1m x i3 + c ∑i=1m x i4 = ∑i=1m xi2 yiOs coeficientes de a e de b e os termos independentes, também se obtém pela construção deuma tabela.Exemplo:Para o exemplo anterior,xi 1 2 4 5 7 8 10yi 1 2 4 4 5 6 7construindo a tabelaxi yi xi2 xi3 xi4 xi yi xi2 yi1 1 1 1 1 1 12 2 4 8 16 4 84 4 16 64 256 16 645 4 25 125 625 20 1007 5 49 343 2401 35 2458 6 64 512 4096 48 38410 7 100 1000 10000 70 700∑ 37 29 259 2053 17395 194 1502donde se obtém o sistema

{a × 7 + b × 37 + c × 259 = 29a × 37 + b × 259 + c × 2053 = 194a × 259 + b × 2053 + c × 17395 = 1502cuja solução é a = 0.28869047619b = 0.890625c = -0.02306547619o que permite determinar a parábola, que seaproxima dos pontos,y = 0.28869047619 + 0.890625 x - 0.02306547619 x2 118 Computação Científica

Page 55: Capítulo 3. Métodos Numéricos Iterativoscbarrico/Disciplinas/ComputacaoCientifica/Downloads... · Métodos Numéricos Iterativos Necessidade de se usar métodos numéricos Porque

Métodos Numéricos Iterativos Aproximação polinomial9.3.5. AlgoritmoO processo pode ser formalizado da forma que se segue. Seja Pn o espaço dos polinómios de graumenor ou igual a n com coeficientes reais e f1, f2, ..., fn Pn. A aproximação polinomial dosmínimos quadrados de grau n para os pares de valores (x1, y1), ..., (xm, ym), é o polinómio p = ∑i=0n ci f i(x ),que minimiza∥f − p∥2 = √ ∑i=0m

∣yi − p(xi)∣2.Algoritmo (equações normais):{ Objetivo: Construção das equações normais para dados discretos }{ Parâmetros de entrada: (xi, yi) i = 1,...,m; fk, k = 1, ..., n }{ Parâmetros de saída: para i de 1 até (n+1) fazerpara j de i até (n+1) fazeraij 0para k de 1 até m fazeraij aij + fi-1(xk) fj-1(xk)fim_paraaji aij fim_parabi 0para k de 1 até m fazerbi bi + yk fi-1(xk)fim_parafim_paraComputação Científica 119