cálculo numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · notadosautores...

609
Cálculo Numérico Um Livro Colaborativo 23 de agosto de 2016

Upload: doanthien

Post on 30-Sep-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Cálculo NuméricoUm Livro Colaborativo

23 de agosto de 2016

Page 2: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Autores

Lista alfabética de autores:

Dagoberto Adriano Rizzotto Justo - UFRGS

Esequia Sauter - UFRGS

Fabio Souto de Azevedo - UFRGS

Pedro Henrique de Almeida Konzen - UFRGS

ii

Page 3: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Licença

Este trabalho está licenciado sob a Licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada. Para ver uma cópia destalicença, visite http://creativecommons.org/licenses/by-sa/3.0/ ouenvie uma carta para Creative Commons, PO Box 1866, MountainView, CA 94042, USA.

iii

Page 4: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Nota dos autores

Este livro vem sendo construído de forma colaborativa desde 2011.Nosso intuito é melhorá-lo, expandi-lo e adaptá-lo às necessidadesde um curso de cálculo numérico em nível de graduação.Caso queira colaborar, tenha encontrado erros, tenha sugestões oureclamações, entre em contato conosco pelo endereço de e-mail:

[email protected]

Alternativamente, abra um chamado no repositório GitHub do pro-jeto:

iv

Page 5: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

https://github.com/livroscolaborativos/CalculoNumerico

Page 6: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Prefácio

Este livro busca abordar os tópicos de um curso de introdução aocálculo numérico moderno oferecido a estudantes de matemática,física, engenharias e outros. A ênfase é colocada na formulação deproblemas, implementação em computador da resolução e interpre-tação de resultados. Pressupõe-se que o estudante domine conheci-mentos e habilidades típicas desenvolvidas em cursos de graduaçãode cálculo, álgebra linear e equações diferenciais. Conhecimentosprévios em linguagem de computadores é fortemente recomendável,embora apenas técnicas elementares de programação sejam real-

vi

Page 7: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

mente necessárias.Ao longo do livro, fazemos ênfase na utilização do software livreScilab para a implementação dos métodos numéricos abordados.Recomendamos que o leitor tenha à sua disposição um computadorcom o Scilab instalado. Não é necessário estar familiarizado com alinguagem Scilab, mas recomendamos a leitura do Apêndice A, noqual apresentamos uma rápida introdução a este pacote computa-cional. Alternativamente, existem algumas soluções em nuvem quefornecem acesso ao Scilab via internet. Por exemplo, a plataformavirtual rollApp (https://www.rollapp.com/app/scilab).

Page 8: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 1

Introdução

Cálculo numérico é a disciplina que estuda as técnicas para a so-lução aproximada de problemas matemáticos. Estas técnicas sãode natureza analítica e computacional. As principais preocupaçõesnormalmente envolvem exatidão e perfórmance.Aliado ao aumento contínuo da capacidade de computação dispo-

1

Page 9: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

nível, o desenvolvimento de métodos numéricos tornou a simula-ção computacional de modelos matemáticos uma prática usual nasmais diversas áreas científicas e tecnológicas. As então chamadassimulações numéricas são constituídas de um arranjo de vários es-quemas numéricos dedicados a resolver problemas específicos como,por exemplo: resolver equações algébricas, resolver sistemas linea-res, interpolar e ajustar pontos, calcular derivadas e integrais, re-solver equações diferenciais ordinárias, etc.. Neste livro, abordamoso desenvolvimento, a implementação, utilização e aspectos teóricosde métodos numéricos para a resolução desses problemas.Os problemas que discutiremos não formam apenas um conjunto demétodos fundamentais, mas são, também, problemas de interessena engenharia e na matemática aplicada. A necessidade de aplicaraproximações numéricas decorre do fato de que esses problemas po-dem se mostrar intratáveis se dispomos apenas de meios puramenteanalíticos, como aqueles estudados nos cursos de cálculo e álgebralinear. Por exemplo, o teorema de Abel-Ruffini nos garante quenão existe uma fórmula algébrica, isto é, envolvendo apenas opera-

Page 10: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ções aritméticas e radicais, para calcular as raízes de uma equaçãopolinomial de qualquer grau, mas apenas casos particulares:

• Simplesmente isolar a incógnita para encontrar a raiz de umaequação do primeiro grau;

• Fórmula de Bhaskara para encontrar raízes de uma equaçãodo segundo grau;

• Fórmula de Cardano para encontrar raízes de uma equação doterceiro grau;

• Existe expressão para equações de quarto grau;

• Casos simplificados de equações de grau maior que 4 ondealguns coeficientes são nulos também podem ser resolvidos.

Equações não polinomiais podem ser ainda mais complicadas deresolver exatamente, por exemplo:

cos(x) = x e xex = 10

Page 11: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para resolver o problema de valor inicial

y′ + xy = x,

y(0) = 2,

podemos usar o método de fator integrante e obtemos y = 1+e−x2/2.Já o cálculo da solução exata para o problema

y′ + xy = e−y,

y(0) = 2,

não é possível.Da mesma forma, resolvemos a integral∫ 2

1xe−x

2dx

pelo método da substituição e obtemos 12(e−1− e−2). Porém a inte-

gral ∫ 2

1e−x

2dx

Page 12: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

não pode ser resolvida analiticamente.A maioria dos modelos de fenômenos reais chegam em problemasmatemáticos onde a solução analítica é difícil (ou impossível) de serencontrada, mesmo quando provamos que ela existe. Nesse cursopropomos calcular aproximações numéricas para esses problemas,que apesar de, em geral, serem diferentes da solução exata, mostra-remos que elas podem ser bem próximas.Para entender a construção de aproximações é necessário estudarum pouco como funciona a aritmética de computador e erros de ar-redondamento. Como computadores, em geral, usam uma base bi-nária para representar números, começaremos falando em mudançade base.

Page 13: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 2

Aritmética de máquina

6

Page 14: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.1 Sistema de numeração e mudançade base

Usualmente, utilizamos o sistema de numeração decimal para re-presentar números. Esse é um sistema de numeração posicionalonde a posição do dígito indica a potência de 10 que o dígito estárepresentando.

Exemplo 1. O número 293 é decomposto como

293 = 2 centenas + 9 dezenas + 3 unidades= 2 · 102 + 9 · 101 + 3 · 100.

O sistema de numeração posicional também pode ser usado comoutras bases. Vejamos a seguinte definição.

Page 15: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definição 1 (Sistema de numeração de base b). Dadoum número natural b > 1 e o conjunto de símbolos,,,,−−−,000,111,222, . . . , b− 1b− 1b− 1a, a sequência de símbolos

(dndn−1 · · · d1d0,d−1d−2 · · · )b

representa o número positivo

dn · bn + dn−1 · bn−1 + · · ·+ d0 · b0 + d−1 · b−1 + d−2 · b−2 + · · ·

Para representar números negativos usamos o símbolo − a es-querda do numeral.

aPara b > 10, veja a Observação 1

Page 16: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 1 (b ≥ 10). Para sistemas de numeração com baseb ≥ 10 é usual utilizar as seguintes notações:

• No sistema de numeração decimal (b = 10), costumamosrepresentar o número sem os parênteses e o subíndice, ouseja,

±dndn−1 . . . d1d0,d−1d−2 . . . := ±(dndn−1 . . . d1d0,d−1d−2 . . .)10

• Se b > 10, usamos as letras A,B,C, · · · para completaros símbolos: A = 10, B = 11, C = 12, D = 13, E = 14,F = 15.

Exemplo 2 (Sistema binário). O sistema de numeração em basedois é chamado de binário e os algarismos binários são conhecidoscomo bits, do inglês binary digits. Um bit pode assumir dois

Page 17: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

valores distintos: 0 ou 1. Por exemplo:

x = (1001,101)2

= 1 · 23 + 0 · 22 + 0 · 21 + 1 · 20 + 1 · 2−1 + 0 · 2−2 + 1 · 2−3

= 8 + 0 + 0 + 1 + 0,5 + 0 + 0,125 = 9,625

Ou seja, (1001,101)2 é igual a 9,625 no sistema decimal.

Exemplo 3 (Sistema quaternário). No sistema quaternário a baseb é igual a 4. Por exemplo:

(301,2)4 = 3 · 42 + 0 · 41 + 1 · 40 + 2 · 4−1 = 49,5

Exemplo 4 (Sistema octal). No sistema octal a base é b = 8 eutilizamos os símbolos em 0, 1, 2, 3, 4, 5, 6, 7. Por exemplo:

(1357,24)8 = 1 · 83 + 3 · 82 + 5 · 81 + 7 · 80 + 2 · 8−1 + 4 · 8−2

= 512 + 192 + 40 + 7 + 0,25 + 0,0625 = 751,3125

Page 18: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 5 (Sistema hexadecimal). O sistema de numeração cujaa base é b = 16 é chamado de sistema hexadecimal. O conjunto desímbolos necessários é S = “,”,−, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,B,C,D,E, F.Convertendo o número (E2AC)16 para a base 10 temos

(E2AC)16 = 14 · 163 + 2 · 162 + 10 · 161 + 12 · 160

= 57344 + 512 + 160 + 12 = 58028

Exemplo 6 (Scilab). O Scilab oferece algumas funções para aconversão de números inteiros em dada base para a base decimal.Por exemplo, temos:

-->bin2dec('1001')ans =

9.-->hex2dec('451')ans =

1105.-->oct2dec('157')

Page 19: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ans =111.

-->base2dec('BEBA',16)ans =

48826.

A partir da Definição 1 acabamos de mostrar vários exemplos deconversão de números de uma sistema de numeração de base b parao sistema decimal. Agora, vamos estudar como fazer o processoinverso. Isto é, dado um número decimal (X)10 queremos escrevê-loem uma outra base b, i.e., queremos obter a seguinte representação:

(X)10 = (dndn−1 · · · d0,d−1 · · · )b= dn · bn + dn−1 · bn−1 + · · ·+ d0 · b0 + d−1 · b−1 + d−2 · b−2 + · · ·

Separando as partes inteira e fracionária de X, i.e. X = Xi + Xf,temos:

Xi = dn·bn+· · ·+dn−1bn−1·+d1·b1+d0·b0 e Xf = d−1

b1 +d−2

b2 +· · ·

Page 20: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Nosso objetivo é determinar os algarismos dn, dn−1, ....Primeiramente, vejamos como tratar a parte inteira Xi. Calculandosua divisão por b, temos:

Xib

= d0

b+ d1 + d2b

1 · · ·+ dn−1 · bn−2 + dn · bn−1.

Observe que d0 é o resto da divisão de Xi por b, pois d1 +d2b1 · · ·+

dn−1 · bn−2 + dn · bn−1 é inteiro e d0b

é uma fração (lembramos qued0 < b). Da mesma forma, o resto da divisão de d1 +d2b

1 · · ·+dn−1 ·bn−2 + dn · bn−1 por b é d1. Repetimos o processo até encontrar ossímbolos d0, d1, d2, . . ..

Exemplo 7 (Conversão da parte inteira). Vamos escrever o número125 na base 6. Para tanto, fazemos sucessivas divisões por 6 comosegue:

125 = 20 · 6 + 5 (125 dividido por 6 é igual a 20 e resta 5)= (3 · 6 + 2) · 6 + 5 = 3 · 62 + 2 · 6 + 5,

Page 21: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

logo 125 = (325)6.Estes cálculos podem ser feitos no Scilab com o auxílio das funçõesmodulo e int. A primeira calcula o resto da divisão entre doisnúmeros, enquanto que a segunda retorna a parte inteira de umnúmero dado. No nosso exemplo, temos:

-->q = 125, d0 = modulo(q,6)-->q = int(q/6), d1 = modulo(q,6)-->q = int(q/6), d2 = modulo(q,6)

Verifique!

Exemplo 8 (Scilab). O Scilab oferece algumas funções para aconversão de números inteiros em dada base para a base decimal.Assim, temos:

-->bin2dec('1001')ans =

9.-->hex2dec('451')

Page 22: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ans =1105.

-->oct2dec('157')ans =

111.-->base2dec('BEBA',16)ans =

48826.

Vamos converter a parte fracionária de um número decimal em umadada base b. Usando a notação X = Xi +Xf para as partes inteirae fracionária, respectivamente, temos:

bXf = d−1 + d−2

b+ d−3

b2 + · · ·

Observe que a parte inteira desse produto é d−1 e d−2b

+ d−3b2

+ · · ·é a parte fracionária. Quando multiplicamos d−2

b+ d−3

b2+ · · · por b

novamente, encontramos d−2. Repetimos o processo até encontrartodos os símbolos.

Page 23: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 9 (Conversão da parte fracionária). Escrever o número125,583 na base 6. Do exemplo anterior temos que 125 = (325)6.Assim, nos resta converter a parte fracionária. Para tanto, fazemossucessivas multiplicações por 6 como segue:]

0,583 = 3,5 · 6−1 (0,583 multiplicado por 6 é igual a 3,5)= 3 · 6−1 + 0,5 · 6−1

= 3 · 6−1 + (3 · 6−1) · 6−1

= 3 · 6−1 + 3 · 6−2,

logo 0,583 = (0,33)6. As contas feitas aqui, também podem serfeitas no Scilab. Você sabe como?

Uma maneira de converter um número dado numa base b1 para umabase b2 é fazer em duas partes: primeiro converter o número dadona base b2 para base decimal e depois converter para a base b1.

Page 24: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 2.1.1. Converta para base decimal cada um dos seguintes nú-meros:

a) (100)2

b) (100)3

c) (100)b

d) (12)5

e) (AA)16

f) (7,1)8

g) (3,12)5

E 2.1.2. Escreva os números abaixo na base decimal.

a) (25,13)8

b) (101,1)2

c) (12F,4)16

d) (11,2)3

Page 25: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 2.1.3. Escreva cada número decimal na base b.

a) 7,6 na base b = 5

b) 29,16 na base b = 6

E 2.1.4. Escreva cada número dado para a base b.

a) (45,1)8 para a base b = 2

b) (21,2)8 para a base b = 16

c) (1001,101)2 para a base b = 8

d) (1001,101)2 para a base b = 16

E 2.1.5. Escreva o número x = 5,5 em base binária.

E 2.1.6. Escreva o número x = 17,109375 em base hexadecimal(16).

Page 26: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 2.1.7. Quantos algarismos são necessários para representar onúmero 937163832173947 em base binária? E em base 7? Dica:Qual é o menor e o maior inteiro que pode ser escrito em dada basecom N algarismos?

E 2.1.8. Escreva x = (12.4)8 em base decimal e binária.

Page 27: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2 Representação de númerosOs computadores, em geral, usam a base binária para representar osnúmeros, onde as posições, chamadas de bits, assume as condições“verdadeiro” ou “falso”, ou seja, 0 ou 1. Cada computador tem umnúmero de bits fixo e, portanto, representa uma quantidade finita denúmeros. Os demais números são tomados por proximidade àquelesconhecidos, gerando erros de arredondamento. Por exemplo, emaritmética de computador, o número 2 tem representação exata,logo 22 = 4, mas

√3 não tem representação finita, logo (

√3)2 6= 3.

Veja isso no Scilab:

-->2^2 == 4ans =T

-->sqrt(3)^2 == 3ans =F

Page 28: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2.1 Números inteirosTipicamente um número inteiro é armazenado num computadorcomo uma sequência de dígitos binários de comprimento fixo de-nominado registro.

Page 29: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Representação sem sinal

Um registro com n bits da forma

dn−1 dn−2 · · · d1 d0

representa o número (dn−1dn−2...d1d0)2.Assim é possível representar números inteiros entre

(111...111)2 = 2n−1 + 2n−2 + · · ·+ 21 + 20 = 2n − 1.... =

(000...011)2 = (3)10

(000...010)2 = (2)10

(000...001)2 = (1)10

(000...000)2 = (0)10

Exemplo 10. No Scilab,

Page 30: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->uint8( bin2dec('00000011') )ans = 3

-->uint8( bin2dec('11111110') )ans = 254

Page 31: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Representação com bit de sinal

O bit mais significativo (o primeiro à esquerda) representa o sinal:por convenção, 0 significa positivo e 1 significa negativo. Um regis-tro com n bits da forma

s dn−2 · · · d1 d0

representa o número (−1)s(dn−2...d1d0)2. Assim é possível represen-tar números inteiros entre −2n−1 e 2n−1, com duas representaçõespara o zero: (1000...000)2 e (00000...000)2.

Page 32: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 11. Em um registro com 8 bits, teremos os números

(11111111)2 = −(26 + · · ·+ 2 + 1) = −127...

(10000001)2 = −1

(10000000)2 = −0

(01111111)2 = 26 + · · ·+ 2 + 1 = 127...

(00000010)2 = 2

(00000001)2 = 1

(00000000)2 = 0

Page 33: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Representação complemento de dois

O bit mais significativo (o primeiro à esquerda) representa o coefi-ciente de −2n−1. Um registro com n bits da forma

dn−1 dn−2 · · · d1 d0

representa o número −dn−12n−1 + (dn−2...d1d0)2.Note que todo registro começando com 1 será um número negativo.

Exemplo 12. O registro com 8 bits [01000011] representa o número

−0(27) + (1000011)2 = 64 + 2 + 1 = 67.

O registro com 8 bits [10111101] representa o número

−1(27) + (0111101)2 = −128 + 32 + 16 + 8 + 4 + 1 = −67.

Note que podemos obter a representação de −67 invertendo os dí-gitos de 67 em binário e somando 1.

Page 34: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 13. Em um registro com 8 bits, teremos os números

(11111111)2 = −27 + 26 + · · ·+ 2 + 1 = −1...

(10000001)2 = −27 + 1 = −127(10000000)2 = −27 = −128(01111111)2 = 26 + · · ·+ 2 + 1 = 127

...(00000010)2 = 2(00000001)2 = 1(00000000)2 = 0

Exemplo 14. No Scilab,

-->int8( bin2dec('00000011') )

Page 35: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ans = 3-->int8( bin2dec('11111110') )

ans = -2

Page 36: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2.2 Sistema de ponto fixoO sistema de ponto fixo representa as partes inteira e fracionária donúmero com uma quantidade fixas de dígitos.

Exemplo 15. Em um computador de 32 bits que usa o sistema deponto fixo, o registro

d31 d30 d29 · · · d1 d0

pode representar o número

• (−1)d31(d30d29 · · · d17d16, d15d14 · · · d1d0)2 se o sinal for repre-sentado por um dígito. Observe que nesse caso o zero possuiduas representações possíveis:

10000000000000000000000000000000

e00000000000000000000000000000000

Page 37: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• (d30d29 · · · d17d16)2 − d31(215 − 2−16) + (0,d15d14 · · · d1d0)2 se osinal do número estiver representado por uma implementaçãoem complemento de um. Observe que o zero também possuiduas representações possíveis:

11111111111111111111111111111111

e00000000000000000000000000000000

• (d30d29 · · · d17d16)2 − d31215 + (0,d15d14 · · · d1d0)2 se o sinal donúmero estiver representado por uma implementação em com-plemento de dois. Nesse caso o zero é unicamente representadopor

00000000000000000000000000000000

Observe que 16 dígitos são usados para representar a parte fraci-onária, 15 são para representar a parte inteira e um dígito, o d31,está relacionado ao sinal do número.

Page 38: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2.3 Normalização

Os números h = 6.626× 10−34 e NA = 6.0221× 1023 não podem serarmazenados na máquina em ponto fixo do exemplo anterior.Entretanto, a constante

h = 6626× 10−37

h = 6.626× 10−34

h = 0.6626× 10−33

h = 0.006626× 10−31

pode ser escrita de várias formas diferentes. Para termos umarepresentação única definimos como notação normalizada a se-gunda opção (1 ≤ m < 10) que apresenta apenas um dígito diferentede zero a esquerda do ponto decimal (m = 6.626).

Page 39: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definição 2. Definimos que

x = (−1)s(M)b × bE,

está na notação normalizadaa quando 1 ≤ (M)b < b, onde

• s é o sinal (0 para positivo e 1 para negativo),

• E é o expoente,

• b é a base (por ex. 2, 8, 10 ou 16),

• (M)b é o significando. O significando (também cha-mado de mantissa ou coeficiente) contém os dígitos signi-ficativos do número.

aEm algumas referências é usado (0.1)b ≤ (M)b < 1.

Page 40: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 16. Os números abaixo estão em notação normalizada:

x1 = (−1.011101)2 × 2(100)2

x2 = (−2.325)10 × 101

Exemplo 17. Represente os números 0,0051 e 1205,4154 em umsistema de ponto fixo de 4 dígitos para a parte inteira e 4 dígitospara a parte fracionária. Depois represente os mesmos númerosutilizando notação normalizada com 7 dígitos significativos.

Solução. As representações dos números 0,0051 e 1205,4154 no sis-tema de ponto fixo são 0,0051 e 1205,4154, respectivamente. Em no-tação normalizada, as representações são 5,151515 ·10−3 e 1,205415 ·103, respectivamente. ♦

Observação 2. No Scilab, a representação em ponto flutuantecom n dígitos é dada na forma ±d1,d2d3 . . . dn × 10E. Consultesobre o comando format!

Page 41: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2.4 Sistema de ponto flutuanteO sistema de ponto flutuante não possui quantidade fixa de dígitospara as partes inteira e fracionária do número.Podemos definir uma máquina F em ponto flutuante de dois modos:

F (β,|M |,|E|,BIAS) ou F (β,|M |,EMIN ,EMAX)

onde

• β é a base (em geral 2 ou 10),

• |M | é o número de dígitos da mantissa,

• |E| é o número de dígitos do expoente,

• BIAS é um valor de deslocamento do expoente (veja a seguir),

• EMIN é o menor expoente,

• EMAX é o maior expoente.

Page 42: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Considere uma máquina com um registro de 64 bits e base β = 2.Pelo padrão IEEE754, 1 bit é usado para o sinal, 11 bits para oexpoente e 52 bits são usados para o significando tal que

s c10 c9 · · · c0 m1 m2 · · · m51 m52

represente o número (o BIAS = 1023 por definição)

x = (−1)sM × 2c−BIAS,

onde a característica é representada por

c = (c10c9 · · · c1c0)2 = c10210 + · · ·+ c121 + c020

e o significando por

M = (1.m1m2 · · ·m51m52)2.

Em base 2 não é necessário armazenar o primeiro dígito (por quê?).

Page 43: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Por exemplo, o registro

[0|100 0000 0000|1010 0000 0000...0000 0000]

representa o número

(−1)0(1 + 2−1 + 2−3)× 21024−1023 = (1 + 0.5 + 0.125)2 = 3.25.

Page 44: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

O expoente deslocado

Uma maneira de representar os expoentes inteiros é deslocar todoseles uma mesma quantidade. Desta forma permitimos a represen-tação de números negativos e a ordem deles continua crescente. Oexpoente é representado por um inteiro sem sinal do qual é deslo-cado o BIAS.Tendo |E| dígitos para representar o expoente, geralmente o BIASé predefinido de tal forma a dividir a tabela ao meio de tal formaque o expoente um seja representado pelo sequência [100...000].

Exemplo 18. Com 64 bits, pelo padrão IEEE754, temos que|E| := 11. Assim (100 0000 0000)2 = 210 = 1024. Como quere-mos que esta sequência represente o 1, definimos BIAS := 1023,pois

1024−BIAS = 1.

Com 32 bits, temos |E| := 8 e BIAS := 127. E com 128 bits, temos|E| := 15 e BIAS := 16383.

Page 45: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Com 11 bits temos

[111 1111 1111] = reservado

[111 1111 1110] = 2046−BIAS = 102310 = EMAX

... =[100 0000 0001] = 210 + 1−BIAS = 210

[100 0000 0000] = 210 −BIAS = 110

[011 1111 1111] = 1023 −BIAS = 010

[011 1111 1110] = 1022 −BIAS = −110... =

[000 0000 0001] = 1−BIAS = −1022 = EMIN

[000 0000 0000] = reservado

O maior expoente é dado por EMAX = 1023 e o menor expoente édado por EMIN = −1022.

Page 46: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

O menor número representável positivo é dado pelo registro

[0|000 0000 0001|0000 0000 0000...0000 0000]

quando s = 0, c = 1 e M = (1.000...000)2, ou seja,

MINR = (1 + 0)2 × 21−1023 ≈ 0.2225× 10−307.

O maior número representável é dado por

[0|111 1111 1110|1111 1111 ...1111 1111]

quando s = 0, c = 2046 e M = (1.1111 1111....1111)2 = 2 − 2−52,ou seja,

MAXR = (2− 2−52)× 22046−1023 ≈ 21024 ≈ 0.17977× 10309.

Page 47: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Casos especiais

O zero é um caso especial representado pelo registro

[0|000 0000 0000|0000 0000 0000...0000 0000]

Os expoentes reservados são usados para casos especiais:

• c = [0000...0000] é usado para representar o zero (se m = 0)e os números subnormais (se m 6= 0).

• c = [1111...1111] é usado para representar o infinito (sem = 0)e NaN (se m 6= 0).

Os números subnormais1 tem a forma

x = (−1)s(0.m1m2 · · ·m51m52)2 × 21−BIAS.

1Note que poderíamos definir números um pouco menores que o MINR.

Page 48: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 3. O menor número positivo, o maior número e omenor número subnormal representáveis no Scilab são:

-->MINR=number_properties('tiny')-->MAXR=number_properties('huge')-->number_properties('tiniest')

Outras informações sobre a representação em ponto flutuantepodem ser obtidas com help number_properties.

Page 49: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2.5 A precisão e o epsilon de máquinaA precisão p de uma máquina é o número de dígitos significativosusado para representar um número. Note que p = |M | + 1 embinário e p = |M | para outras bases.O epsilon de máquina, εmach = ε, é definido como o menor númerorepresentável tal que 1 + ε seja diferente de 1.

Exemplo 19. Com 64 bits, temos que o epsilon será dado por

1→ (1.0000 0000....0000)2 × 20

ε→ +(0.0000 0000....0001)2 × 20 = 2−52

(1.0000 0000....0001)2 × 20 6= 1

Assim ε = 2−52.

Page 50: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.2.6 A distribuição dos números

Utilizando uma máquina em ponto flutuante temos um número fi-nito de números que podemos representar.

Um número muito pequeno geralmente é aproximado por zero (un-derflow) e um número muito grande (overflow) geralmente faz ocálculo parar. Além disso, os números não estão uniformementeespaçados no eixo real. Números pequenos estão bem próximos en-quanto que números com expoentes grandes estão bem distantes.

Se tentarmos armazenar um número que não é representável, deve-mos utilizar o número mais próximo, gerando os erros de arredon-damento.

Por simplicidade, a partir daqui nós adotaremos b = 10.

Page 51: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 4. O chamado modo de exceção de ponto flutuanteé controlado pela função ieee. O padrão do Scilab é ieee(0).Estude os seguintes resultados das seguintes operações usandoos diferentes modos de exceção:

-->2*number_properties('huge'), 1/2^999, 1/0, 1/-0

Em geral, os números não são representados de forma exata noscomputadores. Isto nos leva ao chamado erro de arredondamento.Quando resolvemos problemas com técnicas numéricas estamos su-jeitos a este e outros tipos de erros. Nas próximas seções, veremosquais são estes erros e como controlá-los, quando possível.

Page 52: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 2.2.1. Explique a diferença entre o sistema de ponto fixo e pontoflutuante.

Page 53: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.3 Tipos de ErrosQuando fazemos aproximações numéricas, os erros são gerados devárias formas, sendo as principais delas as seguintes:

1. Precisão dos dados: equipamentos de medição possuemprecisão finita, acarretando erros nas medidas físicas.

2. Erros de Arredondamento: são aqueles relacionados comas limitações que existem na forma representar números demáquina.

3. Erros de Truncamento: ocorrem quando aproximamos umprocedimento formado por uma sequência infinita de passosatravés de um outro procedimento finito. Por exemplo, a de-finição de integral é dada por uma soma infinita e, como ve-remos na terceira área, aproximarmo-la por um soma finita.Esse é um assunto que discutiremos várias vezes no curso, poiso tratamento do erro de truncamento é feito para cada métodonumérico.

Page 54: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Uma questão fundamental é a quantificação dos erros que estamossujeitos ao computar a solução de um dado problema. Para tanto,precisamos definir medidas de erros (ou de exatidão). As medidasde erro mais utilizadas são o erro absoluto e o erro relativo.

Definição 3 (Erro absoluto e relativo). Seja x um número reale x sua aproximação. O erro absoluto da aproximação x édefinido como

|x− x|.

O erro relativo da aproximação x é definido como

|x− x||x|

, x 6= 0.

Page 55: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 5. Observe que o erro relativo é adimensional e,muitas vezes, é dado em porcentagem. Mais precisamente, oerro relativo em porcentagem da aproximação x é dado por

|x− x||x|

× 100%.

Exemplo 20. Sejam x = 123456,789 e sua aproximação x = 123000.O erro absoluto é

|x− x| = |123456,789− 123000| = 456,789

e o erro relativo é|x− x||x|

= 456,789123456,789 ≈ 0,00369999 ou 0,36%

Exemplo 21. Sejam y = 1,23456789 e y = 1,13. O erro absoluto é

|y − y| = |1,23456789− 1,13| = 0,10456789

Page 56: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

que parece pequeno se compararmos com o exemplo anterior. En-tretanto o erro relativo é

|y − y||y|

= 0,104567891,23456789 ≈ 0,08469999 ou 8,4%

Note que o erro relativo leva em consideração a escala do problema.

Exemplo 22. Observe os erros absolutos e relativos em cada caso

x x erro absoluto erro relativo

0,3 · 10−2 0,3 · 10−2 0,3 · 10−3 0,3·10−3

0,3·10−2 = 10−1 = 10%

0,3 0,3 0,3 · 10−1 0,3·10−1

0,3 = 10−1 = 10%

0,3 · 102 0,3 · 102 0,3 · 101 0,3·101

0,3·102 = 10−1 = 10%

Outra forma de medir a exatidão de uma aproximação numérica écontar o número de dígitos significativos corretos em relaçãoao valor exato.

Page 57: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definição 4 (Número de dígitos significativos corretos). Aaproximação x de um número x tem s dígitos significativoscorretos quandoa

|x− x||x|

< 5× 10−s.

aEsta definição é apresentada em [3]. Não existe uma definição única naliteratura para o conceito de dígitos significativos corretos, embora não pre-cisamente equivalentes, elas transmitem o mesmo conceito. Uma maneirade interpretar essa regra é: calcula-se o erro relativo na forma normalizadae a partir da ordem do expoente temos o número de dígitos significativoscorretos. Como queremos o expoente, podemos estimar s por

DIGSE(x,x) = s ≈ int∣∣∣∣log10

|x− x||x|

∣∣∣∣ .

Exemplo 23. Vejamos os seguintes casos:

Page 58: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) A aproximação de x = 0,333333 por x = 0,333 tem 3 dígitossignificativos corretos, pois

|x− x||x|

= 0,0003330,333333 ≈ 0,000999 ≤ 5× 10−333.

b) Considere as aproximações x1 = 0,666 e x2 = 0,667 de x =0,666888. Os erros relativos são

|x− x1||x|

= |0,666888− 0,666|0,666888 ≈ 0,00133... < 5× 10−3.

|x− x2||x|

= |0,666888− 0,667|0,666888 ≈ 0,000167... < 5× 10−4.

Note que x1 possui 3 dígitos significativos corretos e x2 possui4 dígitos significativos (o quarto dígito é o dígito 0 que nãoaparece a direita, i.e, x2 = 0.6670. Isto também leva a conclu-são que x2 aproxima melhor o valor de x do que x1 pois estámais próximo de x.

Page 59: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) x = 9,999 aproxima x = 10 com 4 dígitos significativos corre-tos, pois

|x− x||x|

= |10− 9,999|10 ≈ 0,0000999... < 5× 10−4.

d) Considere as aproximações x1 = 1,49 e x2 = 1,5 de x =1. Da definição, temos que 1,49 aproxima 1 com um dígitosignificativo correto (verifique), equanto 1,5 tem zero dígitosignificativo correto, pois:

|1− 1,5||1| = 5× 10−1 < 5× 100.

Page 60: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.3.1 Erros de arredondamentoOs erros de arredondamento são aqueles gerados quando aproxima-mos um número real por um número com representação finita.Existem várias formas de arredondar

x = ±d0,d1d2 . . . dk−1dkdk+1 . . . dn × 10e

usando k dígitos significativos. As duas principais são as seguintes:

1. Arredondamento por truncamento (ou corte): aproxima-mos x por

x = ±d0,d1d2 . . . dk × 10e

simplesmente descartando os dígitos dj com j > k.

2. Arredondamento por proximidade: se dk+1 < 5 aproxi-mamos x por

x = ±d0,d1d2 . . . dk × 10e

Page 61: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

senão aproximamos x por2

x = ±(d0,d1d2 . . . dk + 10−k)× 10e

Observação 6. Observe que o arredondamento pode mudar to-dos os dígitos e o expoente da representação em ponto flutuantede um número dado.

Exemplo 24. Represente os números x1 = 0,567, x2 = 0,233, x3 =−0,675 e x4 = 0,314159265 . . .× 101 com dois dígitos significativospor truncamento e arredondamento.

Solução. Vejamos cada caso:2Note que essas duas opções são equivalentes a somar 5 no dígito a direita

do corte e depois arredondar por corte, ou seja, arredondar por corte

±(d0,d1d2 . . . dkdk+1 + 5× 10−(k+1))× 10e

Page 62: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Por truncamento:

x1 = 0,56, x2 = 0,23, x3 = −0,67 e x4 = 3,1.

No Scilab, podemos obter a representação de x3 = −0,675fazendo (verifique):

-->format('e',8)-->int(-0.675*1e2)/1e2

• Por arredondamento:

x1 = 0,57; x2 = 0,23; x3 = −0,68 e x4 = 3,1.

No Scilab, a representação de números por arredondamentoé o padrão. Assim, para obtermos a representação desejadade x3 = 0,675 fazemos: podemos obter a representação dex3 = −0,675 fazemos (verifique):

Page 63: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->format('e',8)-->-0.675

Exemplo 25. O arredondamento de 0,9999 × 10−1 com 3 dígitossignificativos é 0,1× 100.

Page 64: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 2.3.1. Calcule os erros absoluto e relativo das aproximações xpara x.

a) x = π = 3,14159265358979 · · · e x = 3,141

b) x = 1,00001 e x = 1

c) x = 100001 e x = 100000

E 2.3.2. Arredonde os seguintes números para cinco algarismossignificativos corretos:

a) 1,7888544

b) 1788,8544

c) 0,0017888544

d) 0,004596632

e) 2,1754999 ×10−10

f) 2,1754999 ×1010

Page 65: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 2.3.3. Verifique quantos são os dígitos significativos corretos emcada aproximação x para x.

a) x = 2,5834 e x = 2,6

b) x = 100 e x = 99

E 2.3.4. Represente os números 3276; 42,55 e 0,00003331 com trêsdígitos significativos por truncamento e arredondamento.

E 2.3.5. Resolva a equação 0,1x − 0,01 = 12 usando arredonda-mento com três dígitos significativos em cada passo e compare como resultado analítico

E 2.3.6. Calcule o erro relativo e absoluto envolvido nas seguintesaproximações e expresse as respostas com três algarismos significa-tivos corretos.

a) x = 3,1415926535898 e x = 3,141593

Page 66: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) x = 17 e x = 1,43× 10−1

Page 67: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.4 Erros nas operações elementaresO erro presente relativo nas operações elementares de adição, sub-tração, multiplicação e divisão é da ordem do epsilon de máquina.Se estivermos usando uma máquina com 64 bits, temos que ε =2−52 ≈ 2,22E16.Este erro é bem pequeno! Assumindo que x e y são representadoscom todos dígitos corretos, temos aproximadamente 15 dígitos sig-nificativos corretos quando fizemos uma das operações x+ y, x− y,x× y ou x/y.Mesmo que fizéssemos, por exemplo, 1000 operações elementares emponto flutuante sucessivas, teríamos no pior dos casos acumuladotodos esses erros e perdido 3 casas decimais (1000×10−15 ≈ 10−12).Entretanto, quando subtraímos números muito próximos, os proble-mas aumentam.

Page 68: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.5 Cancelamento catastróficoQuando fazemos subtrações com números muito próximos entre siocorre o cancelamento catastrófico, onde podemos perder vários dí-gitos de precisão em uma única subtração.Exemplo 26. Efetue a operação

0,987624687925− 0,987624 = 0,687925× 10−6

usando arredondamento com seis dígitos significativos e observe adiferença se comparado com resultado sem arredondamento.Solução. Os números arredondados com seis dígitos para a man-tissa resultam na seguinte diferença

0,987625− 0,987624 = 0,100000× 10−5

Observe que os erros relativos entre os números exatos e aproxima-dos no lado esquerdo são bem pequenos,

|0,987624687925− 0,987625||0,987624687925| = 0,00003159

Page 69: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e|0,987624− 0,987624|

|0,987624| = 0%,

enquanto no lado direito o erro relativo é enorme:

|0,100000× 10−5 − 0,687925× 10−6|0,687925× 10−6 = 45,36%.

Exemplo 27. Considere o problema de encontrar as raízes da equa-ção de segundo grau

x2 + 300x− 0,014 = 0,

usando seis dígitos significativos.Aplicando a fórmula de Bhaskara com a = 0,100000 × 101, b =

Page 70: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

0,300000× 103 e c = 0,140000× 10−1, temos o discriminante:

∆ = b2 − 4 · a · c= 0,300000× 103 × 0,300000× 103

+ 0,400000× 101 × 0,100000× 101 × 0,140000× 10−1

= 0,900000× 105 + 0,560000× 10−1

= 0,900001× 105

e as raízes:

x1,x2 = −0,300000× 103 ±√

∆0,200000× 101

= −0,300000× 103 ±√

0,900001× 105

0,200000× 101

= −0,300000× 103 ± 0,300000× 103

0,200000× 101

Page 71: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Então, as duas raízes são:

x1 = −0,300000× 103 − 0,300000× 103

0,200000× 101

= −0,600000× 103

0,200000× 101 = −0,300000× 103

e

x2 = −0,300000× 103 + 0,300000× 103

0,200000× 101 = 0,000000× 100

Agora, os valores das raízes com seis dígitos significativos deveriamser

x1 = −0,300000× 103 e x2 = 0,466667× 10−4.

Observe que um raiz saiu com seis dígitos significativos corretos,mas a outra não possui nenhum dígito significativo correto.

Page 72: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 7. No exemplo anterior b2 é muito maior que 4ac,ou seja, b ≈

√b2 − 4ac, logo a diferença

−b+√b2 − 4ac

estará próxima de zero. Uma maneira padrão de evitar o can-celamento catastrófico é usar procedimentos analíticos para eli-minar essa diferença. Abaixo veremos alguns exemplos.

Exemplo 28. Para eliminar o cancelamento catastrófico do exem-plo anterior, usamos a seguinte expansão em série de Taylor emtorno da origem

√1− x = 1− 1

2x+O(x2).

Page 73: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Substituindo na fórmula de Bhaskara, temos:

x = −b±√b2 − 4ac

2a

=−b± b

√1− 4ac

b2

2a

≈−b± b

(1− 4ac

2b2)

2a

Observe que 4acb2

é um número pequeno e por isso a expansão fazsentido. Voltamos no exemplo anterior e calculamos as duas raízes

Page 74: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

com o nova expressão

x1 =−b− b+ 4ac

2b2a = − b

a+ c

b

= −0,300000× 103

0,100000× 101 −0,140000× 10−1

0,300000× 103

= −0,300000× 103 − 0,466667× 10−4

= −0,300000× 103

x2 =−b+ b− 4ac

2b2a

= −4ac4ab

= −cb

= −−0,140000× 10−1

0,300000× 103 = 0,466667× 10−4

Observe que o efeito catastrófico foi eliminado.

Page 75: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.6 Condicionamento de um problemaGeralmente podemos pensar um problema como um mapeamentof onde a partir de valores de entrada x devemos encontrar a saída,a solução y, ou seja, f : x→ y, ou simplesmente

y = f(x) (2.1)

Entretanto, a entrada do problema x normalmente terá erros (porexemplo, erros na coleta dos dados ou erros na representação dosdados devido a arredondamentos). Assim, ao invés de usar x esta-mos usando x∗ para resolver o problema e encontrar a solução y∗,ou seja, estamos resolvendo

y∗ = f(x∗) (2.2)

Estamos interessados em saber se os erros cometidos na entrada∆x = x− x∗ influenciaram na saída do problema ∆y = y − y∗.

Page 76: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

No caso mais simples, temos que x ∈ R e y ∈ R. Assumindo que fseja diferenciável, a partir da série de Taylor

f(x+ ∆x) ≈ f(x) + f ′(x)∆x (2.3)

obtemos (subtraindo f(x) dos dois lados)

∆y = f(x+ ∆x)− f(x) ≈ f ′(x)∆x (2.4)

Para relacionarmos os erros relativos, dividimos o lado esquerdo pory, o lado direito por f(x) = y e obtemos

∆yy≈ f ′(x)f(x)

x∆xx

(2.5)

sugerindo a definição de número de condicionamento de um pro-blema.

Page 77: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definição 5. Seja f uma função diferenciável. O número decondicionamento de um problema é definido como

κf (x) :=∣∣∣∣∣xf ′(x)f(x)

∣∣∣∣∣ (2.6)

e fornece uma estimativa de quanto os erros relativos na entrada∣∣∣∆xx

∣∣∣ serão amplificados na saída∣∣∣∆yy

∣∣∣.De modo geral, quando f depende de várias variáveis, podemosobter

δf = |f(x1,x2,...,xn)− f(x1, x2,...,xn)| ≈n∑i=1

∣∣∣∣∣ ∂f∂xi (x1, x2,...,xn)∣∣∣∣∣ δxi

Uma matriz de números de condicionamento também poderia serobtida como em [5].

Page 78: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 29. Considere o problema de calcular√x em x = 2. Se

usarmos x∗ = 1,999, quanto será o erro relativo na saída? O errorelativo na entrada é∣∣∣∣∣∆xx

∣∣∣∣∣ =∣∣∣∣2− 1,999

2

∣∣∣∣ = 0,0005 (2.7)

O número de condicionamento do problema calcular a raiz é

κf (x) :=∣∣∣∣∣xf ′(x)f(x)

∣∣∣∣∣ =

∣∣∣∣∣∣x 1

2√x√x

∣∣∣∣∣∣ = 12 (2.8)

Ou seja, os erros na entrada serão diminuídos pela metade. De fato,usando y =

√2 = 1,4142136... e y∗ =

√1,999 = 1,41386..., obtemos

∆yy

=√

2−√

1,999√2

≈ 0,000250031... (2.9)

Exemplo 30. Considere a função f(x) = 101−x2 e x∗ = 0,9995 com

um erro absoluto na entrada de 0,0001.

Page 79: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Calculando y∗ = f(x∗) temos

y∗ = 101− (0,9995)2 ≈ 10002,500625157739705173 (2.10)

Mas qual é a estimativa de erro nessa resposta? Quantos dígitossignificativos temos nessa resposta?Sabendo que f ′(x) = −10/(1− x2)2, o número de condicionamentoé

κf (x) :=∣∣∣∣∣xf ′(x)f(x)

∣∣∣∣∣ =∣∣∣∣∣ 2x2

1− x2

∣∣∣∣∣ (2.11)

o que nos fornece para x∗ = 0,9995,

κf (0,9995) ≈ 1998,5 (2.12)

Como o erro relativo na entrada é∣∣∣∣∣∆xx∣∣∣∣∣ =

∣∣∣∣∣0,00010,9995

∣∣∣∣∣ ≈ 0,00010005... (2.13)

Page 80: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

temos que o erro na saída será aproximadamente∣∣∣∣∣∆yy∣∣∣∣∣ ≈ κf (x)

∣∣∣∣∣∆xx∣∣∣∣∣ ≈ 1998,5× 0,00010005... ≈ 0,1999 (2.14)

ou seja um erro relativo de aproximadamente 19,99%.Note que se usarmos x1 = 0,9994 e x2 = 0,9996 (ambos no intervalodo erro absoluto da entrada) encontramos

y∗1 ≈ 8335,83 (2.15)y∗2 ≈ 12520,50 (2.16)

confirmando a estimativa de 19,99%.Exemplo 31. O número 1

3 = 0,3 possui um representação infinitatanto na base decimal quanto na base binária. Logo, quando repre-sentamos ele no computador geramos um erro de arredondamentoque denotaremos por ε. Agora considere a seguinte sequência: x0 = 1

3

xn+1 = 4xn − 1, n ∈ N.

Page 81: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observe que x0 = 13 , x1 = 4 · 1

3 − 1 = 13 , x2 = 1

3 , ou seja, temos umasequência constante igual a 1

3 . Se calcularmos no computador essasequência, temos que incluir os erros de arredondamento, ou seja,

x0 = 13 + ε

x1 = 4x0 − 1 = 4(1

3 + ε)− 1 = 1

3 + 4ε

x2 = 4x1 − 1 = 4(1

3 + 4ε)− 1 = 1

3 + 42ε

...xn = 1

3 + 4nε

Portanto o limite da sequência diverge,

limx→∞|xn| =∞

Qual o número de condicionamento desse problema?Faça o teste no Scilab, colocando:

Page 82: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->x = 1/3

e itere algumas vezes a linha de comando:

-->x = 4*x-1

Exemplo 32. Seja f(x) = x exp(x). Calcule o erro absoluto em secalcular f(x) sabendo que x = 2± 0,05.

Solução. Temos que x ≈ 2 com erro absoluto de δx = 0,05. Nestecaso, calculamos δf , i.e. o erro absoluto em se calcular f(x), por:

δf = |f ′(x)|δx.

Como f ′(x) = (1 + x)ex, temos:

δf = |(1 + x)ex| · δx= |3e2| · 0,05 = 1,1084.

Portanto, o erro absoluto em se calcular f(x) quando x = 2± 0,05é de 1,084. ♦

Page 83: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 33. Calcule o erro relativo ao medir f(x,y) = x2+1x2 e2y

sabendo que x ≈ 3 é conhecido com 10% de erro e y ≈ 2 é conhecidocom 3% de erro.

Solução. Calculamos as derivadas parciais de f :

∂f

∂x= 2x3 − (2x3 + 2x)

x4 e2y = −2e2y

x3

e∂f

∂y= 2x

2 + 1x2 e2y

Calculamos o erro absoluto em termos do erro relativo:

δx|x|

= 0,1⇒ δx = 3 · 0,1 = 0,3

δy|y|

= 0,03⇒ δy = 2 · 0,03 = 0,06

Page 84: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Aplicando a expressão para estimar o erro em f temos

δf =∣∣∣∣∣∂f∂x

∣∣∣∣∣ δx +∣∣∣∣∣∂f∂y

∣∣∣∣∣ δy= 2e4

27 · 0,3 + 29 + 19 e4 · 0,06 = 8,493045557

Portanto, o erro relativo ao calcular f é estimado por

δf

|f |= 8,493045557

9+19 e4 = 14%

Exemplo 34. No exemplo anterior, reduza o erro relativo em xpela metade e calcule o erro relativo em f . Depois, repita o processoreduzindo o erro relativo em y pela metade.

Solução. Na primeira situação temos x = 3 com erro relativo de5% e δx = 0,05 · 3 = 0,15. Calculamos δf = 7,886399450 e o erro

Page 85: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

relativo em f de 13%. Na segunda situação, temos y = 2 com errode 1,5% e δy = 2 · 0,015 = 0,03. Calculamos δf = 4,853168892 e oerro relativo em f de 8%. Observe que mesma o erro relativo em xsendo maior, o erro em y é mais significante na função. ♦

Exemplo 35. Considere um triângulo retângulo onde a hipotenusae um dos catetos são conhecidos a menos de um erro: hipotenusaa = 3 ± 0,01 metros e cateto b = 2 ± 0,01 metros. Calcule o erroabsoluto ao calcular a área dessa triângulo.Solução. Primeiro vamos encontrar a expressão para a área emfunção da hipotenusa a e um cateto b. A tamanho de segundocateto c é dado pelo teorema de Pitágoras, a2 = b2 + c2, ou seja,c =√a2 − b2. Portanto a área é

A = bc

2 = b√a2 − b2

2 .

Agora calculamos as derivadas∂A

∂a= ab

2√a2 − b2

,

Page 86: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

∂A

∂b=√a2 − b2

2 − b2

2√a2 − b2

,

e substituindo na estimativa para o erro δA em termos de δa = 0,01e δb = 0,01:

δA ≈∣∣∣∣∣∂A∂a

∣∣∣∣∣ δa +∣∣∣∣∣∂A∂b

∣∣∣∣∣ δb≈ 3

√5

5 · 0,01 +√

510 · 0,01 = 0,01565247584

Em termos do erro relativo temos erro na hipotenusa de 0,013 ≈

0,333%, erro no cateto de 0,012 = 0,5% e erro na área de

0,015652475842√

32−22

2

= 0,7%

Page 87: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 2.6.1. Considere que a variável x ≈ 2 é conhecida com um errorelativo de 1% e a variável y ≈ 10 com um erro relativo de 10%.Calcule o erro relativo associado a z quando:

z = y4

1 + y4 ex.

Suponha que você precise conhecer o valor de z com um erro de0,5%. Como engenheiro, você propõe uma melhoria na medição davariável x ou y? Explique.

E 2.6.2. A corrente I em ampères e a tensão V em volts em umalâmpada se relacionam conforme a seguinte expressão:

I =(V

V0

)α,

onde α é um número entre 0 e 1 e V0 é tensão nominal em volts.Sabendo que V0 = 220± 3% e α = −,8± 4%, calcule a corrente e o

Page 88: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

erro relativo associado quando a tensão vale 220± 1%.Obs:. Este problema pode ser resolvido de duas formas distintas:usando a expressão aproximada para a propagação de erro e ins-pecionando os valores máximos e mínimos que a expressão podeassumir. Pratique os dois métodos.

E 2.6.3. A corrente I em ampères e a tensão V em volts em umalâmpada se relacionam conforme a seguinte expressão:

I =(V

V0

Onde α é um número entre 0 e 1 e V0 é a tensão nominal em volts.Sabendo que V0 = 220 ± 3% e α = 0,8 ± 4% Calcule a correntee o erro relativo associado quando a tensão vale 220 ± 1%. Dica:lembre que xα = eα ln(x)

E 2.6.4. Obtenha os valores de Id no problema 3.2.8. Lembre que

Page 89: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

existem duas expressões disponíveis:

Id = IR

(exp

(vdvt

)− 1

)e

Id = v − vdR

Faça o estudo da propagação do erro e decida qual a melhor expres-são em cada caso.

Page 90: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2.7 Mais exemplos

Exemplo 36. Observe a seguinte identidade

f(x) = (1 + x)− 1x

= 1

Calcule o valor da expressão à esquerda para x = 10−12, x = 10−13,x = 10−14, x = 10−15, x = 10−16 e x = 10−17. Observe que quandox se aproxima do ε de máquina a expressão perde o significado. Vejaabaixo o gráfico de f(x) em escala logarítmica.

Page 91: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 37. Neste exemplo, estamos interessados em compreen-der mais detalhadamente o comportamento da expressão(

1 + 1n

)n(2.17)

Page 92: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

quando n é um número grande ao computá-la em sistemas de nu-meral de ponto flutuante com acurácia finita. Um resultado bemconhecido do cálculo nos diz que o limite de (2.17) quando n tendea infinito é o número de Euler:

limn→∞

(1 + 1

n

)n= e = 2,718281828459... (2.18)

Sabemos também que a sequência produzida por (2.17) é crescente,isto é:

(1 + 1

1

)1<(

1 + 12

)2<(

1 + 13

)3< · · ·

No entanto, quando calculamos essa expressão no Scilab, nos de-

Page 93: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

frontamos com o seguinte resultado:

n(1 + 1

n

)nn

(1 + 1

n

)n

1 2,0000000000000 102 2,7048138294215

2 2,2500000000000 104 2,7181459268249

3 2,3703703703704 106 2,7182804690957

4 2,4414062500000 108 2,7182817983391

5 2,4883200000000 1010 2,7182820532348

6 2,5216263717421 1012 2,7185234960372

7 2,5464996970407 1014 2,7161100340870

8 2,5657845139503 1016 1,0000000000000

9 2,5811747917132 1018 1,0000000000000

10 2,5937424601000 1020 1,0000000000000

Page 94: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Podemos resumir esses dados no seguinte gráfico de(1 + 1

n

)nem

função de n:

Observe que quando x se torna grande, da ordem de 1015, o grá-

Page 95: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

fico da função deixa de se crescente e apresenta oscilações. Observetambém que a expressão se torna identicamente igual a 1 depoisde um certo limiar. Tais fenômenos não são intrínsecos da funçãof(x) = (1 + 1/x)x, mas oriundas de erros de arredondamento,isto é, são resultados numéricos espúrios. A fim de pôr o compor-tamento numérico de tal expressão, apresentamos abaixo o gráficoda mesma função, porém restrito à região entre 1014 e 1016.

Page 96: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

¨

Para compreendermos melhor por que existe um limiar N que,

Page 97: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

quando atingido torna a expressão do exemplo acima identicamenteigual a 1, observamos a sequência de operações realizadas pelo com-putador:

x → 1/x → 1 + 1/x → (1 + 1/x)x (2.19)Devido ao limite de precisão da representação de números em pontoflutuante, existe um menor número representável que é maior doque 1. Este número é 1+eps, onde eps é chamado de épsilon demáquina e é o menor número que somado a 1 produz um resul-tado superior a 1 no sistema de numeração usado. O épsilon demáquina no sistema de numeração double vale aproximadamente2,22 × 10−16. No Scilab, o epsilon de máquina é a constante eps.Observe que:

-->1+%epsans =

1.0000000000000002220446

Quando somamos a 1 um número positivo inferior ao épsilon demáquina, obtemos o número 1. Dessa forma, o resultado obtido

Page 98: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

pela operação de ponto flutuante 1 + x para 0 < x < 2,22 × 10−16

é 1.Portanto, quando realizamos a sequência de operações dada em(2.19), toda informação contida no número x é perdida na somacom 1 quando 1/x é menor que o épsilon de máquina, o que ocorrequando x > 5 × 1015. Assim (1 + 1/x) é aproximado para 1 e aúltima operação se resume a 1x, o que é igual a 1 mesmo quando xé grande.Um erro comum é acreditar que o perda de significância se deveao fato de 1/x ser muito pequeno para ser representado e é aproxi-mando para 0. Isto é falso, o sistema de ponto de flutuante permiterepresentar números de magnitude muito inferior ao épsilon de má-quina. O problema surge da limitação no tamanho da mantissa.Observe como a seguinte sequência de operações não perde signi-ficância para números positivos x muito menores que o épsilon demáquina:

x → 1/x → 1/(1/x) (2.20)compare o desempenho numérico desta sequência de operações para

Page 99: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

valores pequenos de x com o da seguinte sequência:

x → 1 + x → (1 + x)− 1. (2.21)

Finalmente, notamos que quando tentamos calcular(1 + 1

n

)npara

n grande, existe perda de significância no cálculo de 1 + 1/n. Paraentendermos isso melhor, vejamos o que acontece no Scilab quandon = 7× 1013:

-->n=7e13n =

7.000000000000000000D+13

-->1/nans =

1.428571428571428435D-14

-->y=1+1/ny =

Page 100: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

1.000000000000014211D+00

Observe a perda de informação ao deslocar a mantissa de 1/n. Paraevidenciar o fenômenos, observamos o que acontece quando tenta-mos recalcular n subtraindo 1 de 1 + 1/n e invertendo o resultado:

-->y-1ans =

1.421085471520200372D-14

-->1/(y-1)ans =

7.036874417766400000D+13

Exemplo 38 (Analogia da balança). Observe a seguinte compa-ração interessante que pode ser feita para ilustrar os sistemas denumeração com ponto fixo e flutuante: o sistema de ponto fixo écomo uma balança cujas marcas estão igualmente espaçadas; o sis-tema de ponto flutuante é como uma balança cuja distância entre

Page 101: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

as marcas é proporcional à massa medida. Assim, podemos teruma balança de ponto fixo cujas marcas estão sempre distanciadasde 100g (100g, 200g, 300g, ..., 1Kg, 1,1Kg,...) e outra balança deponto flutuante cujas marcas estão distanciadas sempre de aproxi-madamente um décimo do valor lido (100g, 110g, 121g, 133g, ...,1Kg, 1,1Kg, 1,21Kg, ...) A balança de ponto fixo apresenta umaresolução baixa para pequenas medidas, porém uma resolução altapara grandes medidas. A balança de ponto flutuante distribui aresolução de forma proporcional ao longo da escala.Seguindo nesta analogia, o fenômeno de perda de significância podeser interpretado como a seguir: imagine que você deseje obter opeso de um gato (aproximadamente 4Kg). Dois processos estão dis-poníveis: colocar o gato diretamente na balança ou medir seu pesocom o gato e, depois, sem o gato. Na balança de ponto flutuante,a incerteza associada na medida do peso do gato (sozinho) é apro-ximadamente 10% de 4Kg, isto é, 400g. Já a incerteza associada àmedida da uma pessoa (aproximadamente 70Kg) com o gato é de10% do peso total, isto é, aproximadamente 7Kg. Esta incerteza é

Page 102: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

da mesma ordem de grandeza da medida a ser realizada, tornado oprocesso impossível de ser realizado, já que teríamos uma incertezada ordem de 14Kg (devido à dupla medição) sobre uma grandezade 4Kg.

Page 103: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 2.7.1. Considere as expressões:

exp(1/µ)1 + exp(1/µ)

e1

exp(−1/µ) + 1com µ > 0. Verifique que elas são idênticas como funções reais.Teste no computador cada uma delas para µ = 0,1, µ = 0,01 eµ = 0,001. Qual dessas expressões é mais adequada quando µ é umnúmero pequeno? Por quê?

E 2.7.2. Encontre expressões alternativas para calcular o valor dasseguintes funções quando x é próximo de zero.

a) f(x) = 1−cos(x)x2

Page 104: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) g(x) =√

1 + x− 1

c) h(x) =√x+ 106 − 103

d) i(x) =√

1 + ex −√

2 Dica: Faça y = ex − 1

E 2.7.3. Use uma identidade trigonométrica adequada para mos-trar que:

1− cos(x)x2 = 1

2

(sin(x/2)x/2

)2

.

Analise o desempenho destas duas expressões no computador quandox vale 10−5, 10−6, 10−7, 10−8, 10−9, 10−200 e 0. Discuta o resultado.Dica: Para |x| < 10−5, f(x) pode ser aproximada por 1/2− x2/24com erro de truncamento inferior a 10−22.

E 2.7.4. Reescreva as expressões:√e2x + 1− ex e

√e2x + x2 − ex

Page 105: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

de modo que seja possível calcular seus valores para x = 100 utili-zando a aritmética de ponto flutuante ("Double") no computador.

E 2.7.5. Na teoria da relatividade restrita, a energia cinética deuma partícula e sua velocidade se relacionam pela seguinte fórmula:

E = mc2

1√1− (v/c)2

− 1 ,

onde E é a energia cinética da partícula, m é a massa de repouso,v o módulo da velocidade e c a velocidade da luz no vácuo dadapor c = 299792458m/s. Considere que a massa de repouso m =9,10938291 × 10−31Kg do elétron seja conhecida com erro relativode 10−9. Qual é o valor da energia e o erro relativo associado a essagrandeza quando v = 0,1c, v = 0,5c, v = 0,99c e v = 0,999c sendoque a incerteza relativa na medida da velocidade é 10−5?

E 2.7.6. Deseja-se medir a concentração de dois diferentes oxi-dantes no ar. Três sensores eletroquímicos estão disponíveis para a

Page 106: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

medida e apresentam a seguintes respostas:

v1 = 270[A] + 30[B], v2 = 140[A] + 20[B] e v3 = 15[A] + 200[B]

as tensões v1, v2 e v3 são dadas em mV e as concentrações emmilimol/l.

a) Encontre uma expressão para os valores de [A] e [B] em termosde v1 e v2 e, depois, em termos de v1 e v3. Dica: Se ad 6= bc,então a matriz A dada por

A =

a b

c d

é inversível e sua inversa é dada por

A−1 = 1ad− bc

d −b

−c a

.

Page 107: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) Sabendo que incerteza relativa associada às sensibilidades dossensores 1 e 2 é de 2% e que a incerteza relativa associadaàs sensibilidades do sensor 3 é 10%, verifique a incerteza as-sociada à medida feita com o par 1 − 2 e o par 1 − 3. Use[A] = [B] = 10milimol/l. Dica: Você deve diferenciar asgrandezas [A] e [B] em relação aos valores das tensões.

]

Page 108: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 3

Solução de equações deuma variável

Neste capítulo buscaremos aproximações numéricas para raízes defunções de uma variável que são continuamente diferenciáveis.

101

Page 109: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.1 Existência de raízes reaisPodemos utilizar o teorema do valor intermediário para determinara existência de raiz real em um intervalo.

Teorema 1 (Teorema do Valor Intermediário). Se f : [a,b] →R é um função contínua e K for um número entre f(a) e f(b),então existe c ∈ (a,b) para o qual f(c) = K.

Em particular, se f(a) > 0 e f(b) < 0, então 0 ∈ [f(b),f(a)] epodemos garantir a existência de c ∈ (a,b) tal que f(c) = 0, i.e.existe uma raiz no intervalo (a,b). A mesma afirmação é válida sef(a) < 0 e f(b) > 0. Em outras palavras, o Teorema do ValorIntermediário afirma que uma função contínua não pode mudar desinal sem passar por zero.Exemplo 39. Mostre que existe pelo menos uma solução da equa-ção ex = x+ 2 no intervalo (−2,0).De fato, se tomarmos f(x) = ex − x − 2, então f(0) = 1 − 2 < 0e f(−2) = e−2 + 2 − 2 > 0. Pelo teorema do valor intermediário,

Page 110: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Figura 3.1: Teorema do valor intermediário

existe c ∈ (−2,0) tal que f(c) = 0, ou seja, existe pelo menos umasolução nesse intervalo.

Quando procuramos aproximações para raízes de funções, precisa-mos inicialmente isolar cada raiz em um intervalo onde a raiz é

Page 111: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

única. Ou seja, precisamos garantir a existência e a unicidade daraiz dentro daquele intervalo.Para garantirmos que exista uma única raiz num intervalo é neces-sário que a função troque de sinal e seja monótona neste intervalo.

Teorema 2. Se f : [a,b]→ R é um função diferenciável, f(a) ·f(b) < 0 e f ′(x) > 0 (ou f ′(x) < 0) para x ∈ (a,b), então existeuma única raiz c em (a,b).

Em outras palavras, se a função corta o eixo x e é sempre crescente(ou sempre decrescente), então a raiz é única.

Exemplo 40. Observamos que existe uma única solução da equaçãoex = x + 2 no intervalo (−2, 0). A existência foi estabelecida noexemplo anterior. Para garantir a unicidade, observe que f ′(x) =ex − 1 e, portanto, f ′(x) < 0 para x ∈ (−2, 0). Logo a raiz é única.Podemos inspecionar o comportamento da função f(x) = ex − x−2 e de sua derivada fazendo seus gráficos no Scilab. Para tanto,podemos fazer o seguinte teste:

Page 112: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->x = linspace(-2,0,50);-->deff('y = f(x)','y=exp(x)-x-2') // define f-->plot(x,f(x)) // grafico de f-->deff('y = fl(x)','y=exp(x)-1') // a derivada-->plot(x,fl(x)) // grafico de f'

Page 113: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 3.1.1. Mostre que a equação

ln(x) + x3 − 1x

= 10

possui uma única solução positiva. Faça o gráfico e observe.

E 3.1.2. Use o teorema do valor intermediário para mostrar que oerro absoluto ao aproximar a raiz da função f(x) = ex − x− 2 porx = −1,841 é menor que 10−3.

E 3.1.3. Aplique o teorema do valor intermediário a um intervaloadequado e mostre que o erro absoluto associado à aproximação1,962 para a solução exata x∗ de:

ex + sin(x) + x = 10

é inferior a 10−4.

Page 114: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.1.4. Mostre que a equação

ln(x) + x− 1x

= v

possui uma solução para cada v real e que esta solução é única.

Page 115: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.2 Método da bisseção

Suponha que a função f : [a,b] → R seja contínua e que f(a) ·f(b) < 0, ou seja, f possui uma raiz no intervalo. Uma primeiraaproximação para a raiz pode ser o ponto médio p = a+b

2 .Se f(p)·f(a) < 0, então a raiz está a esquerda de p, senão, a raiz estáa direita de p (veja Fig. 3.2). Depois de escolher o intervalo correto,fazemos uma nova aproximação para a raiz tomando o ponto médiodo novo intervalo.Em outras palavras, seja (a(0),b(0)) = (a,b) o intervalo inicial ep(0) = a(0)+b(0)

2 a aproximação inicial. Se f(p(0)) · f(a(0)) < 0, então(a(1), b(1)) = (a(0), p(0)), caso contrário, (a(1), b(1)) = (p(0), b(0)). Anova aproximação para a raiz é p(1) = a(1)+b(1)

2 . Esse procedimentoproduz uma sequência p(n) que converge para a raiz.

Exemplo 41. Faça 5 iterações do método da bisseção para encon-

Page 116: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Figura 3.2: Método da bisseção.

trar a raiz de f(x) = x3 + 5x2 − 12 utilizando a(0) = 1 e b(0) = 2.

n a(n) b(n) p(n) f(a(n)) f(b(n)) f(p(n))

0 a(0) = 1 b(0) = 2 p(0) = 1,5 −6 16 2,625

1 a(1) = 1 b(1) = p1 = 1,5 p(1) = 1,25 −6 2,625 −2,234375

2 a(2) = 1,25 b(2) = 1,5 p(2) = 1,375

3

4

5

Page 117: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

No console do Scilab, temos:

-->deff('y=f(x)','y = x^3 + 5*x^2 - 12')-->//iteracao 0-->a=1; b=2; p=(a+b)/2;-->[a,b,p,f(a),f(b),f(p)]ans =

1. 2. 1.5 - 6. 16. 2.625-->//iteracao 1-->b = p; p = (a+b)/2;-->[a,b,p,f(a),f(b),f(p)]ans =

1. 1.5 1.25 - 6. 2.625 - 2.234375

Observe que a distância entre p(0) e a raiz p∗ não pode excedermetade do intervalo, ou seja |p(0) − p∗| ≤ b−a

2 . Da mesma forma,o erro absoluto entre p(1) e p∗ é menor que 1

4 do intervalo, isto é,|p(1) − p∗| ≤ b−a

22 . De modo geral, o erro absoluto na iteração n é

Page 118: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

estimado por|p(n) − p∗| ≤ b− a

2n+1 , n ≥ 1.

Também, se εn := |p(n) − p∗|, então vale:

εn+1 ≤12 (εn)1

e, por isso, dizemos que o método da bisseção possui taxa de con-vergência linear. Um método com taxa de convergência super-linearsatisfaz

εn+1 ≤ C (εn)m ,onde m > 1 e C é uma constante.Exemplo 42. Determine quantas iterações são necessárias paraencontrar a raiz de f(x) = x3 + 5x2−12 com uma precisão de 10−3,utilizando a(0) = 1 e b(0) = 2.Observe que precisamos da seguinte desigualdade

|p(n) − p∗| ≤ b− a2n+1 = 1

2n+1 ≤ 10−3.

Page 119: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Assim,log2 2−(n+1) ≤ log2 10−3

ou seja,

−(n+1) log2 2 ≤ −3 log2(10)⇒ n+1 ≥ 3 log2(10) ≈ 9,97⇒ n ≈ 8,97

Portanto, n ≥ 9.

Page 120: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.2.1 Código Scilab: método da bisseçãoO seguinte código é uma implementação no Scilab do algoritmo dabisseção. As variáveis de entrada são:

• f - função objetivo

• a - extremo esquerdo do intervalo de inspeção [a, b]

• b - extremo direito do intervalo de inspeção [a, b]

• TOL - tolerância (critério de parada)

• N - número máximo de iterações

A variável de saída é:

• p - aproximação da raiz de f, i.e. f(p) ≈ 0.

function [p] = bissecao(f, a, b, TOL, N)i = 1

Page 121: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

fa = f(a)while (i <= N)

//iteracao da bissecaop = a + (b-a)/2fp = f(p)//condicao de paradaif ((fp == 0) | ((b-a)/2 < TOL)) then

return pend//bissecta o intervaloi = i+1if (fa * fp > 0) then

a = pfa = fp

elseb = p

endend

Page 122: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

error ('Num. max. de iter. excedido!')endfunction

Page 123: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 3.2.1. Mostre que a equação do problema 3.1.4 possui umasolução no intervalo [1, v + 1] para todo v positivo. Dica: definaf(x) = ln(x) + x− 1

x− v e considere a seguinte estimativa:

f(v + 1) = f(1) +∫ v+1

1f ′(x)dx ≥ −v +

∫ v+1

1dx = 0.

Use esta estimativa para iniciar o método de bisseção e obtenha ovalor da raiz com pelo menos 6 algarismos significativos para v =1, 2, 3, 4 e 5.

E 3.2.2. Trace o gráfico e isole as três primeiras raízes positivasda função:

f(x) = 5 sin(x2)− exp(x

10

)em intervalos de comprimento 0,1.

Page 124: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.2.3. Utilize o método da bisseção na equação√x = cos(x)

para encontrar p(4) em [a,b] = [0, 1].

E 3.2.4. Considere o seguinte problema físico: uma plataformaestá fixa a uma parede através de uma dobradiça cujo momento édado por:

τ = kθ,

onde θ é angulo da plataforma com a horizontal e k é uma constantepositiva. A plataforma é feita de material homogêneo, seu peso éP e sua largura é l. Modele a relação entre o ângulo θ e o peso Ppróprio da plataforma. Encontre o valor de θ quando l = 1 m, P =200 N, k = 50 Nm/rad, sabendo que o sistema está em equilíbrio.Use o método da bisseção e expresse o resultado com 4 algarismossignificativos.

E 3.2.5. Interprete a equação cos(x) = kx como o problema deencontrar a intersecção da curva y = cos(x) com y = kx. Encontreo valor positivo k para o qual essa equação admite exatamente duas

Page 125: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

raízes positivas distintas.

E 3.2.6. Considere a equação de Lambert dada por:

xex = t,

onde t é um número real positivo. Mostre que esta equação pos-sui uma única solução x∗ que pertence ao intervalo [0, t]. Usandoesta estimativa como intervalo inicial, quantos passos são necessáriopara obter o valor numérico de x∗ com erro absoluto inferior a 10−6

quando t = 1, t = 10 e t = 100 através do método da bisseção?Obtenha esses valores.

E 3.2.7. O polinômio f(x) = x4− 4x2 + 4 possui raízes duplas em√2 e −

√2. O método da bisseção pode ser aplicados a f? Explique.

E 3.2.8. O desenho abaixo mostra um circuito não linear envol-vendo uma fonte de tensão constante, um diodo retificador e umresistor. Sabendo que a relação entre a corrente (Id) e a tensão (vd)

Page 126: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

no diodo é dada pela seguinte expressão:

Id = IR

(exp

(vdvt

)− 1

),

onde IR é a corrente de condução reversa e vt, a tensão térmica dadapor vt = kT

qcom k, a constante de Boltzmann, T a temperatura

de operação e q, a carga do elétron. Aqui IR = 1pA = 10−12 A,T = 300 K. Escreva o problema como uma equação na incógnitavd e, usando o método da bisseção, resolva este problema com 3algarismos significativos para os seguintes casos:

Page 127: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) V = 30 V e R = 1 kΩ.

b) V = 3 V e R = 1 kΩ.

c) V = 3 V e R = 10 kΩ.

d) V = 300 mV e R = 1 kΩ.

e) V = −300 mV e R = 1 kΩ.

f) V = −30 V e R = 1 kΩ.

g) V = −30 V e R = 10 kΩ.Dica: V = RId + vd.

Page 128: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.3 Iteração de Ponto FixoVamos analisar o método babilônico para extração da raiz quadradade um número positivo A usando operações de soma, subtração,divisão e multiplicação.Seja r > 0 uma aproximação para

√A. Temos três possibilidades:

• r >√A =⇒ A

r<√A =⇒

√A ∈

(Ar,r)

• r =√A =⇒ A

r=√A

• r <√A =⇒ A

r>√A =⇒

√A ∈

(r,Ar

)Ou seja, uma aproximação melhor para

√A está no intervalo entre

r e Arque pode ser aproximada como

x =r + A

r

2

Page 129: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Aplicando esse método repetidas vezes, podemos construir a itera-ção

x(1) = r

x(n+1) = x(n)

2 + A

2x(n) , n = 1,2,3,...

Exemplo 43. Para obter uma aproximação para√

5, podemos ini-ciar com a aproximação inicial r = 2 e A = 5.Temos que

x(1) = 2

e a partir da iteração

x(n+1) = x(n)

2 + 2,5x(n)

Page 130: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

obtemos

x(2) =22 + 2,5

2 = 1 + 1,25 = 2,25

x(3) =2,252 + 2,5

2,25 = 2,2361111

x(4) =2,23611112 + 2,5

2,2361111 = 2,236068

x(5) =2,2360682 + 2,5

2,236068 = 2,236068

Exemplo 44. Para obter uma aproximação para√

10, podemosiniciar com r = 1 e A = 10.Assim

x(1) = 1

e a partir de

x(n+1) = x(n)

2 + 5x(n)

Page 131: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

obtemos

x(2) = 12 + 5

1 = 0,5 + 5 = 5,5

x(3) = 5,52 + 5

5,5 = 3,6590909

x(4) = 3,65909092 + 5

3,6590909 = 3,1960051

x(5) = 3,19600512 + 5

3,1960051 = 3,1624556

x(6) = 3,16245562 + 5

3,1624556 = 3,1622777

x(7) = 3,16227772 + 5

3,1622777 = 3,1622777

A experimentação numérica sugere que o método funciona, massurgem três perguntas:

1. Será que a sequência é convergente?

Page 132: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2. Caso seja convergente, será que o limite x∗ = limn→∞ xn éigual a

√A?

3. Caso seja convergente, quão rápida é a convergência?

A segunda pergunta é a mais fácil de ser respondida.Supondo que o limite de xn exista, basta substituir x∗ na iteração:

limn→∞

x(n+1) = limn→∞

x(n)

2 + limn→∞

A

2x(n)

x∗ = x∗

2 + A

2x∗x∗

2 = A

2x∗

x∗ = A

x∗

(x∗)2 = A

x∗ =√A

Page 133: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portanto, sempre que esse método converge, temos a garantia deque o limite é

√A. (Independente do valor inicial!)

De fato, podemos provar que o método é convergente para qualquervalor inicial positivo x. E, ainda, que a convergência é rápida (aindaprecisamos definir isso).Para responder essas perguntas, devemos formalizar o conceito deponto fixo. Antes disso, analisemos mais um exemplo:

Exemplo 45. Queremos resolver a equação

xex = 10.

Observe que este problema é equivalente a resolver

x = ln(10x

)ou

x = 10e−x.A partir dessas duas equações podemos propor dois processos ite-rativos diferentes:

Page 134: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) x(n+1) = ln( 10x(n)

)

b) x(n+1) = 10e−x(n)

Supondo que x(1) = 1 é uma aproximação inicial para a solução

Page 135: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

deste problema, iterando a primeira equação temos

x(1) = 1x(2) = ln (10) = 2,3025851

x(3) = ln(

102,3025851

)= 1,4685526

x(4) = ln(

101,4685526

)= 1,9183078

x(5) = ln(

101,9183078

)= 1,6511417

...x(11) = 1,7421335x(21) = 1,7455151x(31) = 1,745528x(32) = 1,745528

Page 136: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Iterando a segunda equação obtemos a sequência

x(1) = 1x(2) = 10e−1 = 3,6787944x(3) = 10e−3,6787944 = 0,2525340x(4) = 10e−0,2525340 = 7,7682979x(5) = 10e−7,7682979 = 0,0042293x(6) = 10e−0,0042293 = 9,9577961

O experimento numérico sugere que a iteração a converge para1,745528... e a iteração b não é convergente.Note que queríamos resolver a equação f(x) = xex−10 = 0. Ao in-vés disso, transformamos essa equação em uma equação de iteraçãodo tipo

x(n+1) = g(x(n))

e iteramos até encontrar p tal que g(p) = p.

Page 137: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.3.1 O método do ponto fixo

Definição 6. Dizemos que p é um ponto fixo de uma funçãog se g(p) = p.

Definição 7. Uma contração é uma função real g : [a,b] →[a,b] tal que

|g(x)− g(y)| ≤ β|x− y|, 0 ≤ β < 1.

Observação 8. A desigualdade |g(x)− g(y)| ≤ β|x− y| implicaque g é contínua.Assim, g é uma contração em [a,b] se |g′(x)| < 1 para a < x < b.

Page 138: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Teorema 3. Se g : [a,b]→ [a,b] é uma contração, então existeum único ponto fixo p ∈ [a,b] tal que g(p) = p.Além disso, a sequência

x(n+1) = g(x(n))

é convergente para qualquer x1 ∈ [a,b] e

limn→∞

x(n) = p.

Demonstração. Começamos demonstrando que existe pelo menosum ponto fixo. Para tal definimos a função f(x) = x − g(x) eobservamos que

f(a) = a− g(a) ≤ a− a = 0

ef(b) = b− g(b) ≥ b− b = 0

Page 139: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Se f(a) = a ou f(b) = b, então o ponto fixo existe. Caso contrário,as desigualdade são estritas e a função muda de sinal no intervalo.Como a função é contínua, pelo teorema do valor intermediário,existe um ponto x∗ no intervalo (a,b) tal que f(x∗) = 0, ou seja,x∗−g(x∗) = 0. Observe que x∗ é um ponto fixo de g, pois g(x∗) = x∗.Para provar que o ponto fixo é único, observamos que se x∗ e x∗∗são pontos fixos, eles devem ser iguais, pois:

|x∗ − x∗∗| = |g(x∗)− g(x∗∗)| ≤ β|x∗ − x∗∗|

A desigualdade |x∗−x∗∗| ≤ β|x∗−x∗∗| com β < 1 implica |x∗−x∗∗| =0.

Para demonstrar a convergência da sequência, observamos a relação

|x(n+1) − x∗| = |g(x(n))− x∗| = |g(x(n))− g(x∗)| ≤ β|x(n) − x∗|.

Agora observamos que

|x(n) − x∗| ≤ β|x(n−1) − x∗| ≤ β2|x(n−2) − x∗| ≤ · · · ≤ βn|x(0) − x∗|.

Page 140: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portantolimn→∞

|x(n) − x∗| = 0

elimn→∞

x(n) = x∗

Observações:

• A condição |g(x) − g(y)| ≤ β|x − y| é satisfeita sempre que|g′(x)| ≤ β < 1 em todo o intervalo pois

|g(x)− g(y)| =∣∣∣∣∫ y

xg′(s) ds

∣∣∣∣ ≤ ∫ y

x|g′(s)| ds

≤∫ y

xβ ds = β|x− y|, x < y.

• A desigualdade estrita β < 1 é necessária.

• A condição f([a,b]) ⊆ [a,b] é necessária.

Page 141: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.3.2 Teste de convergênciaSeja g : [a,b] uma função C0[a,b] e x∗ ∈ (a,b) um ponto fixo de g.Então x∗ é dito estável se existe uma região (x∗−δ,x∗+δ) chamadabacia de atração tal que x(n+1) = g(x(n)) é convergente sempre quex(0) ∈ (x∗ − δ,x∗ + δ).

Teorema 4. Se g ∈ C1[a,b] e |g′(x∗)| < 1, então x∗ é estável.Se |g′(x∗)| > 1 é instável e o teste é inconclusivo se |g′(x∗)| = 1.

Exemplo 46. Considere o problema de encontrar a solução daequação algébrica

cos(x) = x

vendo-a como o ponto fixo da função

f(x) = cos(x).

Mostraremos que o teorema do ponto fixo se aplica a esta funçãocom [a,b] = [1/2,1].

Page 142: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Precisamos provar:

1. f ([1/2,1]) ⊆ [1/2,1];

2. |f ′(x)| < β, β < 1, ∀x ∈ [1/2,1].

Para provar o item 1, observamos que f(x) é decrescente no inter-valo, pelo que temos:

0,54 < cos(1) ≤ cos(x) ≤ cos(1/2) < 0,88

Como [0,54, 0,88] ⊆ [0,5, 1], temos o item a.Para provar o item 2, observamos que

f ′(x) = − sin(x)

Da mesma forma, temos a estimativa:

−0,85 < − sin(1) ≤ − sin(x) ≤ − sin(1/2) < −0,47

Assim, |f ′(x)| < 0,85 temos a desigualdade com β = 0,85 < 1.

Page 143: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Agora, observamos o comportamento numérico da sequência:

x(n+1) = cos(x(n)), n ≥ 0

x(0) = 1

Os primeiros termos podem ser calculados numericamente e são

Page 144: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

dados por:x(1) = cos(x0) = cos(1) = 0,5403023x(2) = cos(x1) = cos(0,5403023) = 0,8575532x(3) = cos(x2) = cos(0,8575532) = 0,6542898x(4) = cos(x3) = cos(0,6542898) = 0,7934804x(5) = cos(x4) = cos(0,7934804) = 0,7013688x(6) = cos(x5) = cos(0,7013688) = 0,7639597x(7) = cos(x6) = cos(0,7639597) = 0,7221024x(8) = cos(x7) = cos(0,7221024) = 0,7504178x(9) = cos(x8) = cos(0,7504178) = 0,7314040x(10) = cos(x9) = cos(0,7314040) = 0,7442374x(11) = cos(x10) = cos(0,7442374) = 0,7356047x(12) = cos(x11) = cos(0,7356047) = 0,7414251x(13) = cos(x12) = cos(0,7414251) = 0,7375069

...x(41) = cos(x40) = cos(0,7390852) = 0,7390851x(42) = cos(x41) = cos(0,7390851) = 0,7390851x(43) = cos(x42) = cos(0,7390851) = 0,7390851

Page 145: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.3.3 Estabilidade e convergênciaA fim de compreendermos melhor os conceitos de estabilidade econvergência, considere uma função Φ(x) com um ponto fixo x∗ =g(x∗) e analisemos o seguinte processo iterativo:

x(n+1) = g(x(n)

)x(0) = x

Vamos supor que a função g(x) pode ser aproximada por seu po-linômio de Taylor em torno do ponto fixo:

g(x) = g(x∗) + (x− x∗)g′(x∗) +O((x− x∗)2

), n ≥ 0

= x∗ + (x− x∗)g′(x∗) +O((x− x∗)2

)≈ x∗ + (x− x∗)g′(x∗)

Substituindo na relação de recorrência, temos

x(n+1) = g(x(n)

)≈ x∗ + (x(n) − x∗)g′(x∗)

Page 146: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Ou seja: (x(n+1) − x∗

)≈ (x(n) − x∗)g′(x∗)

Tomando módulos, temos:∣∣∣x(n+1) − x∗∣∣∣︸ ︷︷ ︸

εn+1

≈∣∣∣x(n) − x∗

∣∣∣︸ ︷︷ ︸εn

|g′(x∗)| ,

onde εn =∣∣∣x(n) − x∗

∣∣∣.Conclusões:

• Se |g′(x∗)| < 1, então, a distância de x(n) até o ponto fixo x∗está diminuindo a cada passo.

• Se |g′(x∗)| > 1, então, a distância de x(n) até o ponto fixo x∗está aumentando a cada passo.

• Se |g′(x∗)| = 1, então, nossa aproximação de primeiro or-dem não é suficiente para compreender o comportamento dasequência.

Fixaremos, portanto, nos casos quando |g′(x∗)| < 1.

Page 147: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.3.4 Erro absoluto e tolerância

Na prática, quando se aplica uma iteração como esta, não se conhecede antemão o valor do ponto fixo x∗. Assim, o erro εn =

∣∣∣x(n) − x∗∣∣∣

precisa ser estimado com base nos valores calculados x(n). Umaabordagem frequente é analisar a evolução da diferença entre doiselementos da sequência:

∆n =∣∣∣x(n+1) − x(n)

∣∣∣A pergunta natural é: Será que o erro εn =

∣∣∣x(n) − x∗∣∣∣ é pequeno

quando ∆n =∣∣∣x(n+1) − x(n)

∣∣∣ for pequeno?Para responder a esta pergunta, observamos que

x∗ = limn→∞

x(n)

Page 148: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

portanto:

x∗ − x(N) =(x(N+1) − x(N)

)+(x(N+2) − x(N+1)

)+(x(N+3) − x(N+2)

)+ . . .

=∞∑k=0

(x(N+k+1) − x(N+k)

)

Usamos também as expressões:

x(n+1) ≈ x∗ + (x(n) − x∗)g′(x∗)x(n) ≈ x∗ + (x(n−1) − x∗)g′(x∗)

Subtraindo uma da outra, temos:

x(n+1) − x(n) ≈ (x(n) − x(n−1))g′(x∗)

Portanto:

x(N+k+1) − x(N+k) ≈ (x(N+1) − x(N)) (g′(x∗))k

Page 149: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E temos:

x∗ − x(N) =∞∑k=0

(x(N+k+1) − x(N+k)

)≈

∞∑k=0

(x(N+1) − x(N)) (g′(x∗))k

= (x(N+1) − x(N)) 11− g′(x∗) , |g

′(x∗)| < 1

Tomando módulo, temos:

∣∣∣x∗ − x(N)∣∣∣ ≈ ∣∣∣x(N+1) − x(N)

∣∣∣ 11− g′(x∗)

εN ≈ ∆N

1− g′(x∗)

Conclusões: Tendo em mente a relação x(n+1) − x(n) ≈ (x(n) −x(n−1))g′(x∗), concluímos:

Page 150: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Quando g′(x∗) < 0, o esquema é alternante e o erro εN podeser estimado diretamente da diferença ∆N .

• Quando g′(x∗) > 0, o esquema é monótono e 11−g′(x∗) > 1, pelo

que o erro εN é maior que a diferença ∆N . A relação será tãomais importante quando mais próximo da unidade for g′(x∗),ou seja, quando mais lenta for a convergência.

• Como g′(x∗) ≈ x(n+1)−x(n)

x(n)−x(n−1) , temos

|g′(x∗)| ≈ ∆n

∆n−1

e portantoεN ≈

∆N

1− ∆n

∆n−1

.

Observação 9. Deve-se exigir que ∆n < ∆n−1

Page 151: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 3.3.1. Mostre que a equação:

cos(x) = x

possui uma única solução no intervalo [0, 1]. Encontre uma aproxi-mação para esta solução com 4 dígitos significativos.

E 3.3.2. Verifique (analiticamente) que a única solução real daequação:

xex = 10é ponto fixo das seguintes funções:

a) g(x) = ln(

10x

)b) g(x) = x− xex−10

15

c) g(x) = x− xex−1010+ex

Page 152: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Implemente o processo iterativo x(n+1) = g(x(n)) para n ≥ 0 e com-pare o comportamento. Discuta os resultados com base na teoriaestudada.

E 3.3.3. Verifique (analiticamente) que a única solução real daequação:

cos(x) = x

é ponto fixo das seguintes funções:

a) g(x) = cos(x)

b) g(x) = 0,4x+ 0,6 cos(x)

c) g(x) = x+ cos(x)−x1+sin(x)

Implemente o processo iterativo x(n+1) = g(x(n)) para n ≥ 0 e com-pare o comportamento.Discuta os resultados com base na teoriaestudada.

Page 153: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.3.4. Encontre a solução de cada equação com erro absolutoinferior a 10−6.

a) ex = x+ 2 no intervalo (−2,0).

b) x3 + 5x2 − 12 = 0 no intervalo (1,2).

c)√x = cos(x) no intervalo (0,1).

E 3.3.5. Encontre numericamente as três primeiras raízes positivasda equação dada por:

cos(x) = x

10 + x2

com erro absoluto inferior a 10−6.

E 3.3.6. Calcule uma equação da reta tangente a curva y = e−(x−1)2

que passa pelo ponto (3, 1/2).

Page 154: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.3.7. Resolva numericamente a inequação:

e−x2< 2x

E 3.3.8. Considere os seguintes processos iterativos:

a

x(n+1) = cos(x(n))

x(1) = .5

e

b

x(n+1) = .4x(n) + .6 cos(x(n))

x(1) = .5

(3.1)

Use o teorema do ponto fixo para verificar que cada um desses pro-cessos converge para a solução da equação x∗ de cos(x) = x. Ob-serve o comportamento numérico dessas sequências. Qual estabilizamais rápido com cinco casas decimais? Discuta.

Page 155: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Dica: Verifique que cos([0.5,1]) ⊆ [0.5,1] e depois a mesma identi-dade para a função f(x) = .4x+ .6 cos(x).

E 3.3.9. Use o teorema do ponto fixo aplicado a um intervaloadequado para mostrar que a função g(x) = ln(100− x) possui umponto fixo estável.

E 3.3.10. Na hidráulica, o fator de atrito de Darcy é dado pelaimplicitamente pela equação de Colebrook-White:

1√f

= −2 log10

14.8Rh+ 2.51

Re√f

)

onde f é o fator de atrito, ε é a rugosidade do tubo em metros,Rh é o raio hidráulico em metros e Re é o número de Reynolds.Considere ε = 2mm, Rh = 5cm e Re = 10000 e obtenha o valor def pela iteração:

x(n+1) = −2 log10

14.8Rh+ 2.51x(n)

Re

)

Page 156: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.3.11. Encontre uma solução aproximada para equação algé-brica

180− 100x = 0.052 sinh−1(1013x)

com erro absoluto inferior a 10−3 usando um método iterativo. Es-time o erro associado ao valor de v = 180−100x = 0.052 sinh−1(1013x),usando cada uma dessas expressões. Discuta sucintamente o resul-tado obtido. Dica: Este caso é semelhante ao problema 3.2.8.

E 3.3.12. Considere que xn satisfaz a seguinte relação de recor-rência:

xn+1 = xn − β (xn − x∗)

onde β e x∗ são constantes. Prove que

xn − x∗ = (1− β)n−1(x1 − x∗).

Conclua que xn → x∗ quando |1− β| < 1.

Page 157: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.3.13. Considere o seguinte esquema iterativo: x(n+1) = xn + qn

x(0) = 0

onde q = 1− 10−6.

a) Calcule o limitex∞ = lim

n→∞x(n)

analiticamente.

b) Considere que o problema de obter o limite da sequência nu-mericamente usando como critério de parada que |x(n+1) −x(n)| < 10−5. Qual o valor é produzido pelo esquema numé-rico? Qual o desvio entre o valor obtido pelo esquema numé-rico e o valor do limite obtido no item a? Discuta. (Dica:Você não deve implementar o esquema iterativo, obtendo ovalor de x(n) analiticamente)

Page 158: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) Qual deve ser a tolerência especificada para obter o resultadocom erro relativo inferior a 10−2?

E 3.3.14. Considere o seguinte esquema iterativo:

x(n+1) = x(n) − [x(n)]3, x(n) ≥ 0

com x(0) = 10−2. Prove que x(n) é sequência de número reaispositivos convergindo para zero. Verifique que são necessários maisde mil passos para que x(n) se torne menor que 0.9x(0).

E 3.3.15.

a) Use o teorema do ponto fixo para mostrar que a função g(x) =1−sin(x) possui um único ponto fixo estável o intervalo [ 1

10 ,1].Construa um método iterativo x(n+1) = g(x(n)) para encontraresse ponto fixo. Use o Scilab para encontrar o valor numéricodo ponto fixo.

Page 159: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) Verifique que função ψ(x) = 12 [x+ 1− sin(x)] possui um ponto

fixo x∗ que também é o ponto fixo da função g do item a. Useo Scilab para encontrar o valor numérico do ponto fixo atravésda iteração x(n+1) = ψ(x(n)). Qual método é mais rápido?

E 3.3.16. (Esquemas oscilantes)a) Considere a função g(x) e função composta ψ(x) = g g =

g (g(x)). Verifique todo ponto fixo de g também é ponto fixode ψ.

b) Considere a funçãog(x) = 10 exp(−x)

e função composta ψ(x) = g g = g (g(x)). Mostre que ψpossui dois pontos fixos que não são pontos fixos de g.

c) No problema anterior, o que acontece quando o processo ite-rativo x(n+1) = g(x(n)) é inicializado com um ponto fixo de ψque não é ponto fixo de g?

Page 160: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.3.17. Mostre que se f(x) possui uma raiz x∗ então a x∗ é umponto fixo de φ(x) = x+γ(x)f(x). Encontre uma condição em γ(x)para que o ponto fixo x∗ de φ seja estável. Encontre uma condiçãoem γ(x) para que φ′(x∗) = 0.

E 3.3.18. Considere que x(n) satisfaz a seguinte relação de recor-rência:

x(n+1) = x(n) − γf(x(n))

onde γ é uma constante. Suponha que f(x) possui um zero em x∗.Aproxime a função f(x) em torno de x∗ por

f(x) = f(x∗) + f ′(x∗)(x− x∗) +O((x− x∗)2

).

Em vista do problema anterior, qual valor de γ você escolheria paraque a sequência x(n) convirja rapidamente para x∗. Que relaçãovocê encontra com o método de Newton?

E 3.3.19. Considere o problema da questão 3.2.8 e dois seguintes

Page 161: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

esquemas iterativos.

A

I(n+1) = 1R

[V − vt ln

(1 + I(n)

IR

)],n > 0

I(0) = 0

e

B

I(n+1) = IR[exp

(V−RI(n)

vt

)− 1

],n > 0

I(0) = 0

Verifique numericamente que apenas o processo A é convergentepara a, b e c; enquanto apenas o processo B é convergente para osoutros itens.

Page 162: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.4 Método de Newton-RaphsonConsideremos o problema de encontrar as raízes da equação

f(x) = 0

onde f(x) ∈ C1 através do método do ponto fixo. Para tal, obser-vamos que um número real x∗ é raiz de f(x) se e somente se x∗ éum ponto fixo da função

φ(x) = x+ γ(x)f(x), γ(x) 6= 0

Aqui γ(x) é uma função que será escolhida com base nos critériosde convergência do processo iterativo.A derivada de φ(x) vale

φ′(x) = 1 + γ(x)f ′(x) + γ′(x)f(x)

no ponto x∗, temos

φ′(x∗) = 1 + γ(x∗)f ′(x∗) + γ′(x∗)f(x∗)

Page 163: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

como f(x∗) = 0, temos

φ′(x∗) = 1 + γ(x∗)f ′(x∗)

Sabemos que o processo iterativo converge tão mais rápido quantomenor for φ′(x) nas vizinhanças de x∗, portanto, supomos que f ′(x∗) 6=0 e escolhemos γ(x∗) de forma que

φ′(x∗) = 0,

ou sejaγ(x∗) = − 1

f ′(x∗) .

Observe que x∗ é raiz de f(x) se, e somente se x∗ é ponto fixo de

φ(x) = x− f(x)f ′(x)

e φ′(x∗) = 0 < 1. Portanto, o teorema do ponto fixo garante quese x(0) for suficientemente próximo a x∗, então o processo iterativo

Page 164: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

dado por

x(n+1) = x(n) − f(x(n))f ′(x(n))

converge para x∗, desde que f ′(x(n)) 6= 0 para todo n ∈ N.

Page 165: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.4.1 Interpretação GeométricaConsidere o problema de calcular a raiz uma função f , conformeesboço na figura abaixo

Queremos obter x(1) a partir de x(0) sabendo que x(1) é a intersecçãoda reta tangente em x(0) com o eixo x. A inclinação da reta tangenteé dada por (a variação em y sobre a variação em x)

f ′(x(0)) = f(x(0))− 0x(0) − x(1)

Page 166: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde isolando x(1) obtemos

x(0) − x(1) = f(x(0))− 0f ′(x(0))

Portantox(1) = x(0) − f(x(0))

f ′(x(0))que é uma iteração do método de Newton. Repetimos o processopara calcular x(2), x(3),.... De modo geral, temos

x(n+1) = x(n) − f(x(n))f ′(x(n)) .

Page 167: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.4.2 Análise de convergência

Seja f(x) um função com derivada e derivada segunda contínuas talque f(x∗) = 0 e f ′(x∗) 6= 0. Seja também a função φ(x) definidacomo

φ(x) = x− f(x)f ′(x)

Expandimos em série de Taylor em torno de x∗ e obtemos

φ(x) = φ(x∗) + (x− x∗)φ′(x∗) + (x− x∗)2φ′′(x∗)2 +O

((x− x∗)3

)Sabemos que

φ(x∗) = x∗ − f(x∗)f ′(x∗) = x∗

φ′(x∗) = 1− f ′(x∗)f ′(x∗)− f(x∗)f ′′(x∗)(f ′(x∗))2 = 1− 1 = 0

Page 168: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portanto:

φ(x) = x∗ + (x− x∗)2φ′′(x∗)2 +O

((x− x∗)3

)≈ x∗ + (x− x∗)2φ

′′(x∗)2 .

Logo,x(n+1) = φ(x(n))

≈ x∗ + (x(n) − x∗)2φ′′(x∗)2

(x(n+1) − x∗

)≈ (x(n) − x∗)2φ

′′(x∗)2

Observação 10. Pode-se mostrar facilmente que

φ′′(x∗) = f ′′(x∗)f ′(x∗)

Page 169: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 3.4.1. Considere o problema de calcular as soluções positivas daequação:

tg (x) = 2x2.

a) Use o método gráfico para isolar as duas primeiras raízes po-sitivas em pequenos intervalos. Use a teoria estudada em aulapara argumentar quanto à existência e unicidade das raízesdentro intervalos escolhidos.

b) Calcule o número de iterações necessárias para que o métododa bisseção aproxime cada uma das raízes com erro absolutoinferior a 10−8. Calcule as raízes por este método usando estenúmero de passos.

c) Calcule cada uma das raízes pelo método de Newton comoito dígitos significativos e discuta a convergência comparandocom o item b).

Page 170: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Obs: Alguns alunos encontraram como solução x1 ≈ 1,5707963 ex2 ≈ 4,7123890. O que eles fizeram de errado?

E 3.4.2. Considere a equação

e−x2 = x

trace o gráfico com auxílio do Scilab e verifique que ela possui umaraiz positiva. Encontre uma aproximação para esta razão pelo grá-fico e use este valor para inicializar o método de Newton e obtenhauma aproximação para a raiz com 8 dígitos significativos. (Use ocomando format('v',16) para alterar a visualização no Scilab.)

E 3.4.3. Isole e encontre as cinco primeiras raízes positivas daequação com 6 dígitos corretos através de traçado de gráfico e dométodo de Newton.

cos(10x) = e−x.

Dica: a primeira raiz positiva está no intervalo (0,0.02). Fiqueatento.

Page 171: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.4.4. Encontre as raízes do polinômio f(x) = x4 − 4x2 + 4através do método de Newton. O que você observa em relação aoerro obtido? Compare com a situação do problema 3.2.7.

E 3.4.5. Encontre as raízes reais do polinômio f(x) = x5

100 + x4 +3x+1 isolando-as pelo método do gráfico e depois usando o métodode Newton. Expresse a solução com 7 dígitos significativos.

E 3.4.6. Considere o método de Newton aplicado para encontrar araiz de f(x) = x3−2x+2. O que acontece quando x(0) = 0? Escolhaum valor adequado para inicializar o método e obter a única raizreal desta equação.

E 3.4.7. Justifique a construção do processo iterativo do Métodode Newton através do conceito de estabilidade de ponto fixo e con-vergência do método da iteração. Dica: Considere os problemas3.3.17 e 3.3.18.

Page 172: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.4.8. Entenda a interpretação geométrica ao método de New-ton. Encontre uma valor para iniciar o método de Newton aplicadoao problema f(x) = xe−x = 0 tal que o esquema iterativo divirja.

E 3.4.9. Aplique o método de Newton à função f(x) = 1x− u e

construa um esquema computacional para calcular a inversa de ucom base em operações de multiplicação e soma/subtração.

E 3.4.10. Aplique o método de Newton à função f(x) = xn −A econstrua um esquema computacional para calcular n

√A para A > 0

com base em operações de multiplicação e soma/subtração.

E 3.4.11. Considere a função dada por

ψ(x) = ln (15− ln(x))

definida para x > 0

a) (1.5) Use o teorema do ponto fixo para provar que se x0 per-tence ao intervalo [1,3], então a sequência dada iterativamente

Page 173: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

porx(n+1) = ψ(x(n)),n ≥ 0

converge para o único ponto fixo, x∗, de ψ. Construa a ite-ração x(n+1) = ψ(x(n)) e obtenha numericamente o valor doponto fixo x∗. Expresse a resposta com 5 algarismos signifi-cativos corretos.

b) (1.0) Construa a iteração do método de Newton para encon-trar x∗, explicitando a relação de recorrência e iniciando comx0 = 2. Use o Scilab para obter a raiz e expresse a respostacom oito dígitos significativos corretos.

Page 174: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.5 Método das SecantesO Método das Secantes é semelhante ao Método de Newton. Nestemétodo a derivada f ′(x) é aproximada pela declividade de um retasecante à curva:

f ′(x) ≈ f(x+ ∆x)− f(x)∆x

Assim, em cada passo do método, calcula-se uma nova aproximaçãocom base em duas aproximações anteriores:

x(n+1) = x(n) − f(x(n))m

, m = f(x(n))− f(x(n−1))x(n) − x(n−1)

Exemplo 47. Encontre as raízes de f(x) = cos(x)− x.

Da inspeção do gráfico das funções y = cos(x) e y = x, sabemosque esta equação possui uma raiz em torno de x = 0,8. Iniciamos ométodo com x0 = 0,7 e x1 = 0,8.

Page 175: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

x(n−1) x(n) m x(n+1)

f(0,8)−f(0,7)0,8−0,7 = 0,8− f(0,8)

−1,6813548 =

0,7 0,8 −1,6813548 0,7385654

0,8 0,7385654 −1,6955107 0,7390784

0,7385654 0,7390784 −1,6734174 0,7390851

0,7390784 0,7390851 −1,6736095 0,7390851

Page 176: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

3.5.1 Análise de convergência

Seja f(x) ∈ C2 um função tal que f(x∗) = 0 e f ′(x∗) 6= 0. Considereo processo iterativo do método das secantes:

x(n+1) = x(n) − f(x(n))f(x(n))− f(x(n−1))(x(n) − x(n−1))

Esta expressão pode ser escrita como:

x(n+1) = x(n) − f(x(n))(x(n) − x(n−1))f(x(n))− f(x(n−1))

=x(n)

(f(x(n))− f(x(n−1))

)− f(x(n))(x(n) − x(n−1))

f(x(n))− f(x(n−1))

= x(n)f(x(n−1))− x(n−1)f(x(n))f(x(n))− f(x(n−1))

Page 177: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Subtraindo x∗ de ambos os lados temos:

x(n+1) − x∗ = x(n)f(x(n−1))− x(n−1)f(x(n))f(x(n))− f(x(n−1)) − x∗

=x(n)f(x(n−1))− x(n−1)f(x(n))− x∗

(f(x(n))− f(x(n−1))

)f(x(n))− f(x(n−1))

= (x(n) − x∗)f(x(n−1))− (x(n−1) − x∗)f(x(n))f(x(n))− f(x(n−1))

Definimos εn = xn − x∗, equivalente a xn = x∗ + εn

εn+1 = εnf(x∗ + εn−1)− εn−1f(x∗ + εn)f(x∗ + εn)− f(x∗ + εn−1)

Aproximamos a função f(x) no numerador por

f(x∗ + ε) ≈ f(x∗) + εf ′(x∗) + ε2f ′′(x∗)

2

f(x∗ + ε) ≈ εf ′(x∗) + ε2f ′′(x∗)

2

Page 178: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

εn+1 ≈εn[εn−1f

′(x∗) + ε2n−1f ′′(x∗)

2

]− εn−1

[εnf

′(x∗) + ε2nf ′′(x∗)

2

]f(x∗ + εn)− f(x∗ + εn−1)

=f ′′(x∗)

2

(εnε

2n−1 − εn−1ε

2n

)f(x∗ + εn)− f(x∗ + εn−1)

= 12f ′′(x∗)εnεn−1 (εn−1 − εn)f(x∗ + εn)− f(x∗ + εn−1)

Observamos, agora, que

f(x∗ + εn)− f(x∗ + εn−1) ≈ [f(x∗) + f ′(x∗)εn]− [f(x∗) + f ′(x∗)εn−1]= f ′(x∗)(εn − εn−1)

(3.2)

Portanto:εn+1 ≈

12f ′′(x∗)f ′(x∗) εnεn−1 (3.3)

Page 179: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ou, equivalentemente:

x(n+1) − x∗ ≈ 12f ′′(x∗)f ′(x∗)

(x(n) − x∗

) (x(n−1) − x∗

)(3.4)

Pode-se mostrar que

|x(n+1) − x∗| ≈M |x(n) − x∗|φ, n grande (3.5)

com φ =√

5+12 ≈ 1,618 e M é uma constante.

Observação 11. O erro na tabela sempre se refere ao erro ab-soluto esperado. Nos três últimos métodos, é comum que seexija como critério de parada que a condição seja satisfeita poralguns poucos passos consecutivos. Outros critérios podem serusados. No métodos das secantes, deve-se ter o cuidado deevitar divisões por zero quando xn+1 − xn muito pequeno emrelação à resolução do sistema de numeração.

Page 180: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 3.5.1. Refaça as questões 3.4.2, 3.4.3, 3.4.4 e 3.4.5, usando ométodo das secantes.

E 3.5.2. Dê uma interpretação geométrica ao método das secan-tes. Qual a vantagem do método das secantes sobre o método deNewton?

E 3.5.3. Aplique o método das secantes para resolver a equação

e−x2 = 2x

E 3.5.4. Refaça o problema 3.2.8 usando o método de Newton edas secantes.

Page 181: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios finais

E 3.5.5. A equaçãocos(πx) = e−2x

tem infinitas raízes. Usando métodos numéricos encontre as pri-meiras raízes dessa equação. Verifique a j-ésima raiz (zj) pode seraproximada por j − 1/2 para j grande. Use o método de Newtonpara encontrar uma aproximação melhor para zj.

E 3.5.6. A corrente elétrica, I, em Ampères em uma lâmpada emfunção da tensão elétrica, V , é dada por

I =(V

150

)0.8

Qual a potência da lâmpada quando ligada em série com uma re-sistência de valor R a uma fonte de 150V quando. (procure erroinferior a 1%)

Page 182: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) R = 0Ω

b) R = 10Ω

c) R = 50Ω

d) R = 100Ω

E) R = 500Ω

E 3.5.7. (Bioquímica) A concentração sanguínea de um medica-mente é modelado pela seguinte expressão

c(t) = Ate−λt

onde t > 0 é o tempo em minutos decorrido desde a administra-ção da droga. A é a quantidade administrada em mg/ml e λ é aconstante de tempo em min−1. Responda:

a) Sendo λ = 1/3, em que instantes de tempo a concentração émetade do valor máximo. Calcule com precisão de segundos.

Page 183: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) Sendo λ = 1/3 e A = 100mg/ml, durante quanto tempo aconcentração permanece maior que 10mg/ml.

E 3.5.8. Considere o seguinte modelo para crescimento populaci-onal em um país:

P (t) = A+Beλt.

onde t é dado em anos. Use t em anos e t = 0 para 1960. Encontreos parâmetros A, B e λ com base nos anos de 1960, 1970 e 1991conforme tabela:

Ano população

1960 70992343

1970 94508583

1980 121150573

1991 146917459

Page 184: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Use esses parâmetros para calcular a população em 1980 e comparecom o valor do censo.

E 3.5.9. Uma boia esférica flutua na água. Sabendo que a boiatem 10` de volume e 2Kg de massa. Calcule a altura da porçãomolhada da boia.

E 3.5.10. Uma boia cilíndrica tem secção transversal circular deraio 10cm e comprimento 2m e pesa 10Kg. Sabendo que a boia flu-tua sobre água com o eixo do cilindro na posição horizontal, calculea altura da parte molhada da boia.

E 3.5.11. Encontre com 6 casas decimais o ponto da curva y = ln xmais próximo da origem.

E 3.5.12. Um computador é vendido pelo valor a vista deR$2.000,00 ou em 1+15 prestações de R$200,00. Calcule a taxade juros associada à venda a prazo.

Page 185: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.5.13. O valor de R$110.000,00 é financiado conforme aseguinte programa de pagamentos:

Mês pagamento

1 20.000,00

2 20.000,00

3 20.000,00

4 19.000,00

5 18.000,00

6 17.000,00

7 16.000,00Calcule a taxa de juros envolvida. A data do empréstimo é o mêszero.

E 3.5.14. Depois de acionado um sistema de aquecedores, a

Page 186: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

temperatura em um forno evolui conforme a seguinte equação

T (t) = 500− 800e−t + 600e−t/3.

onde T é a temperatura em Kelvin e t é tempo em horas.

a) Obtenha analiticamente o valor de limt→∞ T (t).

b) Obtenha analiticamente o valor máximo de T (t) e o instantede tempo quando o máximo acontece

c) Obtenha numericamente com precisão de minutos o tempodecorrido até que a temperatura passe pela primeira vez pelovalor de equilíbrio obtido no item a.

c) Obtenha numericamente com precisão de minutos a duraçãodo período durante o qual a temperatura permanece pelo me-nos 20% superior ao valor de equilíbrio.

Page 187: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.5.15. Encontre os pontos onde a elipse que satisfaz x2

3 +y2 = 1intersepta a parábola y = x2 − 2.

E 3.5.16. Encontre a área do maior retângulo que é possívelinscrever entre a curva e−x2 (1 + cos(x)) e o eixo y = 0.

E 3.5.17. Uma indústria consome energia elétrica de duas usinasfornecedoras. O custo de fornecimento em reais por hora como fun-ção da potência consumida em kW é dada pelas seguintes funções

C1(x) = 500 + .27x+ 4.1 · 10−5x2 + 2.1 · 10−7x3 + 4.2 · 10−10x4

C2(x) = 1000 + .22x+ 6.3 · 10−5x2 + 8.5 · 10−7x3

Onde C1(x) e C2(x) são os custos de fornecimento das usinas 1 e 2,respectivamente. Calcule o custo mínimo da energia elétrica quandoa potência total consumida é 1500kW .

E 3.5.18. A pressão de saturação (em bar) de um dado hidrocar-

Page 188: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

boneto pelo ser modelada pela equação de Antoine:

ln(P sat

)= A− B

T + C

onde T é a temperatura e A, B e C são constantes dadas conformea seguir:Hidrocarboneto A B C

N-pentano 9.2131 2477.07 -39.94

N-heptano 9.2535 2911.32 -56.51

a) Calcule a temperatura de bolha de uma mistura de N-pentanoe N-heptano à pressão de 1.2bar quando as frações molares dosgases são z1 = z2 = 0.5. Para tal utilize a seguinte equação:

P =∑i

ziPsati

Page 189: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) Calcule a temperatura de orvalho de uma mistura de N-pentanoe N-heptano à pressão de 1.2bar quando as frações molares dosgases são z1 = z2 = 0.5. Para tal utilize a seguinte equação:

1P

=∑i

ziP sati

E 3.5.19. Encontre os três primeiros pontos de mínimo da função

f(x) = e−x/11 + x cos(2x)

para x > 0 com erro inferior a 10−7.

Page 190: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Tabela 3.1: Quadro comparativo.Método Convergência Erro Critério de parada

BisseçãoLinear

εn+1 = 12ε

bn − an2 < erro

(p = 1)

Iteração Linearεn+1 ≈ |φ′(x∗)|εn

|∆n|1− ∆n

∆n−1

< erro

∆n < ∆n−1linear (p = 1)

NewtonQuadrática

εn+1 ≈12

∣∣∣∣f ′′(x∗)f ′(x∗)

∣∣∣∣ ε2n |∆n| < erro

(p = 2)

Secantep =

√5 + 12

≈ 1,618

εn+1 ≈∣∣∣∣f ′′(x∗)f ′(x∗)

∣∣∣∣ εnεn−1

≈Mεφn

|∆n| < erro

Page 191: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 4

Solução de sistemas lineares

Neste parte de nosso curso, estamos interessados em técnicas pararesolução de sistemas de equações algébricas lineares.

Trataremos de sistemas de equações algébricas lineares da seguinte

184

Page 192: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

forma:

a11x1 + a12x2 + · · ·+ a1nxn = y1

a21x1 + a22x2 + · · ·+ a2nxn = y2...

am1x1 + am2x2 + · · ·+ amnxn = ym

Observe quem é o número de equações e n é o número de incógnitas.Podemos escrever este problema na forma matricial

Ax = y

Page 193: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde

A =

a11 a12 · · · a1n

a21 a22 · · · a2n... ... . . . ...

am1 am2 · · · amn

x =

x1

x2...

xn

y =

y1

y2...

ym

Daremos mais atenção ao caso m = n, isto é, quando a matriz Aque envolvia no sistema linear é quadrada.

Page 194: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.1 Eliminação gaussiana com pivotea-mento parcial

Lembramos que algumas operações feitas nas linhas de um sistemanão alteram a solução:

1. Multiplicação de um linha por um número

2. Troca de uma linha por ela mesma somada a um múltiplo deoutra.

3. Troca de duas linhas.

O processo que transforma um sistema em outro com mesma solu-ção, mas que apresenta uma forma triangular é chamado eliminaçãoGaussiana. A solução do sistema pode ser obtida fazendo substitui-ção regressiva.

Exemplo 48 (Eliminação Gaussiana sem pivotamento parcial).

Page 195: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Resolva o sistema: x+ y + z = 1

2x+ y − z = 0

2x+ 2y + z = 1

Solução. Escrevemos a matriz completa do sistema:1 1 1 1

2 1 −1 0

2 2 1 1

1 1 1 1

0 −1 −3 −2

0 0 −1 −1

Encontramos −z = −1, ou seja, z = 1. Substituímos na segundaequação e temos −y − 3z = −2, ou seja, y = −1 e, finalmentex+ y + z = 1, resultando em x = 1. ♦

A Eliminação Gaussiana com pivotamento parcial consiste em fazeruma permutação de linhas de forma a escolher o maior pivô (emmódulo) a cada passo.

Page 196: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 49 (Eliminação Gaussiana com pivotamento parcial).Resolva o sistema:

x+ y + z = 1

2x+ y − z = 0

2x+ 2z + z = 1

Page 197: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Solução. Escrevemos a matriz completa do sistema:1 1 1 1

2 1 −1 0

2 2 1 1

2 1 −1 0

1 1 1 1

2 2 1 1

2 1 −1 0

0 1/2 3/2 1

0 1 2 1

2 1 −1 0

0 1 2 1

0 1/2 3/2 1

2 1 −1 0

0 1 2 1

0 0 1/2 1/2

Page 198: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Encontramos 1/2z = 1/2, ou seja, z = 1. Substituímos na segundaequação e temos y+2z = 1, ou seja, y = −1 e, finalmente 2x+y−z =0, resultando em x = 1. ♦

Exemplo 50. Resolva o seguinte sistema por eliminação gaussianacom pivotamento parcial.

0 2 2

1 2 1

1 1 1

x

y

z

=

8

9

6

Page 199: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Solução. Construímos a matriz completa:0 2 2 8

1 2 1 9

1 1 1 6

1 2 1 9

0 2 2 8

1 1 1 6

1 2 1 9

0 2 2 8

0 −1 0 −3

1 2 1 9

0 2 2 8

0 0 1 1

1 2 0 8

0 2 0 6

0 0 1 1

1 0 0 2

0 2 0 6

0 0 1 1

Page 200: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portanto x = 2, y = 3 e z = 1. ♦

Exemplo 51 (Problema com elementos com grande diferença deescala). ε 2

1 ε

x

y

=

4

3

Executamos a eliminação gaussiana sem pivotamento parcial paraε 6= 0 e |ε| << 1: ε 2 4

1 ε 3

∼ ε 2 4

0 ε− 2ε

3− 4ε

Temos

y = 3− 4/εε− 2/ε

ex = 4− 2y

ε

Page 201: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observe que a expressão obtida para y se aproximada de 2 quandoε é pequeno:

y = 3− 4/εε− 2/ε = 3ε− 4

ε2 − 2 −→−4−2 = 2, quando ε→ 0.

Já expressão obtida para x depende justamente da diferença 2− y:

x = 4− 2yε

= 2ε

(2− y)

Assim, quando ε é pequeno, a primeira expressão, implementadoem um sistema de ponto flutuante de acurácia finita, produz y = 2e, consequentemente, a expressão para x produz x = 0. Isto é,estamos diante um problema de cancelamento catastrófico.Agora, quando usamos a Eliminação Gaussiana com pivotamentoparcial, fazemos uma permutação de linhas de forma a escolher omaior pivô a cada passo:

Page 202: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ε 2 4

1 ε 3

∼ 1 ε 3

ε 2 4

∼ 1 ε 3

0 2− ε2 4− 3ε

Continuando o procedimento, temos:

y = 4− 4ε2− ε2

ex = 3− εy

Observe que tais expressões são analiticamente idênticas às ante-riores, no entanto, são mais estáveis numericamente. Quando εconverge a zero, y converge a 2, como no caso anterior. No entanto,mesmo que y = 2, a segunda expressão produz x = 3− εy, isto é, aaproximação x ≈ 3 não depende mais de obter 2− y com precisão.

Page 203: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 4.1.1. Resolva o seguinte sistema de equações lineares

x+ y + z = 0x+ 10z = −4810y + z = 25

Usando eliminação gaussiana com pivoteamento parcial (não use ocomputador para resolver essa questão).

E 4.1.2. Resolva o seguinte sistema de equações lineares

x+ y + z = 0x+ 10z = −4810y + z = 25

Usando eliminação gaussiana com pivotamento parcial (não use ocomputador para resolver essa questão).

Page 204: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.1.3. Calcule a inversa da matriz

A =

1 2 −1

−1 2 0

2 1 −1

usando eliminação Gaussiana com pivotamento parcial.

E 4.1.4. Demonstre que se ad 6= bc, então a matriz A dada por:

A =

a b

c d

é inversível e sua inversa é dada por:

A−1 = 1ad− bc

d −b

−c a

.

Page 205: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.1.5. Considere as matrizes

A =

0 0 1

0 1 0

1 0 0

e

E =

1 1 1

1 1 1

1 1 1

e o vetor

v =

2

3

4

Page 206: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) Resolva o sistema Ax = v sem usar o computador.

b) Sem usar o computador e através da técnica algébrica de suapreferência, resolva o sistema (A + εE)xε = v considerando|ε| << 1 e obtenha a solução exata em função do parâmetroε.

c) Usando a expressão analítica obtida acima, calcule o limitelimε→0 xε.

d) Resolva o sistema (A + εE)x = v no Scilab usando pivo-tamento parcial e depois sem usar pivotamento parcial paravalores muito pequenos de ε como 10−10, 10−15, . . .. O quevocê observa?

Page 207: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.1.6. Resolva o seguinte sistema de 5 equações lineares

x1 − x2 = 0

−xi−1 + 2.5xi − xi+1 = e−(i−3)2

20 , 2 ≤ i ≤ 42x5 − x4 = 0

representando-o como um problema do tipo Ax = b no Scilab eusando o comando de contra-barra para resolvê-lo. Repita usandoa rotina que implementa eliminação gaussiana.

E 4.1.7. Encontre a inversa da matriz1 1 1

1 −1 2

1 1 4

a) Usando Eliminação Gaussiana com pivotamento parcial à mão.

Page 208: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) Usando a rotina ’gausspp()’.

c) Usando a rotina ’inv()’ do Scilab.

Page 209: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.2 Condicionamento de sistemas line-ares

Quando lidamos com matrizes no corpo do números reais (ou com-plexos), existem apenas duas alternativas: i) a matriz é inversível;ii) a matriz não é inversível e, neste caso, é chamada de matriz sin-gular. Ao lidarmos em aritmética de precisão finita, encontramosuma situação mais sutil: alguns problema lineares são mais difíceisde serem resolvidos, pois os erros de arredondamento se propagamde forma mais significativa que em outros problemas. Neste caso fa-lamos de problemas bem-condicionados e mal-condicionados. Intui-tivamente falando, um problema bem-condicionado é um problemaem que os erros de arredondamento se propagam de forma menosimportante; enquanto problemas mal-condicionados são problemasem que os erros se propagam de forma mais relevante.Um caso típico de sistema mal-condicionado é aquele cujos coefici-ente estão muito próximos ao de um problema singular. Considereo seguinte exemplo:

Page 210: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 52. Observe que o problema 71x+ 41y = 100

λx+ 30y = 70

é impossível quando λ = 71×3041 ≈ 51,95122.

Agora, verifique o que acontece quando resolvemos os seguintes sis-temas lineares: 71x+ 41y = 100

52x+ 30y = 70e

71x+ 41y = 100

51x+ 30y = 70

A solução do primeiro problema é x = −65 e y = 115. Já para osegundo problema é x = 10

3 e y = −103 .

Igualmente, observe os seguintes dois problemas: 71x+ 41y = 100

52x+ 30y = 70e

71x+ 41y = 100,4

52x+ 30y = 69,3

Page 211: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A solução do primeiro problema é x = −65 e y = 115 e do segundoproblema é x = −85,35 e y = 150,25.Observe que pequenas variações nos coeficientes das matrizes fazemas soluções ficarem bem distintas, isto é, pequenas variações nosdados de entrada acarretaram em grandes variações na solução dosistema. Quando isso acontece, dizemos que o problema é mal-condicionados.

Para introduzir essa ideia formalmente, precisamos definir o númerode condicionamento. Informalmente falando, o número de condici-onamento mede o quanto a solução de um problema em função dealterações nos dados de entrada. Para construir matematicamenteeste conceito, precisamos de uma medida destas variações. Comotanto os dados de entrada como os dados de saída são expressosna forma vetorial, precisaremos do conceito de norma vetorial. Porisso, faremos uma breve interrupção de nossa discussão para in-troduzir as definições de norma de vetores e matrizes na próximaseção.

Page 212: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.2.1 Norma Lp de vetores

Definimos a norma Lp ou Lp de um vetor em Rn para p ≥ 1 como

‖v‖p = (|v1|p + |v2|p + · · · |vn|p)1/p

E a norma L∞ ou L∞ como

‖v‖∞ = nmaxj=1|vj|

Propriedades: Se λ é um real (ou complexo) e u e v são vetores,temos:

‖v‖ = 0⇐⇒ v = 0‖λv‖ = |λ|‖v‖

‖u+ v‖ ≤ ‖u‖+ ‖v‖ (desigualdade do triângulo)limp→∞‖u‖p = ‖u‖∞

Page 213: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo: Calcule a norma L1, L2 e L∞ de

v =

1

2

−3

0

‖v‖1 = 1 + 2 + 3 + 0 = 6‖v‖2 =

√1 + 22 + 32 + 02 =

√14

‖v‖∞ = max1,2,3,0 = 3

Page 214: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.2.2 Norma matricialDefinimos a norma operacional em Lp de uma matriz A : Rn → Rn

da seguinte forma:‖A‖p = sup

‖v‖p=1‖Av‖p

ou seja, a norma p de uma matriz é o máximo valor assumido pelanorma de Av entre todos os vetores de norma unitária.Temos as seguintes propriedades, se A e B são matrizes, I é a matrizidentidade, v é um vetor e λ é um real (ou complexo):

‖A‖p = 0⇐⇒ A = 0‖λA‖p = |λ|‖A‖p

‖A+B‖p ≤ ‖A‖p + ‖B‖p (desigualdade do triângulo)‖Av‖p ≤ ‖A‖p‖v‖p‖AB‖p ≤ ‖A‖p‖B‖p‖I‖p = 1

1 = ‖I‖p = ‖AA−1‖p ≤ ‖A‖p‖A−1‖p (se A é inversível)

Page 215: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Casos especiais:

‖A‖1 = nmaxj=1

n∑i=1|Aij|

‖A‖2 =√

max|λ| : λ ∈ σ(AA∗)

‖A‖∞ = nmaxi=1

n∑j=1|Aij|

onde σ(M) é o conjunto de autovalores da matriz M .Exemplo: Calcule as normas 1, 2 e ∞ da seguinte matriz:

A =

3 −5 7

1 −2 4

−8 1 −7

Page 216: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Solução

‖A‖1 = max12,8,18 = 18‖A‖∞ = max15,7,16 = 16‖A‖2 =

√max0,5865124; 21,789128; 195,62436 = 13,986578

Page 217: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.2.3 Número de condicionamentoO condicionamento de um sistema linear é um conceito relacionadoà forma como os erros se propagam dos dados de entrada para osdados de saída, ou seja, se o sistema

Ax = y

possui uma solução x para o vetor y, quando varia a solução xquando o dado de entrado y varia. Consideramos, então, o problema

A(x+ δx) = y + δy

Aqui δx representa a variação em x e δy representa a respectivavariação em y. Temos:

Ax+ Aδx = y + δy

e, portanto,Aδx = δy.

Page 218: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Queremos avaliar a magnitude do erro relativo em y, representadopor ‖δy‖/‖y‖ em função da magnitude do erro relativo ‖δx‖/‖x‖.

‖δx‖/‖x‖‖δy‖/‖y‖

= ‖δx‖‖x‖

‖y‖‖δy‖

= ‖A−1δy‖‖x‖

‖Ax‖‖δy‖

≤ ‖A−1‖‖δy‖‖x‖

‖A‖‖x‖‖δy‖

= ‖A‖‖A−1‖

Assim, definimos o número de condicionamento de uma matriz in-versível A como

kp(A) = ‖A‖p‖A−1‖p

O número de condicionamento, então, mede o quão instável é resol-ver o problema Ax = y frente a erros no vetor de entrada x.Obs: O número de condicionamento depende da norma escolhida.

Page 219: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Obs: O número de condicionamento da matriz identidade é 1.Obs: O número de condicionamento de qualquer matriz inversívelé igual ou maior que 1.

Page 220: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 4.2.1. Calcule o valor de λ para o qual o problema 71x+ 41y = 10

λx+ 30y = 4

é impossível, depois calcule os números de condicionamento comnorma 1,2 e ∞ quando λ = 51 e λ = 52.

E 4.2.2. Calcule o número de condicionamento da matriz

A =

3 −5 7

1 −2 4

−8 1 −7

nas normas 1, 2 e ∞.

Page 221: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.2.3. Calcule o número de condicionamento das matrizes 71 41

52 30

e

1 2 3

2 3 4

4 5 5

usando as normas 1,2 e ∞.

E 4.2.4. Usando a norma 1, calcule o número de condicionametoda matriz

A =

1 2

2 + ε 4

em função de ε quando 0 < ε < 1. Interprete o limite ε→ 0.

Page 222: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.2.5. Considere os sistemas: 100000x − 9999.99y = −10

−9999.99x + 1000.1y = 1e

100000x − 9999.99y = −9.999

−9999.99x + 1000.1y = 1.01

Encontre a solução de cada um e discuta.

E 4.2.6. Considere os vetores de 10 entradas dados por

xj = sin(j/10), yj = j/10 zj = j/10− (j/10)3

6 , j = 1, . . . ,10

Use o Scilab para construir os seguintes vetores de erro:

ej = |xj − yj||xj|

fj = |xj − zj|xj

Calcule as normas 1, 2 e ∞ de e e f

Page 223: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.3 Métodos iterativos para sistemas li-neares

Page 224: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.3.1 Método de JacobiConsidere o problema Ax = y, ou seja,

a11x1 + a12x2 + · · ·+ a1nxn = y1

a21x1 + a22x2 + · · ·+ a2nxn = y2... ... = ...

an1x1 + an2x2 + · · ·+ annxn = yn

Os elementos xj são calculados iterativamente conforme:

x(k+1)1 =

y1 −(a12x

(k)2 + · · ·+ a1nx

(k)n

)a11

x(k+1)2 =

y2 −(a21x

(k)1 + · · ·+ a2nx

(k)n

)a22

...

x(k+1)n =

y2 −(an1x

(k)1 + · · ·+ an(n−1)x

(k)n−1

)ann

Page 225: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Em notação mais compacta, o método de Jacobi consiste na itera-ção:

x(0) = aprox. inicial

x(k)i =

yi −n∑j=1j 6=i

aijx(k)j

aii

Exemplo: Resolva o sistema

10x+ y = 23

x+ 8y = 26

Page 226: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

usando o método de Jacobi iniciando com x(0) = y(0) = 0.

x(k+1) = 23− y(k)

10

y(k+1) = 26− x(k)

8

x(1) = 23− y(0)

10 = 2,3

y(1) = 26− x(0)

8 = 3,25

x(2) = 23− y(1)

10 = 1,975

y(2) = 26− x(1)

8 = 2,9625

Page 227: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Código Scilab: Jacobi

Page 228: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.3.2 Método de Gauss-SeidelConsidere o problema Ax = y, ou seja,

a11x1 + a12x2 + · · ·+ a1nxn = y1

a21x1 + a22x2 + · · ·+ a2nxn = y2... ... = ...

an1x1 + a22x2 + · · ·+ annxn = yn

Os elementos xj são calculados iterativamente conforme:

x(k+1)1 =

y1 −(a12x

(k)2 + · · ·+ a1nx

(k)n

)a11

x(k+1)2 =

y2 −(a11x

(k+1)1 + · · ·+ a1nx

(k)n

)a22

...

x(k+1)n =

y2 −(an1x

(k+1)1 + · · ·+ an(n−1)x

(k+1)n−1

)Ann

Page 229: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Em notação mais compacta, o método de Gauss-Seidel consiste naiteração:

x(0) = aprox. inicial

x(k)i =

yi −i−1∑j=1

aijx(k+1)j −

n∑j=i+1

aijx(k)j

aii

Exemplo: Resolva o sistema

10x+ y = 23

x+ 8y = 26

Page 230: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

usando o método de Guass-Seidel iniciando com x(0) = y(0) = 0.

x(k+1) = 23− y(k)

10

y(k+1) = 26− x(k+1)

8

x(1) = 23− y(0)

10 = 2,3

y(1) = 26− x(1)

8 = 2,9625

x(2) = 23− y(1)

10 = 2,00375

y(2) = 26− x(2)

8 = 2,9995312

Page 231: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Código Scilab: Gauss-Seidel

Page 232: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.4 Análise de convergênciaUma condição suficiente porém não necessária para que os métodosde Gauss-Seidel e Jacobi convirjam é a que a matriz seja diagonaldominante estrita. Veja [3].

Page 233: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 4.4.1. Considere o problema de 5 incógnitas e cinco equaçõesdado por

x1 − x2 = 1−x1 + 2x2 − x3 = 1

−x2 + (2 + ε)x3 − x4 = 1−x3 + 2x4 − x5 = 1

x4 − x5 = 1

a) Escreva na forma Ax = b e resolva usando Eliminação Gaus-siana para ε = 10−3 no Scilab.

b) Obtenha o vetor incógnita x com ε = 10−3 usando o comandoA\b.

Page 234: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) Obtenha o vetor incógnita x com ε = 10−3 usando Jacobi comtolerância 10−2. Compare o resultado com o resultado obtidono item d.

d) Obtenha o vetor incógnita x com ε = 10−3 usando Gauss-Seidel com tolerância 10−2. Compare o resultado com o resul-tado obtido no item d.

e) Discuta com base na relação esperada entre tolerância e exa-tidão conforme estudado na primeira área para problemas deuma variável.

E 4.4.2. Resolva o seguinte sistema pelo método de Jacobi e Gauss-Seidel:

5x1 + x2 + x3 = 50

−x1 + 3x2 − x3 = 10

x1 + 2x2 + 10x3 = −30

Page 235: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Use como critério de paragem tolerância inferior a 10−3 e inicializecom x0 = y0 = z0 = 0.

E 4.4.3. Refaça a questão 4.1.6 construindo um algoritmo queimplemente os métodos de Jacobi e Gauss-Seidel.

E 4.4.4. Considere o seguinte sistema de equações lineares:

x1 − x2 = 0−xj−1 + 5xj − xj+1 = cos(j/10), 2 ≤ j ≤ 10

x11 = x10/2 (4.1)

Construa a iteração para encontrar a solução deste problema pelosmétodos de Gauss-Seidel e Jacobi. Usando esses métodos, encontreuma solução aproximada com erro absoluto inferior a 10−5.

E 4.4.5. Resolva o problema 4.5.5 pelos métodos de Jacobi eGauss-Seidel.

Page 236: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.4.6. Faça uma permutação de linhas no sistema abaixo eresolva pelos métodos de Jacobi e Gauss-Seidel:

x1 + 10x2 + 3x3 = 274x1 + x3 = 6

2x1 + x2 + 4x3 = 12

Page 237: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

4.5 Método da potência para cálculo deautovalores

Consideremos uma matriz A ∈ Rn,n diagonalizável, isto é, existe umconjunto vjnj=1 de autovetores de A tais que qualquer elementox ∈ Rn pode ser escrito como uma combinação linear dos vj. Sejamλjnj=1 o conjunto de autovalores associados aos autovetores tal queum deles seja dominante, ou seja,

|λ1| > |λ2| ≥ |λ3| ≥ · · · |λn| > 0

Como os autovetores são LI, todo vetor x ∈ Rn, x = (x1,x2,...,xn),pode ser escrito com combinação linear dos autovetores da seguinteforma:

x =n∑j=1

βjvj. (4.2)

O método da potência permite o cálculo do autovetor dominantecom base no comportamento assintótico (i.e. "no infinito") da sequên-

Page 238: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ciax,Ax,A2x,A3x, . . .

.Por questões de convergência, consideramos a seguinte sequênciasemelhante à anterior, porém normalizada:

x

‖x‖,Ax

‖Ax‖,A2x

‖A2x‖,A3x

‖A3x‖, . . . ,

que pode ser obtida pelo seguinte processo iterativo:

x(k+1) = Akx

‖Akx‖

Observamos que se x está na forma (4.2), então Akx pode ser escritocomo

Akx =n∑j=1

βjAkvj =

n∑j=1

βjλkjvj = β1λ

k1

v1 +n∑j=2

βjβ1

(λjλ1

)kvj

Page 239: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Como∣∣∣λjλ1

∣∣∣ < 1 para todo j ≥ 2, temosn∑j=2

βjβ1

(λjλ1

)kvj → 0.

AssimAkx

‖Akx‖= β1λ

k1

‖Akx‖

v1 +O

∣∣∣∣∣λ2

λ1

∣∣∣∣∣k) (4.3)

Como a norma de Akx‖Akx‖ é igual a um, temos∥∥∥∥∥ β1λ

k1

‖Akx‖v1

∥∥∥∥∥→ 1

e, portanto, ∣∣∣∣∣ β1λk1

‖Akx‖

∣∣∣∣∣→ 1‖v1‖

Ou seja, se definimos α(k) = β1λk1‖Akx‖ , então

|α(k)| → 1

Page 240: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Retornando a (4.3), temos:

Akx

‖Akx‖− α(k)v1 → 0

Observe que um múltiplo de autovetor também é um autovetor e,portanto,

Akx

‖Akx‖é um esquema que oscila entre os autovetores ou converge para oautovetor v1.Uma vez que temos o autovetor v1 de A, podemos calcular λ1 daseguinte forma:

Av1 = λ1v1 =⇒ vT1 Av1 = vT1 λ1v1 =⇒ λ1 = vT1 Av1

vT1 v1

Observe que a última identidade é válida, pois ‖v1‖ = 1 por cons-trução.

Page 241: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 4.5.1. Calcule o autovalor dominante e o autovetor associado damatriz

4 41 78

48 28 21

26 13 11

Expresse sua resposta com seis dígitos significativos

E 4.5.2. Calcule o autovalor dominante e o autovetor associado damatriz 3 4

2 −1

usando o método da potência inciando com o vetor x = [1 1]T

Page 242: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.5.3. A norma L2 de um matriz A é dada pela raiz quadradado autovalor dominante da matriz A∗A, isto é:

‖A‖2 =√

max|λ| : λ ∈ σ(A∗A) :

Use o método da potência para obter a norma L2 da seguinte matriz:

A =

69 84 88

15 −40 11

70 41 20

Expresse sua resposta com seis dígitos significativos

E 4.5.4. Os autovalores de uma matriz triangular são os elementosda diagonal principal. Verifique o método da potência aplicada à

Page 243: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

seguinte matriz: 2 3 1

0 3 −1

0 0 1

.

Page 244: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios finais

E 4.5.5.

1. O circuito linear da figura 1 pode ser modelado pelo sistema(4.4). Escreva esse sistema na forma matricial sendo as ten-sões V1, V2, V3, V4 e V5 as cinco incógnitas. Resolva esseproblema quando V = 127 e

a) R1 = R2 = R3 = R4 = 2 e R5 = R6 = R7 = 100 eR8 = 50

b) R1 = R2 = R3 = R4 = 2 e R5 = 50 e R6 = R7 = R8 =100

Page 245: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

V1 = V (4.4a)V1 − V2

R1+ V3 − V2

R2− V2

R5= 0 (4.4b)

V2 − V3

R2+ V4 − V3

R3− V3

R6= 0 (4.4c)

V3 − V4

R3+ V5 − V4

R4− V4

R7= 0 (4.4d)

V4 − V5

R4− V5

R8= 0 (4.4e)

Page 246: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Complete a tabela abaixo representado a solução com 4 al-garismos significativos:

Caso V1 V2 V3 V4 V5

a

bEntão, refaça este problema reduzindo o sistema para apenas4 incógnitas (V2, V3, V4 e V5).

E 4.5.6. Resolva os seguintes problemas:

a) Encontre o polinômio P (x) = ax2 + bx + c que passa pelospontos (−1,− 3), (1,− 1) e (2,9).

b) Encontre os coeficientes A e B da função f(x) = A sin(x) +B cos(x) tais que f(1) = 1.4 e f(2) = 2.8.

Page 247: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) Encontre a função g(x) = A1 sin(x)+B1 cos(x)+A2 sin(2x)+B2 cos(2x) tais que f(1) = 1, f(2) = 2, f(3) = 3 e f(4) = 4.

Page 248: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 5

Solução de sistemas deequações não lineares

O método de Newton aplicado a encontrar a raiz x∗ da funçãoy = f(x) estudado na primeira área de nossa disciplina consisteem um processo iterativo. Em cada passo deste processo, dispomos

241

Page 249: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

de uma aproximação x(k) para x∗ e construímos uma aproximaçãox(k+1). Cada passo do método de Newton envolve os seguintes pro-cedimentos:

• Linearização da função f(x) no ponto x(k):

f(x) = f(x(k)) + (x− x(k))f ′(x(k)) +O(|x− x(k)|2

)

• A aproximação x(k+1) é definida como o valor de x em que alinearização f(x(k)) + (x− x(k))f ′(x(k)) passa por zero.

Observação: y = f(x(k)) + (x − x(k))f ′(x(k)) é a equação da retaque tangencia a curva y = f(x) no ponto (x(k),f(x(k))).Queremos, agora, generalizar o método de Newton a fim de resolverproblemas de várias equações e várias incógnitas, ou seja, encontrarx1,x2, . . . xn que satisfazem as seguinte equações:

Page 250: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

f1(x1,x2, . . . ,xn) = 0f2(x1,x2, . . . ,xn) = 0

...fn(x1,x2, . . . ,xn) = 0

Podemos escrever este problema na forma vetorial definindo o vetorx = [x1,x2, . . . ,xn]T e a função vetorial

F (x) =

f1(x1,x2, . . . ,xn)

f2(x1,x2, . . . ,xn)...

fn(x1,x2, . . . ,xn)

Exemplo 53. Suponha que queiramos resolver numericamente os

Page 251: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

seguinte sistema de duas equações e duas incógnitas:

x21

3 + x22 = 1

x21 + x2

24 = 1

Então definimos

F (x) =

x2

13 + x2

2 − 1

x21 + x2

24 − 1

Neste momento, dispomos de um problema na forma F (x) = 0 eprecisamos desenvolver uma técnica para linearizar a função F (x).Para tal, precisamos de alguns conceitos do Cálculo II.Observe que F (x)− F (x(0)) pode ser escrito como

Page 252: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

F (x)− F (x(0)) =

f1(x1,x2, . . . ,xn)− f1(x(0)1 ,x

(0)2 , . . . ,x(0)

n )

f2(x1,x2, . . . ,xn)− f2(x(0)1 ,x

(0)2 , . . . ,x(0)

n )...

fn(x1,x2, . . . ,xn)− fn(x(0)1 ,x

(0)2 , . . . ,x(0)

n )

Usamos a regra da cadeia

dfi = ∂fi∂x1

dx1 + ∂fi∂x2

dx2 + · · ·+ ∂fi∂xn

dxn =n∑j=1

∂fi∂xj

dxj

e aproximamos as diferenças por derivadas parciais:

fi(x1,x2, . . . ,xn)− fi(x(0)1 ,x

(0)2 , . . . ,x(0)

n ) ≈n∑j=1

∂fi∂xj

(xj − x(0)

j

)

Page 253: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portanto,

F (x)− F (x(0)) ≈

∂f1∂x1

∂f1∂x2

· · · ∂f1∂xn

∂f2∂x1

∂f2∂x2

· · · ∂f2∂xn

... ... . . . ...

∂fn∂x1

∂fn∂x2

· · · ∂fn∂xn

x1 − x(0)1

x2 − x(0)2

...

xn − x(0)n

(5.1)

Page 254: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definimos então a matriz jacobiana por

JF = ∂(f1,f2, . . . ,fn)∂(x1,x2, . . . ,xn) =

∂f1∂x1

∂f1∂x2

· · · ∂f1∂xn

∂f2∂x1

∂f2∂x2

· · · ∂f2∂xn

... ... . . . ...

∂fn∂x1

∂fn∂x2

· · · ∂fn∂xn

A matriz jacobiana de uma função ou simplesmente, o Jacobiano deuma função F (x) é a matriz formada pelas suas derivadas parciais:

(JF )ij = ∂fi∂xj

Page 255: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Nestes termos podemos reescrever (5.1) como

F (x) ≈ F (x(0)) + JF (x(0))(x− x(0))

Esta expressão é chama de linearização de F (x) no ponto x(0) e ge-neraliza a linearização em uma dimensão dada por f(x) ≈ f(x(0))+f ′(x(0))(x− x(0))

Page 256: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

5.1 O método de Newton para sistemasVamos agora construir o método de Newton-Raphson, ou seja, ométodo de Newton generalizado para sistemas. Assumimos, por-tanto, que a função F (x) é diferenciável e que existe um ponto x∗tal que F (x∗) = 0. Seja x(k) uma aproximação para x∗, queremosconstruir uma nova aproximação x(k+1) através da linearização deF (x) no ponto x(k).

• Linearização da função F (x) no ponto x(k):

F (x) = F (x(k)) + JF(x(k)

) (x− x(k)

)+O

(‖x− x(k)‖2

)

• A aproximação x(k) é definida como o ponto x em que a line-arização F (x(k)) + JF

(x(k)

) (x− x(k)

)é nula, ou seja:

F (x(k)) + JF(x(k)

) (x(k+1) − x(k)

)= 0

Page 257: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Supondo que a matriz jacobina seja inversível no ponto x(k), temos:

JF(x(k)

) (x(k+1) − x(k)

)= −F (x(k))

x(k+1) − x(k) = −J−1F

(x(k)

)F (x(k))

x(k+1) = x(k) − J−1F

(x(k)

)F (x(k))

Desta forma, o método iterativo de Newton-Raphson para encontraras raízes de F (x) = 0 é dado por:

x(k+1) = x(k) − J−1F

(x(k)

)F (x(k)), n ≥ 0

x(0) = dado inicial

Page 258: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 12. Usamos subíndices para indicar o elemento deum vetor e super-índices para indicar o passo da iteração. Assimx(k) se refere à iteração k e x(k)

i se refere à componente i no vetorx(k).

Observação 13. A notação J−1F

(x(k)

)enfatiza que a jacobiana

deve ser calculada a cada passo.

Page 259: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 14. Podemos definir o passo ∆(k) como

∆(k) = x(k+1) − x(k)

Assim, ∆(k) = −J−1F

(x(k)

)F (x(k)), ou seja, ∆(k) resolve o pro-

blema linear:JF(x(k)

)∆(k) = −F (x(k))

Em geral, é menos custoso resolver o sistema acima do quecalcular o inverso da jacobiana e multiplicar pelo vetor F (x(k)).

Exemplo 54. Retornamos ao nosso exemplo inicial, isto é, resolvernumericamente os seguinte sistema não-linear:

x21

3 + x22 = 1

x21 + x2

24 = 1

Page 260: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para tal, definimos a função F (x):

F (x) =

x2

13 + x2

2 − 1

x21 + x2

24 − 1

cuja jacobiana é:

JF =

2x1

3 2x2

2x1x22

Faremos a implementação numérica no Scilab. Para tal definimosas funções que implementarão F (x) e a JF (x)

function y=F(x)y(1)=x(1)^2/3+x(2)^2-1y(2)=x(1)^2+x(2)^2/4-1

endfunction

Page 261: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

function y=JF(x)y(1,1)=2*x(1)/3y(1,2)=2*x(2)y(2,1)=2*x(1)y(2,2)=x(2)/2

endfunction

Alternativamente, estas funções poderiam ser escritas como

function y=F(x)y=[x(1)^2/3+x(2)^2-1; x(1)^2+x(2)^2/4-1]

endfunction

function y=JF(x)y=[2*x(1)/3 2*x(2); 2*x(1) x(2)/2]

endfunction

Desta forma, se x é uma aproximação para a raiz, pode-se calculara próxima aproximação através dos comandos:

Page 262: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

delta=-JF(x)\F(x)x=x+delta

Ou simplesmente

x=x-JF(x)\F(x)

Observe que as soluções exatas desse sistema são(±√

911 ,±

√811

).

Exemplo 55. Encontre uma aproximação para a solução do sis-tema

x21 = cos(x1x2) + 1

sin(x2) = 2 cos(x1)

que fica próxima ao ponto x1 = 1.5 e x2 = .5.Resp: (1,3468109, 0,4603195).

Page 263: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Solução. Vamos, aqui, dar as principais ideias para se obter a so-lução. Começamos definindo a função F (x) por:

F (x) =

x21 − cos(x1x2)− 1

sin(x2)− 2 cos(x1)

cuja jacobiana é:

JF (x) =

2x1 + x2 sin(x1x2) x1 sin(x1x2)

2 sin(x1) cos(x2)

No Scilab, podemos implementá-las com o seguinte código:function y=F(x)

y(1) = x(1)^2-cos(x(1)*x(2))-1y(2) = sin(x(2))-2*cos(x(1))

endfunction

Page 264: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

function y=JF(x)y(1,1) = 2*x(1)+x(2)*sin(x(1)*x(2))y(1,2) = x(1)*sin(x(1)*x(2))

y(2,1) = 2*sin(x(1))y(2,2) = cos(x(2))

endfunction

E agora, basta iterar:x=[1.5; .5]x=x-JF(x)\F(x) (5 vezes)

Page 265: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

5.1.1 Código Scilab: Newton para Sistemasfunction [x] = newton(F,JF,x0,TOL,N)

x = x0k = 1//iteracoeswhile (k <= N)

//iteracao de Newtondelta = -inv(JF(x))*F(x)x = x + delta//criterio de paradaif (norm(delta,'inf')<TOL) then

return xendk = k+1

enderror('Num. de iter. max. atingido!')

endfunction

Page 266: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 5.1.1. Encontre uma aproximação numérica para o seguinteproblema não-linear de três equações e três incógnitas:

2x1 − x2 = cos(x1)−x1 + 2x2 − x3 = cos(x2)

−x2 + x3 = cos(x3)

Partindo das seguintes aproximações iniciais:

a) x(0) = [1, 1, 1]T

b) x(0) = [−0,5, − 2, − 3]T

c) x(0) = [−2, − 3, − 4]T

d) x(0) = [0, 0, 0]T

Page 267: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

5.2 Linearização de uma função de vá-rias variáveis

Page 268: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

5.2.1 O gradienteConsidere primeiramente uma função f : Rn → R, ou seja, umafunção que mapeia n variáveis reais em um único real, por exemplo:

f(x) = x21 + x2

2/4

Para construirmos a linearização, fixemos uma direção no espaçoRn, ou seja um vetor v:

v = [v1, v2, · · · , vn]T

Queremos estudar como a função f(x) varia quando “andamos” nadireção v a partir do ponto x(0). Para tal, inserimos um parâmetroreal pequeno h, dizemos que

x = x(0) + hv

e definimos a função auxiliar

g(h) = f(x0 + hv).

Page 269: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observamos que a função g(h) é uma função de R em R.A linearização de g(h) em torno de h = 0 é dada por

g(h) = g(0) + hg′(0) +O(h2)Observamos que g(h) = f(x(0) + hv) e g(0) = f(x(0)). Precisamoscalcular g′(0):

g′(h) = d

dhg(h) = d

dhf(x(0) + hv)

Pela regra da cadeia temos:

d

dhf(x(0) + hv) =

n∑j=1

∂f

∂xj

dxjdh

Observamos que xj = x(0)j + hvj, portanto

dxjdh

= vj

Page 270: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Assim:

d

dhf(x(0) + hv) =

n∑j=1

∂f

∂xjvj

Observamos que esta expressão pode ser vista como o produto in-terno entre o gradiente de f e o vetor v:

∇f =

∂f∂x1

∂f∂x2...∂f∂xn

v =

v1

v2...

vn

Na notação cálculo vetorial escrevemos este produto interno como∇f · v = v · ∇f na notação de produto matricial, escrevemos(∇f)T v = vT∇f . Esta quantidade é conhecida como derivada di-recional de f no ponto x(0) na direção v, sobretudo quando ‖v‖ = 1.

Page 271: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Podemos escrever a linearização g(h) = g(0) + hg′(0) +O(h2) como

f(x(0) + hv) = f(x(0)) + h∇Tf(x(0)) v +O(h2)

Finalmente, escrevemos x = x(0) + hv, ou seja, hv = x− x(0)

f(x) = f(x(0)) +∇Tf(x(0)) (x− x(0)) +O(‖x− x(0)‖2)

Observação 15. Observe a semelhança com a linearização nocaso em uma dimensão. A notação ∇Tf(x(0)) é o transposto dovetor gradiente associado à função f(x) no ponto x(0):

∇Tf(x(0)) =∂f

(x(0)

)∂x1

,∂f

(x(0)

)∂x2

, · · · ,∂f

(x(0)

)∂xn

Page 272: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

5.2.2 A matriz jacobiana

Interessamo-nos, agora, pela linearização da função F : Rn → Rn.Lembramos que F (x) pode ser escrita como um vetor de funçõesfj : Rn → R:

F (x) =

f1(x)

f2(x)...

fn(x)

Page 273: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Linearizando cada uma das funções fj, temos:

F (x) =

f1(x(0)

)+∇Tf1(x(0))

(x− x(0)

)+O(‖x− x(0)‖2)

f2(x(0)

)+∇Tf2(x(0))

(x− x(0)

)+O(‖x− x(0)‖2)

...

fn(x(0)

)+∇Tfn(x(0))

(x− x(0)

)+O(‖x− x(0)‖2)

︸ ︷︷ ︸

Vetor coluna

Page 274: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ou, equivalentemente:

F (x) =

f1(x(0)

)

f2(x(0)

)

...

fn(x(0)

)

︸ ︷︷ ︸Vetor coluna

+

∇Tf1(x(0))

∇Tf2(x(0))

...

∇Tfn(x(0))

︸ ︷︷ ︸Matriz jacobiana

(x− x(0)

)︸ ︷︷ ︸

Vetor coluna

+O(‖x− x(0)‖2)

Podemos escrever a linearização de F (x) na seguinte forma maisenxuta:

F (x) = F(x(0)

)+ JF (x(0))

(x− x(0)

)+O

(∥∥∥x− x(0)∥∥∥2)

Page 275: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A matriz jacobiana JF é matriz cujas linhas são os gradientes trans-postos de fj, ou seja:

JF = ∂(f1,f2, . . . ,fn)∂(x1,x2, . . . ,xn) =

∂f1∂x1

∂f1∂x2

· · · ∂f1∂xn

∂f2∂x1

∂f2∂x2

· · · ∂f2∂xn

... ... . . . ...

∂fn∂x1

∂fn∂x2

· · · ∂fn∂xn

A matriz jacobiana de uma função ou simplesmente, o Jacobiano de

Page 276: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

uma função F (x) é a matriz formada pelas suas derivadas parciais:

(JF )ij = ∂fi∂xj

Exemplo 56. Calcule a matriz jacobiana da função

F (x) =

x2

13 + x2

2 − 1

x21 + x2

24 − 1

JF =

∂f1∂x1

∂f1∂x2

∂f2∂x1

∂f2∂x2

=

2x13 2x2

2x1x22

Page 277: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 6

Aproximação de funções

O problema geral da interpolação pode ser definido da seguinteforma:Seja F uma família de funções f : D → E e (xi,yi)Ni=1 um conjuntode pares ordenados tais que xi ∈ D e yi ∈ E, encontrar uma funçãof da família dada tal que f(xi) = yi para cada 1 ≤ i ≤ N .

270

Page 278: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 57. Encontrar uma função f(x) da forma f(x) = aebx

onde a e b são constantes tal que f(1) = 1 e f(2) = 5. Este problemaequivale a resolver o seguinte sistema de equações:

aeb = 1ae2b = 5

Dividindo a segunda equação pela primeira, temos eb = 5, logo,b = ln(5). Substituindo este valor em qualquer das equações, temosa = 1

5 . Assim

f(x) = 15e

ln(5)x = 155x = 5x−1.

Exemplo 58. Encontrar a função polinomial do tipo f(x) = a +bx + cx2 que passe pelos pontos (−1,2), (0,1), (1,6). Observamosque podemos encontrar os coeficientes a, b e c através do seguinte

Page 279: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

sistema linear:

a− b+ c = 2a = 1

a+ b+ c = 6

cuja solução é dada por a = 1, b = 2 e c = 3. Portanto

f(x) = 1 + 2x+ 3x2.

Page 280: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.1 Interpolação polinomialInterpolação polinomial é o caso particular do problema geral de in-terpolação quando a família de funções é constituída de polinômios.

Teorema 5. Seja (xi,yi)ni=0 um conjunto de n + 1 pares or-denados de números reais tais que

i 6= j =⇒ xi 6= xj (i.e. as abscissas são distintas)

então existe um único polinômio P (x) de grau igual ou inferiora n que passa por todos os pontos dados.

Demonstração. Observamos que o problema de encontrar os coefi-cientes a0, a1,. . . , an do polinômio

P (x) = a0 + a1x+ a2x2 + · · · anxn =

n∑k=0

akxk

Page 281: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

tal que P (xi) = yi é equivalente ao seguinte sistema linear de n+ 1equações e n+ 1 incógnitas:

a0 + a1x0 + a2x20 + · · ·+ anx

n0 = y0

a0 + a1x2 + a2x21 + · · ·+ anx

n1 = y1

...a0 + a1xn + a2x

2n + · · ·+ anx

nn = yn

que pode ser escrito na forma matricial como

1 x0 x20 · · · xn0

1 x1 x21 · · · xn1

1 x2 x22 · · · xn2

... ... ... . . . ...

1 xn x2n · · · xnn

a0

a1

a2...

an

=

y0

y1

y2...

yn

Page 282: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A matriz envolvida é uma matriz de Vandermonde de ordem n+ 1cujo determinante é dado por∏

0≤i<j≤n(xj − xi)

É fácil ver que se as abscissas são diferentes dois a dois, então odeterminante é não-nulo. Disto decorre que o sistema possui um asolução e que esta solução é única.Exemplo 59. Encontre o polinômio da forma P (x) = a0 + a1x +a2x

2 + a3x3 que passa pelos pontos

(0,1),(1,2),(2,4),(3,8)

Este problema é equivalente ao seguinte sistema linear:

a0 = 1a0 + a1 + a2 + a3 = 2

a0 + 2a1 + 4a2 + 8a3 = 4a0 + 3a1 + 9a2 + 27a3 = 8

Page 283: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

cuja solução é a0 = 1, a1 = 56 , a2 = 0 e a3 = 1

6 . Portanto

P (x) = 1 + 56x+ 1

6x3

Exemplo 60. Encontre o polinômio da forma P (x) = a0 + a1x +a2x

2 + a3x3 que passa pelos pontos

(0,0),(1,1),(2,4),(3,9)

Este problema é equivalente ao seguinte sistema linear:

a0 = 0a0 + a1 + a2 + a3 = 1

a0 + 2a1 + 4a2 + 8a3 = 4a0 + 3a1 + 9a2 + 27a3 = 9

cuja solução é a0 = 0, a1 = 0, a2 = 1 e a3 = 0. Portanto

P (x) = x2

Page 284: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Esta abordagem direta que fizemos ao calcular os coeficientes do po-linômio na base canônica se mostra ineficiente quando o número depontos é grande e quando existe grande discrepância nas abscissas.Neste caso a matriz de Vandermonde é mal-condicionada (ver [6]),acarretando um aumento dos erros de arredondamento na soluçãodo sistema.Uma maneira de resolver este problema é escrever o polinômio emuma base que produza um sistema mais bem-condicionado.

Page 285: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.2 Diferenças divididas de Newton

O método das diferenças divididas de Newton consistem em cons-truir o polinômio interpolador da seguinte forma:

P (x) = a0 + a1(x− x0) + a2(x− x0)(x− x1) + · · ·+ an(x− x0)(x− x1) · · · (x− xn−1).

Assim, o problema de calcular os coeficientes a0, a1, . . . , an é equi-valente ao seguinte sistema linear:

a0 = y0

a0 + a1(x1 − x0) = y1

a0 + a1(x2 − x0) + a2(x2 − x0)(x2 − x1) = y2...

a0 + a1(xn − x0) + a2(xn − x0)(xn − x1) + · · ·+ an(xn − x0) · · · (xn − xn−1) = yn

Page 286: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

. O qual é equivalente à sua forma matricial:

1 0 0 · · · 0

1 (x1 − x0) 0 · · · 0

1 (x2 − x0) (x2 − x0)(x2 − x1) · · · 0...

...... . . . ...

1 (xn − x0) (xn − x0)(xn − x1) · · · (xn − x0) · · · (xn − xn−1)

a0

a1

a2...

an

=

y0

y1

y2...

yn

Este é um sistema triangular inferior que pode ser facilmente resol-vido conforme:

a0 = y0

a1 = y1 − a0

x1 − x0= y1 − y0

x1 − x0

a2 = y2 − a1(x2 − x0)− a0

(x2 − x0)(x2 − x1) =y2−y1

(x2−x1) −y1−y0

(x1−x0)

(x2 − x0). . .

Page 287: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A solução deste sistema pode ser escrita em termos das DiferençasDivididas de Newton, definidas recursivamente conforme:

f [xj] = yj

f [xj,xj+1] = f [xj+1]− f [xj]xj+1 − xj

f [xj,xj+1,xj+2] = f [xj+1,xj+2]− f [xj,xj+1]xj+2 − xj

...

Nesta notação, temos ak = f [x0,x1,x2, . . . ,xk]

Page 288: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Podemos esquematizar o método na seguinte tabela:

j xj f [xj] f [xj−1,xj] f [xj−2,xj−1,xj]

0 x0 f [x0]

f [x0,x1] = f [x1]−f [x0]x1−x0

1 x1 f [x1] f [x0,x1,x2] = f [x1,x2]−f [x0,x1]x2−x0

f [x1,x2] = f [x2]−f [x1]x2−x1

2 x2 f [x2]

Page 289: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 61. Encontrar o polinômio que passe pelos seguintes pon-tos

(−1,3),(0,1),(1,3),(3,43)

Page 290: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

j xj f [xj] f [xj−1,xj] f [xj−2,xj−1,xj] f [xj−3,xj−2,xj−1,xj]

0 −1 3

1−30−(−1) = −2

1 0 1 2−(−2)1−(−1) = 2

3−11−0 = 2 6−2

3−(−1) = 1

2 1 3 20−23−0 = 6

43−33−1 = 20

3 3 43

Page 291: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portanto

P (x) = 3− 2(x+ 1) + 2(x+ 1)x+ (x+ 1)x(x− 1)= x3 + 2x2 − x+ 1

Page 292: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 6.2.1. Considere o seguinte conjunto de pontos:

(−2,− 47),(0,− 3),(1,4)(2,41)

. Encontre o polinômio interpolador usando os métodos vistos.

E 6.2.2. No Scilab, faça um gráfico com os pontos e o polinômiointerpolador do Exercício 6.2.1.

Page 293: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.3 Polinômios de LagrangeOutra maneira clássica de resolver o problema da interpolação poli-nomial é através do polinômios de Lagrange. Dado um conjunto depontos xjnj=1 distintos dois a dois, definimos os polinômios de La-grange como os polinômios de grau n−1 que satisfazem as seguintescondições:

Lk(xj) =

1, k = j

0, k 6= j

Assim, a solução do problema de encontrar os polinômios de graun− 1 tais P (xj) = yj,j = 1, · · · ,n é dado por

P (x) = y1L1(x) + y2L2(x) + · · ·+ ynLn(x) =n∑j=1

yjLj(x)

Para construir os polinômios de Lagrange, basta olhar para sua

Page 294: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

forma fatorada, ou seja:

Lk(x) = Ck∏

1≤j 6=k≤n(x− xj)

onde o coeficiente Ck é obtido da condição Lk(xk) = 1:

Lk(xk) = Ck∏

1≤j 6=k≤n(xk − xj) =⇒ Ck = 1∏

1≤j 6=k≤n(xk − xj)

Portanto,

Lk(x) =∏

1≤j 6=k≤n

(x− xj)(xk − xj)

Observação 16. O problema de interpolação quando escritousando como base os polinômios de Lagrange produz um sis-tema linear diagonal.

Page 295: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 62. Encontre o polinômio da forma P (x) = a0 + a1x +a2x

2 + a3x3 que passa pelos pontos

(0,0),(1,1),(2,4),(3,9)

Escrevemos:

L1(x) = (x− 1)(x− 2)(x− 3)(0− 1)(0− 2)(0− 3) = −1

6x3 + x2 − 11

6 x+ 1

L2(x) = x(x− 2)(x− 3)1(1− 2)(1− 3) = 1

2x3 − 5

2x2 + 3x

L3(x) = x(x− 1)(x− 3)2(2− 1)(2− 3) = −1

2x3 + 2x2 − 3

2x

L4(x) = x(x− 1)(x− 2)3(3− 1)(3− 2) = 1

6x3 − 1

2x2 + 1

3x

Assim temos:

P (x) = 0 · L1(x) + 1 · L2(x) + 4 · L3(x) + 9 · L4(x) = x2

Page 296: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 63. Encontre o polinômio da forma P (x) = a0 + a1x +a2x

2 + a3x3 que passa pelos pontos

(0,0),(1,1),(2,0),(3,1)

Como as abscissas são as mesmas do exemplo anterior, podemosutilizar os mesmos polinômios de Lagrange, assim temos:

P (x) = 0 ·L1(x) + 1 ·L2(x) + 0 ·L3(x) + 1 ·L4(x) = 23x

3− 3x2 + 103 x

Page 297: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e
Page 298: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.4 Aproximação de funções reais porpolinômios interpoladores

Teorema 6. Dados n + 1 pontos distintos, x0, x1, · · · , xn,dentro de um intervalo [a,b] e uma função f com n+1 derivadascontínuas nesse intervalo (f ∈ Cn+1[a,b]), então para cada x em[a,b], existe um número ξ(x) em (a,b) tal que

f(x) = P (x) + f (n+1)(ξ(x))(n+ 1)! (x− x0)(x− x1) · · · (x− xn),

onde P (x) é o polinômio interpolador. Em especial, pode-sedizer que

|f(x)− P (x)| ≤ M

(n+ 1)! |(x− x0)(x− x1) · · · (x− xn)| ,

ondeM = max

x∈[a,b]|f (n+1)(ξ(x))|

Page 299: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 64. Considere a função f(x) = cos(x) e o polinômio P (x)de grau 2 tal que P (0) = cos(0) = 1, P (1

2) = cos(12) e P (1) = cos(1).

Use a fórmula de Lagrange para encontrar P (x). Encontre o erromáximo que se assume ao aproximar o valor de cos(x) pelo de P (x)no intervalo [0,1]. Trace os gráficos de f(x) e P (x) no intervalo [0,1]no mesmo plano cartesiano e, depois, trace o gráfico da diferençacos(x)− P (x). Encontre o erro efetivo máximo | cos(x)− P (x)|.

P (x) = 1(x− 1

2)(x− 1)(0− 1

2)(0− 1) + cos(1

2

) (x− 0)(x− 1)(1

2 − 0)(12 − 1) + cos(1)

(x− 0)(x− 12)

(1− 0)(1− 12)

≈ 1− 0,0299720583066x− 0,4297256358252x2

L1=poly([.5 1],'x');L1=L1/horner(L1,0)L2=poly([0 1],'x');L2=L2/horner(L2,0.5)L3=poly([0 .5],'x');L3=L3/horner(L3,1)P=L1+cos(.5)*L2+cos(1)*L3x=[0:.05:1]

Page 300: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

plot(x,cos)plot(x,horner(P,x),'red')plot(x,horner(P,x)-cos(x))

Para encontrar o erro máximo, precisamos estimar |f ′′′(x)| = | sin(x)| ≤sin(1) < 0,85 e

maxx∈[0,1]

∣∣∣∣x(x− 12

)(x− 1)

∣∣∣∣O polinômio de grau três Q(x) = x

(x− 1

2

)(x− 1) tem um mínimo

(negativo) em x1 = 3+√

36 e um máximo (positivo) em x2 = 3−

√3

6 .Logo:

maxx∈[0,1]

∣∣∣∣x(x− 12

)(x− 1)

∣∣∣∣ ≤ max|Q(x1)|, |Q(x2)| ≈ 0,0481125.

Portanto:

|f(x)− P (x)| < 0,853! 0,0481125 ≈ 0,0068159 < 7 · 10−3

Page 301: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para encontrar o erro efetivo máximo, basta encontrar o máximo de|P (x)−cos(x)|. O mínimo (negativo) de P (x)−cos(x) acontece emx1 = 4,29 ·10−3 e o máximo (positivo) acontece em x2 = 3,29 ·10−3.Portanto, o erro máximo efetivo é 4,29 · 10−3.

Exemplo 65. Considere o problema de aproximar o valor da inte-gral

∫ 10 f(x)dx pelo valor da integral do polinômio P (x) que coincide

com f(x) nos pontos x0 = 0, x1 = 12 e x2 = 1. Use a fórmula de

Lagrange para encontrar P (x). Obtenha o valor de∫ 10 f(x)dx e

encontre uma expressão para o erro de truncamento.

O polinômio interpolador de f(x) é

P (x) = f(0)(x− 1

2)(x− 1)(0− 1

2)(0− 1) + f(1

2

) (x− 0)(x− 1)(1

2 − 0)(12 − 1) + f(1)

(x− 0)(x− 12)

(1− 0)(1− 12)

= f(0)(2x2 − 3x+ 1) + f(1

2

)(−4x2 + 4x) + f(1)(2x2 − x)

Page 302: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e a integral de P (x) é:

∫ 1

0P (x)dx =

[f(0)

(23x

3 − 32x

2 + x)]1

0+[f(1

2

)(−4

3x3 + 2x2

)]1

0

+[f(1)

(23x

3 − 12x

2)]1

0

= f(0)(2

3 −32 + 1

)+ f

(12

)(−4

3 + 2)

+ f(1)(2

3 −12

)= 1

6f(0) + 23f

(12

)+ 1

6f(1)

Page 303: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para fazer a estimativa de erro usando o teorema (6), e temos

∣∣∣∣∫ 1

0f(x)dx−

∫ 1

0P (x)dx

∣∣∣∣ =∣∣∣∣∫ 1

0f(x)− P (x)dx

∣∣∣∣≤

∫ 1

0|f(x)− P (x)|dx

≤ M

6

∫ 1

0

∣∣∣∣x(x− 12

)(x− 1)

∣∣∣∣ dx= M

6

[∫ 1/2

0x(x− 1

2

)(x− 1)dx

−∫ 1

1/2x(x− 1

2

)(x− 1)dx

]

= M

6

[ 164 −

(− 1

64

)]= M

192 .

Lembramos que M = maxx∈[0,1] |f ′′′(x)|.

Page 304: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 17. Existem estimativas melhores para o erro detruncamento para este esquema de integração numérica. Vere-mos com mais detalhes tais esquemas na teoria de integraçãonumérica.

Exemplo 66. Use o resultado do exemplo anterior para aproximaro valor das seguintes integrais:

a)∫ 1

0ln(x+ 1)dx

b)∫ 1

0e−x

2dx

Solução. Usando a fórmula obtida, temos que∫ 1

0ln(x+ 1)dx ≈ 0,39± 1

96∫ 1

0e−x

2dx ≈ 0,75± 3,87

192

Page 305: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Page 306: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 6.4.1. Use as mesmas técnicas usadas o resultado do Exem-plo (65) para obter uma aproximação do valor de:∫ 1

0f(x)dx

através do polinômio interpolador que coincide com f(x) nos pontosx = 0 e x = 1.

Page 307: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.5 Ajuste de curvas pelo método dosmínimos quadrados

No problema de interpolação, desejamos encontrar uma função f(x)tal que

f(xj) = yj

para um conjunto de pontos dados.Existem diversas situações em que desejamos encontrar uma funçãoque se aproxime desses pontos.No problema de ajuste de curvas, busca-se a função f(x) de famíliade funções dadas que melhor se aproxima de um conjunto de pontosdados. O critério mais usado para o ajuste é critério dos mínimosquadrados, ou seja, buscamos a função f(x) da família que minimizaa soma dos erros elevados ao quadrado:

Eq = [f(x1)− y1]2+[f(x2)− y2]2+· · ·+[f(xn)− yn]2 =n∑j=1

[f(xj)− yj]2

Page 308: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Figura 6.1: Conjunto de 15 pontos e a reta que melhor se ajuste aeles pelo critério do mínimos quadrados.

Page 309: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 67. Encontre a função do tipo f(x) = ax que melhor seaproxima dos seguintes pontos:

(0,− 0,1), (1, 2), (2, 3,7) e (3, 7).

Solução. Defina

Eq = [f(x1)− y1]2 + [f(x2)− y2]2 + [f(x3)− y3]2 + [f(x4)− y4]2

temos que

Eq = [f(0) + 0,1]2 + [f(1)− 2]2 + [f(2)− 3,7]2 + [f(3)− 7]2

= [0,1]2 + [a− 2]2 + [2a− 3,7]2 + [3a− 7]2

Devemos encontrar o parâmetro a que minimiza o erro, portanto,calculamos:

∂Eq∂a

= 2[a− 2] + 4[2a− 3,7] + 6[3a− 7] = 28a− 60,8

Portanto o valor de a que minimiza o erro é a = 60,828 .

Page 310: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

x=[0 1 2 3]'y=[-.1 2 3.7 7]'plot2d(x,y,style=-4)

Exemplo 68. Encontre a função do tipo f(x) = bx+ a que melhoraproxima os pontos:

(0,− 0,1), (1, 2), (2, 3,7) e (3, 7).Solução.Eq = [f(0) + 0,1]2 + [f(1)− 2]2 + [f(2)− 3,7]2 + [f(3)− 7]2

= [a+ 0,1]2 + [a+ b− 2]2 + [a+ 2b− 3,7]2 + [a+ 3b− 7]2

Devemos encontrar os parâmetros a b que minimizam o erro, porisso, calculamos as derivadas parciais:∂Eq∂a

= 2[a+ 0,1] + 2[a+ b− 2] + 2[a+ 2b− 3,7] + 2[a+ 3b− 7]∂Eq∂b

= 2[a+ b− 2] + 4[a+ 2b− 3,7] + 6[a+ 3b− 7]

Page 311: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

O erro mínimo acontece quando as derivadas são nulas, ou seja:

8a+ 12b = 25,212a+ 28b = 60,8

Cuja solução é dada por a = −0,3 e b = 2,3. Portanto a função queprocuramos é f(x) = −0,3 + 2,3x. ♦

Page 312: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.6 O caso linear

Page 313: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.6.1 O método dos mínimos quadrados

Considere o sistema linear dado por Ax = b onde A é uma matrizn×m e b é um vetor de n linhas. Assumimos as seguintes hipóteses:

• n ≥ m. O número de linhas é igual ou superior ao número decolunas. (Mais equações que incógnitas)

• O posto de A é m, i.e., existem m linhas L.I. Isso implica queAv = 0 apenas quando v = 0

Neste caso, não seremos necessariamente capazes de encontrar umvetor x que satisfaça exatamente a equação Ax = b, pelo que es-tamos interessamos no problema de encontrar o vetor x (ordem m)que minimiza o erro quadrático dado por:

E :=n∑i=1

[zi − bi]2 (6.1)

Page 314: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde z = Ax e zi é linha i do vetor z, dado por:

zi = (Ax)i =m∑j=1

aijxj, i = 1, · · · ,n (6.2)

onde aij é o elemento de A na linha i e coluna j. Substituindo (6.2)em (6.1)

E :=n∑i=1

m∑j=1

aijxj − bi

2

(6.3)

Esta é uma função diferenciável nos coeficientes xj e portanto todoponto de mínimo acontece quando ∇E = 0, ou seja, quando

∂xlE = 0,∀1 ≤ l ≤ m

O que implica a seguinte condição

0 = ∂

∂xlE =

n∑i=1

2 m∑j=1

aijxj − bi

ail, l = 1, · · · ,m

Page 315: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Equivalente a

n∑i=1

m∑j=1

ailxjaij =n∑i=1

ailbi, l = 1, · · · ,m

que pode ser reescrito na forma vetorial como:

∑ni=1

∑mj=1 ai1xjaij∑n

i=1∑mj=1 ai2xjaij...∑n

i=1∑mj=1 aimxjaij

=

∑ni=1 ai1bi∑ni=1 ai2bi

...∑ni=1 aimbi

(6.4)

Observamos agora que a expressão (6.4) é equivalente ao seguinteproblema matricial:

ATAx = AT b (6.5)

Page 316: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Teorema 7. A matriz M = ATA é quadrada de ordem m e éinvertível sempre que o posto da matriz A é igual a número decolunas m.

Demonstração. Para provar que M é invertível precisamos mostrarque Mv = 0 implica v = 0:

Mv = 0 =⇒ ATAv = 0

tomando o produto interno da expressão 0 = ATAv com v, temos:

0 =⟨ATAv,v

⟩= 〈Av,Av〉 = ‖Av‖2

Então se Mv = 0 Av = 0, como o posto de A é igual ao número decolunas, v = 0.

Outra propriedade importante é que M é simétrica, ou seja, M =MT . Isso é facilmente provado pelo seguinte argumento:

MT = (ATA)T = (A)T (AT )T = ATA = M

Page 317: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.6.2 Ajuste linear de curvasSeja f1(x), f2(x), . . . , fm(x) um conjunto dem funções e (x1,y1), (x2,y2), . . . , (xn,yn)um conjunto de n pontos. Procuram-se os coeficientes a1,a2, . . . , amtais que a função dada por

f(x) = a1f1(x) + a2f2(x) + . . .+ amfm(x)

minimiza o erro dado por

Eq =n∑i=1

[f(xi)− yi]2

como f(x) = ∑mj=1 ajfj(x), temos

Eq =n∑i=1

m∑j=1

ajfj(xi)− yi

2

Este problema é equivalente a resolver pelo métodos dos mínimos

Page 318: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

quadrados o seguinte sistema linear:

f1(x1) f2(x1) · · · fm(x1)

f1(x2) f2(x2) · · · fm(x2)

f1(x3) f2(x3) · · · fm(x3)... ... . . . ...

f1(xn) f2(xn) · · · fm(xn)

a1

a2...

am

=

y1

y2

y3...

yn

Exemplo 69. Encontre a reta que melhor aproxima o seguinte con-junto de dados:

Page 319: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

xi yi

0,01 1,99

1,02 4,55

2,04 7,20

2,95 9,51

3,55 10,82

Solução. Desejamos então encontrar os valores de a e b tais que afunção f(x) = ax + b melhor se ajusta aos pontos da tabela. Afimde usar o critério dos mínimos quadrados, escrevemos o problema

Page 320: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

na forma matricial dada por:

0,01 1

1,02 1

2,04 1

2,95 1

3,55 1

a

b

=

1,99

4,55

7,2

9,51

10,82

Multiplicamos agora ambos os lados pela transposta:

0,01 1,02 2,04 2,95 3,55

1 1 1 1 1

Page 321: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

o que fornece:

0,01 1,02 2,04 2,95 3,55

1 1 1 1 1

0,01 1

1,02 1

2,04 1

2,95 1

3,55 1

a

b

=

0,01 1,02 2,04 2,95 3,55

1 1 1 1 1

1,99

4,55

7,2

9,51

10,82

Page 322: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

26,5071 9,57

9,57 5

a

b

=

85,8144

34,07

A solução desse sistema é a = 2,5157653 e b = 1,9988251A tabela abaixo mostra os valores dados e os valores ajustados:

xi yi axi + b axi + b− yi0,01 1,99 2,0239828 0,0339828

1,02 4,55 4,5649057 0,0149057

2,04 7,2 7,1309863 −0,0690137

2,95 9,51 9,4203327 −0,0896673

3,55 10,82 10,929792 0,1097919

Page 323: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 6.6.1. Encontrar a parábola y = ax2+bx+c que melhor aproximao seguinte conjunto de dados:

xi yi

0,01 1,99

1,02 4,55

2,04 7,2

2,95 9,51

3,55 10,82

e complete a tabela:

Page 324: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

xi yi ax2i + bxi + c ax2

i + bxi + c− yi0,01 1,99

1,02 4,55

2,04 7,20

2,95 9,51

3,55 10,82

Page 325: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e
Page 326: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 6.6.2. Dado o seguinte conjunto de dados

xi yi

0,0 31

0,1 35

0,2 37

0,3 33

0,4 28

0,5 20

0,6 16

0,7 15

0,8 18

0,9 23

1,0 31

Page 327: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Encontre a função do tipo f(x) = a+ b sin(2πx) + c cos(2πx)que melhor aproxima os valores dados.

• Encontre a função do tipo f(x) = a + bx + cx2 + dx3 quemelhor aproxima os valores dados.

Page 328: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.7 Aproximando problemas não linea-res por problemas lineares

Eventualmente, problemas de ajuste de curvas podem recair numsistema não linear. Por exemplo, se desejamos ajustar a funçãoy = Aebx ao conjunto de pontos (x0,y0), (x1,y1) e (x2,y2), temos queminimizar o funcional

Eq = (Aex0b − y0)2 + (Aex1b − y1)2 + (Aex2b − y2)2

ou seja, resolver o sistema∂Eq∂A

= 2(Aex0b − y0)ex0b + 2(Aex1b − y1)ex1b + 2(Aex2b − y2)ex2b = 0∂Eq∂b

= 2Ax0(Aex0b − y0)ex0b + 2Ax1(Aex1b − y1)ex1b

+ 2x2A(Aex2b − y2)ex2b = 0

que é não linear em A e b. Esse sistema pode ser resolvido pelo mé-todo de Newton-Raphson, o que pode se tornar custoso, ou mesmo

Page 329: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

inviável quando não dispomos de uma boa aproximação da soluçãopara inicializar o método.Felizmente, algumas famílias de curvas admitem uma transformaçãoque nos leva a um problema linear. No caso da curva y = Aebx,observe que ln y = lnA + bx. Assim, em vez de ajustar a curvaoriginal y = Aebx a tabela de pontos, ajustamos a curva submetidaa transformação logarítmica

z = lnA+ bx := B + bx.

Usamos os três pontos (x0, ln y0) := (x0, y0), (x1, ln y1) := (x1,y1) e(x2, ln y2) := (x2,y2) e resolvemos o sistema linear

ATA

B

b

= AT

y0

y1

y2

,

Page 330: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde

A =

1 x0

1 x1

1 x2

Exemplo 70. Encontre uma curva da forma y = Aex que melhorajusta os pontos (1,2), (2,3) e (3,5).

Temos

A =

1 1

1 2

1 3

e a solução do sistema leva em B = 0,217442 e b = 0,458145.Portanto, A = e0,217442 = 1,24289.

Page 331: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 18. Os coeficientes obtidos a partir dessa lineari-zação são aproximados, ou seja, são diferentes daqueles ob-tidos quando aplicamos mínimos quadrados não linear. Ob-serve que estamos minimizando

∑i

[ln yi− ln(f(xi))]2 em vez de∑i

[yi−f(xi)]2. No exemplo resolvido, a solução do sistema não

linear original seria A = 1,19789 e B = 0,474348

Observação 19. Mesmo quando se deseja resolver o sistema nãolinear, a solução do problema linearizado pode ser usada paraconstruir condições iniciais.

A próxima tabela apresenta algumas curvas e transformações que

Page 332: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

linearizam o problema de ajuste.

curva transformação problema linearizado

y = aebx Y = ln y Y = ln a+ bx

y = axb Y = ln y Y = ln a+ b ln x

y = axbecx Y = ln y Y = ln a+ b ln x+ cx

y = ae(b+cx)2Y = ln y Y = ln a+ b2 + bcx+ c2x2

y = ab+x Y = 1

yY = b

a+ 1

ax

y = A cos(ωx+ φ)

ω conhecido−

y = a cos(ωx)− b sin(ωx),

a = A cos(φ), b = A sin(φ)

Exemplo 71. Encontre a função f da forma y = f(x) = A cos(2πx+

Page 333: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

φ) que ajusta a tabela de pontos

xi yi

0,0 9,12

0,1 1,42

0,2 - 7,76

0,3 - 11,13

0,4 - 11,6

0,5 - 6,44

0,6 1,41

0,7 11,01

0,8 14,73

0,9 13,22

1,0 9,93

Page 334: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Solução. Usando o fato que y = A cos(2πx + φ) = a cos(2πx) −b sin(2πx), onde a = A cos(φ) e b = A sin(φ), z = [ a b ]T é soluçãodo problema

BTBz = BTy,

Page 335: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde

B=

cos(2πx0) − sin(2πx0)

cos(2πx1) − sin(2πx1)...

cos(2πx10) − sin(2πx10)

=

1. 0.

0,8090170 −0,5877853

0,3090170 −0,9510565

−0,3090170 −0,9510565

−0,8090170 −0,5877853

−1,0000000 0,0000000

−0,8090170 0,5877853

−0,3090170 0,9510565

0,3090170 0,9510565

0,8090170 0,5877853

1,0000000 0,0000000

.

Page 336: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Assim, a = 7,9614704 e b = 11,405721 e obtemos o seguinte sistema: A cos(φ) = 7,9614704

A sin(φ) = 11,405721.

Observe queA2 = 7,96147042 + 11,4057212

e, escolhendo A > 0, A = 13,909546 e

sin(φ) = 11,40572113,909546 = 0,8199923

Assim, como cosφ também é positivo, φ é um ângulo do primeiroquadrante:

φ = 0,9613976Portanto f(x) = 13,909546 cos(2πx+0,9613976). Observe que nesseexemplo a solução do problema linear é a mesma do problema nãolinear. ♦

Page 337: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 72. Encontre a função f da forma y = f(x) = ab+x que

ajusta a tabela de pontos

xi yi

0,0 101

0,2 85

0,4 75

0,6 66

0,8 60

1,0 55

usando uma das transformações tabeladas.

Solução. Usando o fato que Y = 1y

= ba

+ 1ax, z = [ b

a1a

]T ésolução do problema

ATAz = ATY,

Page 338: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde

A =

1 x1

1 x2

1 x3

1 x4

1 x5

1 x6

=

1 0,0

1 0,2

1 0,4

1 0,6

1 0,8

1 1,0

Page 339: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e

Y =

1/y1

1/y2

1/y3

1/y4

1/y5

1/y6

=

0,0099010

0,0117647

0,0133333

0,0151515

0,0166667

0,0181818

Assim, 1

a= 0,0082755 e b

a= 0,0100288 e, então, a = 120,83924 e

b = 1,2118696, ou seja, f(x) = 120,839241,2118696+x . ♦

Page 340: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.8 Interpolação linear segmentada

Considere o conjunto (xi,yi)nj=1 de n pontos. Assumiremos quexi+1 > xi, ou seja, as abscissas são distintas e estão em ordemcrescente. A função linear que interpola os pontos xi e xi+1 nointervalo i é dada por

Pi(x) = yi(xi+1 − x)(xi+1 − xi)

+ yi+1(x− xi)

(xi+1 − xi)

O resultado da interpolação linear segmentada é a seguinte funçãocontínua definida por partes no intervalo [x1,xn]:

f(x) = Pi(x), x ∈ [xi,xi+1]

Exemplo 73. Construa uma função linear por partes que interpolaos pontos (0,0), (1,4), (2,3), (3,0), (4,2), (5,0).

Page 341: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A função procurada pode ser construída da seguinte forma:

f(x) =

0x−1

0−1 + 1x−01−0 , 0 ≤ x < 1

4x−21−2 + 3x−1

2−1 , 1 ≤ x < 2

3x−32−3 + 0x−2

3−2 , 2 ≤ x ≤ 3

Simplificando, obtemos:

f(x) =

x , 0 ≤ x < 1

−x+ 5 , 1 ≤ x < 2

−3x+ 9 , 2 ≤ x ≤ 3

A Figura 6.2 é um esboço da função f(x) obtida. Ela foi gerada noScilab usando os comandos:

//pontos fornecidosxi = [0;1;2;3;4;5]

Page 342: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

yi = [0;4;3;0;2;0]//numero de pontosn = 6//funcao interpoladorafunction [y] = f(x)

for i=1:n-2if ((x>=xi(i)) & (x<xi(i+1))) then

y = yi(i)*(x-xi(i+1))/(xi(i) - xi(i+1)) ...+ yi(i+1)*(x-xi(i))/(xi(i+1) - xi(i));

endend

if ((x>=xi(n-1)) & (x<=xi(n))) theny = yi(n-1)*(x-xi(n))/(xi(n-1) - xi(n)) ...

+ yi(n)*(x-xi(n-1))/(xi(n) - xi(n-1));end

endfunction//graficando

Page 343: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

xx = linspace(xi(1),xi(n),500)';clear yyfor i=1:max(size(xx))

yy(i) = f(xx(i))endplot(xi,yi,'r.',xx,yy,'b-')

Page 344: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Figura 6.2: Interpolação linear segmentada.

Page 345: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.9 Interpolação cúbica segmentada - splineDado um conjunto de n pontos (xj,yj)nj=1 tais que xj+1 > xj, ouseja, as abscissas são distintas e estão em ordem crescente; um splinecúbico que interpola estes pontos é uma função s(x) com as seguintespropriedades:

i Em cada segmento [xj,xj+1], j = 1,2, . . . n − 1 s(x) é um po-linômio cúbico.

ii para cada ponto, s(xj) = yj, i.e., o spline interpola os pontosdados.

iii s(x) ∈ C2, i.e., é função duas vezes continuamente diferenciá-vel.

Da primeira hipótese, escrevemos

s(x) = sj(x),x ∈ [xj,xj+1], j = 1, . . . , n− 1

Page 346: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

com

sj(x) = aj + bj(x− xj) + cj(x− xj)2 + dj(x− xj)3

O problema agora consiste em obter os 4 coeficientes de cada umdesses n− 1 polinômios cúbicos.Veremos que a simples definição de spline produz 4n − 6 equaçõeslinearmente independentes:

sj(xj) = yj, j = 1, . . . , n− 1

sj(xj+1) = yj+1, j = 1, . . . , n− 1

s′j(xj+1) = s′j+1(xj+1), j = 1, . . . , n− 2

s′′j (xj+1) = s′′j+1(xj+1), j = 1, . . . , n− 2

Comos′j(x) = bj + 2cj(x− xj) + 3dj(x− xj)2 (6.6)

es′′j (x) = 2cj + 6dj(x− xj), (6.7)

Page 347: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

temos, para j = 1, . . . , n− 1, as seguintes equações

aj = yj,

aj + bj(xj+1 − xj) + cj(xj+1 − xj)2 + dj(xj+1 − xj)3 = yj+1,

bj + 2cj(xj+1 − xj) + 3dj(xj+1 − xj)2 = bj+1,

cj + 3dj(xj+1 − xj) = cj+1,

Por simplicidade, definimos

hj = xj+1 − xj

e temosaj = yj,

aj + bjhj + cjh2j + djh

3j = yj+1,

bj + 2cjhj + 3djh2j = bj+1,

cj + 3djhj = cj+1,

Page 348: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

que podem ser escrita da seguinte maneira

aj = yj, (6.8)

dj = cj+1 − cj3hj

, (6.9)

bj =yj+1 − yj − cjh2

j −cj+1−cj

3hj h3j

hj,

=3yj+1 − 3yj − 3cjh2

j − cj+1h2j + cjh

2j

3hj

=3yj+1 − 3yj − 2cjh2

j − cj+1h2j

3hj(6.10)

Trocando o índice j por j−1 na terceira equação (6.8), j = 2, . . . , n−1

bj−1 + 2cj−1hj−1 + 3dj−1h2j−1 = bj (6.11)

Page 349: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e, portanto,3yj − 3yj−1 − 2cj−1h

2j−1 − cjh2

j−1

3hj−1+ 2cj−1hj−1 + cjhj−1 − cj−1hj−1

=3yj+1 − 3yj − 2cjh2

j − cj+1h2j

3hj.

(6.12)Fazendo as simplificações, obtemos:

cj−1hj−1 + cj(2hj + 2hj−1) + cj+1hj = 3yj+1 − yjhj

− 3yj − yj−1

hj−1.

(6.13)É costumeiro acrescentar a incógnita cn ao sistema. A incógnitacn não está relacionada a nenhum dos polinômios interpoladores.Ela é uma construção artificial que facilita o cálculo dos coeficientesdo spline. Portanto, a equação acima pode ser resolvida para j =2, . . . , n− 1.Para determinar unicamente os n coeficientes cn precisamos acres-centar duas equações linearmente independentes às n− 2 equações

Page 350: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

dadas por (6.13). Essas duas equações adicionais definem o tipo despline usado.

Page 351: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.9.1 Spline naturalUma forma de definir as duas equações adicionais para completaro sistema (6.13) é impor condições de fronteira livres (ou naturais),ou seja,

S ′′(x1) = S ′′(xn) = 0. (6.14)Substituindo na equação (6.7)

s′′1(x1) = 2c1 + 6d1(x1 − x1) = 0 =⇒ c1 = 0.

es′′n−1(xn) = 2cn−1 + 6dn−1(xn − xn−1) = 0.

Usando o fato que

cn−1 + 3dn−1hn−1 = cn

temos que

cn = −3dn−1(xn − xn−1) + 3dn−1hn−1 = 0.

Page 352: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Essa duas equações para c1 e cn juntamente com as equações (6.13)formam um sistema de n equações Ac = z, onde

A =

1 0 0 0 · · · 0 0

h1 2h2 + 2h1 h2 0 · · · 0 0

0 h2 2h3 + 2h2 h3 · · · 0 0... ... ... ... . . . ... ...

0 0 0 · · · hn−2 2hn−2 + 2hn−1 hn−1

0 0 0 · · · 0 0 1

(6.15)

Page 353: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c =

c1

c2...

cn

e z =

0

3y3−y2h2− 3y2−y1

h1

3y4−y3h3− 3y3−y2

h2...

3yn−1−yn−2hn−2

− 3yn−2−yn−3hn−3

0

(6.16)

Observe que a matriz A é diagonal dominante estrita e, portanto,o sistema Ac = z possui solução única. Calculado c, os valores dosan, bn e dn são obtidos diretamente pelas expressões (6.8), (6.10) e(6.9), respectivamente.

Exemplo 74. Construa um spline cúbico natural que passe pelospontos (2, 4,5), (5,− 1,9), (9, 0,5) e (12,− 0,5).

Solução. O spline desejado é uma função definida por partes da

Page 354: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

forma:

f(x) =

a1 + b1(x− 2) + c1(x− 2)2 + d1(x− 2)3 , 2 ≤ x < 5

a2 + b2(x− 5) + c2(x− 5)2 + d2(x− 5)3 , 5 ≤ x < 9

a3 + b3(x− 9) + c3(x− 9)2 + d3(x− 9)3 , 9 ≤ x ≤ 12

.

(6.17)Os coeficientes c1, c2 e c3 resolvem o sistema Ac = z, onde

A =

1 0 0 0

3 2 · 3 + 2 · 4 4 0

0 4 2 · 4 + 2 · 3 3

0 0 0 1

=

1 0 0 0

3 14 4 0

0 4 14 3

0 0 0 1

Page 355: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c =

c1

c2

c3

c4

e z =

0

30,5−(−1,9)4 − 3 (−1,9)−4,5

3

3−0,5−0,53 − 30,5−(−1,9)

4

0

=

0

8,2

−2,8

0

Observe que c4 é um coeficiente artificial para o problema. A soluçãoé c1 = 0, c2 = 0,7, c3 = −0,4 e c4 = 0. Calculamos os demaiscoeficientes usando as expressões (6.8), (6.10) e (6.9):

a1 = y1 = 4,5a2 = y2 = −1,9a3 = y3 = 0,5

Page 356: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

d1 = c2 − c1

3h1= 0,7− 0

3 · 3 = 0,0777778

d2 = c3 − c2

3h2= −0,4− 0,7

3 · 4 = −0,0916667

d3 = c4 − c3

3h3= 0 + 0,4

3 · 3 = 0,0444444

Page 357: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b1 = y2 − y1

h1− h1

3 (2c1 + c2)

= −1,9− 4,53 − 3

3(2 · 0− 0,7) = −2,8333333

b2 = y3 − y2

h2− h2

3 (2c2 + c3)

= 0,5− (−1,9)4 − 4

3(2 · 0,7 + 0,4) = −0,7333333

b3 = y4 − y3

h3− h3

3 (2c3 + c4)

= −0,5− 0,53 − 3

3(2 · (−0,4) + 0) = 0,4666667

Portanto:

f(x) =

4,5− 2,833(x− 2) + 0,078(x− 2)3 , 2 ≤ x < 5

−1,9− 0,733(x− 5) + 0,7(x− 5)2 − 0,092(x− 5)3 , 5 ≤ x < 9

0,5 + 0,467(x− 9)− 0,4(x− 9)2 + 0,044(x− 9)3 , 9 ≤ x ≤ 12

Page 358: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

No Scilab, podemos utilizar:

X = [2 5 9 12]'Y = [4.5 -1.9 0.5 -0.5]'h = X(2:4)-X(1:3)A = [1 0 0 0;h(1) 2*h(1)+2*h(2) h(2) 0; ...

0 h(2) 2*h(2)+2*h(3) h(3);0 0 0 1 ]z = [0, 3*(Y(3)-Y(2))/h(2)-3*(Y(2)-Y(1))/h(1), ...

3*(Y(4)-Y(3))/h(3)-3*(Y(3)-Y(2))/h(2), 0]'c = A\zfor i=1:3

a(i) = Y(i)d(i) = (c(i+1)-c(i))/(3*h(i))b(i) = (Y(i+1)-Y(i))/h(i)-h(i)/3*(2*c(i)+c(i+1))

end

for i=1:3

Page 359: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

P(i) = poly([a(i) b(i) c(i) d(i)],'x','coeff')z = [X(i):.01:X(i+1)]plot(z,horner(P(i),z-X(i)))

end

Page 360: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

6.9.2 Spline fixadoAlternativamente, para completar o sistema (6.13), podemos imporcondições de contorno fixadas, ou seja,

S ′(x1) = f ′(x1)S ′(xn) = f ′(xn).

Substituindo na equação (6.6)

s′1(x1) = b1 + 2c1(x1 − x1) + 3dj(x1 − x1)2 = f ′(x1) =⇒ b1 = f ′(x1)(6.18)

es′n−1(xn) = bn−1 + 2cn−1(xn − xn−1) + 3dj(xn − xn−1)2

= bn−1 + 2cn−1hn−1 + 3dn−1h2n−1 = f ′(xn)

(6.19)

Usando as equações (6.9) e (6.10) para j = 1 e j = n− 1, temos:

2c1h1 + c2h1 = 3y2 − y1

h1− 3f ′(x1) (6.20)

Page 361: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e

cn−1hn−1 + cnhn−1 = 3f ′(xn)− 3yn − yn−1

hn−1(6.21)

Essas duas equações juntamente com as equações (6.13) formam umsistema de n equações Ac = z, onde

A =

2h1 h1 0 0 · · · 0 0

h1 2h2 + 2h1 h2 0 · · · 0 0

0 h2 2h3 + 2h2 h3 · · · 0 0... ... ... ... . . . ... ...

0 0 0 · · · hn−2 2hn−2 + 2hn−1 hn−1

0 0 0 · · · 0 hn−1 2hn−1

Page 362: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c =

c1

c2...

cn

e z =

3y2−y1h1− 3f ′(x1)

3y3−y2h2− 3y2−y1

h1

3y4−y3h3− 3y3−y2

h2...

3yn−1−yn−2hn−2

− 3yn−2−yn−3hn−3

3f ′(xn)− 3yn−yn−1hn−1

Observe que a matriz A é diagonal dominante estrita e, portanto,o sistema Ac = z possui solução única. Calculado c, os valores dosan, bn e dn são obtidos diretamente pelas expressões (6.8), (6.10) e(6.9), respectivamente.

Exemplo 75. Construa um spline cúbico com fronteira fixada queinterpola a função y = sin(x) nos pontos x = 0, x = π

2 , x = π,x = 3π

2 e x = 2π.

O spline desejado passa pelos pontos (0,0), (π/2,1), (π,0), (3π/2,−1)

Page 363: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e (2π,0) e tem a forma:

f(x) =

a1 + b1x+ c1x2 + d1x

3 , 0 ≤ x < π2

a2 + b2(x− π2 ) + c2(x− π

2 )2 + d2(x− π2 )3 , π2 ≤ x < π

a3 + b3(x− π) + c3(x− π)2 + d3(x− π)3 , π ≤ x < 3π2

a4 + b4(x− 3π2 ) + c4(x− 3π

2 )2 + d4(x− 3π2 )3 , 3π

2 ≤ x ≤ 2π

.

Observe que ele satisfaz as condição de contorno f ′(0) = cos(0) = 1e f ′(2π) = cos(2π) = 1.Os coeficientes c1, c2, c3 e c4 resolvem o sistema Ac = z, onde:

A =

π π/2 0 0 0

π/2 2π π/2 0 0

0 π/2 2π π/2 0

0 0 π/2 2π π/2

0 0 0 π/2 π

Page 364: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c =

c1

c2

c3

c4

c5

e z =

31−0π/2 − 3 · 1

30−1π/2 − 31−0

π/2

3−1−0π/2 − 30−1

π/2

30−(−1)π/2 − 3 (−1)−0

π/2

3 · 1− 30−(−1)π/2

=

6/π − 3

−12/π

0

12/π

3− 6/π

Aqui c5 é um coeficiente artificial para o problema. A solução éc1 = −0,0491874, c2 = −0,5956302, c3 = 0, c4 = 0,5956302 e c5 =0,0491874. Calculamos os demais coeficientes usando as expressões(6.8), (6.10) e (6.9):

a1 = y1 = 0a2 = y2 = 1a3 = y3 = 0a4 = y3 = −1

Page 365: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

d1 = c2 − c1

3h1= −0,5956302− (−0,0491874)

3 · π/2 = −0,1159588

d2 = c3 − c2

3h2= 0− (−0,5956302)

3 · π/2 = 0,1263967

d3 = c4 − c3

3h3= 0,5956302− 0

3 · π/2 = 0,1263967

d4 = c5 − c4

3h4= 0,0491874− 0,5956302

3 · π/2 = −0,1159588

Page 366: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b1 = y2 − y1

h1− h1

3 (2c1 + c2)

= 1− 0π/2 −

π/23 (2 · (−0,0491874)− 0,5956302) = 1

b2 = y3 − y2

h2− h2

3 (2c2 + c3)

= 0− 1π/2 −

π/23 (2 · (−0,5956302) + 0) = −0,0128772

b3 = y4 − y3

h3− h3

3 (2c3 + c4)

= −1− 0π/2 − π/2

3 (2 · 0 + 0,5956302) = −0,9484910

b4 = y5 − y4

h4− h4

3 (2c4 + c5)

= 0− (−1)π/2 − π/2

3 (2 · 0,5956302 + 0,0491874) = −0,0128772

Page 367: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Portanto,

f(x) =

x− 0,049x2 − 0,12x3 , 0 ≤ x < π2

1 +−0,01(x− π2 )− 0,6(x− π

2 )2 + 0,13(x− π2 )3 , π2 ≤ x < π

−0,95(x− π) + 0,13(x− π)3 , π ≤ x < 3π2

−1− 0,01(x− 3π2 ) + 0,6(x− 3π

2 )2 − 0,12(x− 3π2 )3 , 3π

2 ≤ x ≤ 2π

No Scilab, podemos resolver este problema fazendo:

//limpa memoriaclear A, B, a, b, c, d//pontos fornecidosxi = [0; %pi/2; %pi; 3*%pi/2; 2*%pi]yi = sin(xi)//numero de pontosn = 5disp('Pontos fornecidos:')

Page 368: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

disp([xi, yi])//vetor hh = xi(2:n) - xi(1:n-1);//matriz Afor i=1:n

for j=1:nif ((j==1) & (i==1)) then

A(i,j) = 2*h(1);elseif (j == i-1) then

A(i,j) = h(i-1);elseif ((i>1) & (i<n) & (i==j)) then

A(i,j) = 2*(h(i) + h(i-1));elseif (j==i+1) then

A(i,j) = h(i);elseif ((j==n) & (i==n)) then

A(i,j) = 2*h(n-1);else

A(i,j) = 0;

Page 369: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

endend

enddisp('Matriz A:')disp(A)//vetor zfor i=1:n

if ((i==1)) thenz(i) = 3*(yi(2)-yi(1))/h(1) - 3*cos(xi(1));

elseif ((i>1) & (i < n)) thenz(i) = 3*(yi(i+1)-yi(i))/h(i) ...

- 3*(yi(i) - yi(i-1))/h(i-1);elseif (i == n) then

z(i) = 3*cos(xi(n)) - 3*(yi(n) - yi(n-1))/h(n-1);end

enddisp('Vetor z:')disp(z)

Page 370: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

//coeficientes cc = inv(A)*zdisp('Coeficientes c:')disp(c)//coeficientes aa = yi(1:n-1);disp('Coeficientes a:')disp(a)//coeficientes bfor j=1:n-1

b(j) = (3*yi(j+1) - 3*yi(j) - 2*c(j)*h(j)^2 ...- c(j+1)*h(j)^2)/(3*h(j));

enddisp('Coeficientes b:')disp(b)//coeficientes dfor j=1:n-1

d(j) = (c(j+1) - c(j))/(3*h(j));

Page 371: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

enddisp('Coeficientes d:')disp(d)//spline cubico obtidofunction [y] = s(x)

for i=1:n-2if ((x>=xi(i)) & (x<xi(i+1))) then

y = a(i) + b(i)*(x-xi(i)) ...+ c(i)*(x-xi(i))^2 + d(i)*(x-xi(i))^3;

endendif ((x>=xi(n-1)) & (x<=xi(n))) then

y = a(n-1) + b(n-1)*(x-xi(n-1)) ...+ c(n-1)*(x-xi(n-1))^2 + d(n-1)*(x-xi(n-1))^3;

endendfunction

Page 372: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Resumo sobre Splines

Dado um conjunto de pontos (xi,yi), i = 1,2, . . . ,n, um spline cúbicoé a seguinte função definida por partes:

s(x)=

a1+b1(x−x1)+c1(x−x1)2+d1(x−x1)3 , x1 ≤ x < x2

a2+b2(x−x2)+c2(x−x2)2+d2(x−x2)3 , x2 ≤ x < x3...

...

an−1+bn−1(x−xn−1)+cn−1(x−xn−1)2+dn−1(x−xn−1)3 , xn−1 ≤ x ≤ xn

Definindo-se hj = xj+1 − xj, os coeficientes cj, j = 1,2, . . . ,n, são

Page 373: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

solução do sistema linear Ac = z, onde:

Spline Natural Spline Fixado

s′′1(x1) = 0 e s′′n−1(xn) = 0 s′1(x1) = f ′(x1) e s′n−1(xn) = f ′(xn)

ai,j =

1 , j = i = 1

hi−1 , j = i− 1, i < n

2(hi + hi−1) , j = i, 1 < i < n

hi , j = i+ 1, i > 1

1 , j = i = n

0 , caso contrário.

ai,j =

2h1 , j = i = 1

hi−1 , j = i− 1

2(hi + hi−1) , j = i, 1 < i < n

hi , j = i+ 1

2hn−1 , j = i = n

0 , caso contrário.

zi =

0 , i = 1

3yi+1−yihi

− 3yi−yi−1hi−1

, 1 < i < n

0 , i = n

zi =

3y2−y1

h1− 3f ′(x1) , i = 1

3yi+1−yihi

− 3yi−yi−1hi−1

, 1 < i < n

3f ′(xn)− 3yn−yn−1hn−1

, i = n

Page 374: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

os coeficientes aj, bj e dj, j = 1,2, . . . ,n−1, são calculados conformesegue:

aj = yj

bj =3yj+1 − 3yj − 2cjh2

j − cj+1h2j

3hjdj = cj+1 − cj

3hj

Page 375: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 7

Derivação e integraçãonumérica

368

Page 376: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1 Derivação NuméricaDado um conjunto de pontos (xi,yi)ni=1, a derivada

(dydx

)ipode ser

calculada de várias formas. Na próxima seção trabalharemos comdiferenças finitas, que é mais adequada quando as abcissas estãopróximas e os dados não sofrem perturbações significativas. Naseção subsequente trataremos os casos quando os dados oscilam viaajuste ou interpolações de curvas.

Page 377: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1.1 Aproximação da derivada por diferençasfinitas

A derivada f ′(x0) de uma função f(x) no ponto x0 é

f ′(x0) = limh→0

f(x0 + h)− f(x0)h

.

Da definição, se h 6= 0 é pequeno (não muito pequeno para evitar ocancelamento catastrófico), é esperado que uma aproximação paraa derivada no ponto x0 seja dada por:

f ′(x0) ≈ f(x0 + h)− f(x0)h

. (7.1)

Exemplo 76. Calcule a derivada numérica da função f(x) = cos(x)no ponto x = 1 usando h = 0,1, h = 0,01, h = 0,001 e h = 0,0001.Solução. Usando a fórmula de diferenças dada pela Equação (7.1),devemos calcular:

f ′(x) ≈ cos(1 + h)− cos(1)h

Page 378: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

para cada valor de h solicitado. Fazendo isso, obtemos a seguinte

Page 379: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

tabela:

hf(1 + h)− f(1)

h

0,1 0,4535961− 0,54030230,1 = −0,8670618

0,01 0,5318607− 0,54030230,01 = −0,8441584

0,001 0,5403023− 0,54030230,001 = −0,841741

0,0001 0,5403023− 0,54030230,0001 = −0,841498

Page 380: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

No Scilab, podemos calcular a aproximação da derivada f ′(1) comh = 0,1 usando as seguintes linhas de código:

deff('y = f(x)','y = cos(x)')x0 = 1h = 0.1dp = (f(x0+h) - f(x0))/h

E, similarmente, para outros valores de x0 e h. ♦

Observe que, no exemplo anterior, quanto menor h, melhor é aaproximação, visto que o valor exato para a derivada é f ′(1) =− sin(1) = −0,8414710. Porém, quando h = 10−13, a derivada nu-mérica é −0,8404388 (usando aritmética double), resultado piorque aquele para h = 0,0001. Além disso, na mesma aritmética,quando h = 10−16 a derivada numérica calculada é zero (cancela-mento catastrófico). Isso nos motiva a pensar qual é o melhor h.Essa aproximação para a derivada é denominada diferenças progres-sivas. A derivada numérica também pode ser aproximada usando

Page 381: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

definições equivalentes:

f ′(x0) ≈ f(x0)− f(x0 − h)h

= yi − yi−1

h

que é denominada diferenças regressivas ou

f ′(x0) ≈ f(x0 + h)− f(x0 − h)2h = yi+1 − yi−1

2h

que é denominada diferenças centrais.

Exemplo 77. Calcule a derivada numérica da função f(x) = cos(x)no ponto x = 1 usando diferenças progressivas, diferenças regressi-vas e diferenças centrais com h = 0,1, h = 0,01 e h = 0,001.

Solução. A tabela abaixo mostra a derivada numérica para cadavalor de h.

Page 382: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Diferenças h=0,1

Progressivas −0,8670618

Regressivas cos(1)− cos(0,9)0,1 = −0,8130766

Centrais cos(1,1)− cos(0,9)0,2 = −0,8400692

Diferenças h=0,01

Progressivas −0,8441584

Regressivas cos(1)− cos(0,99)0,01 = −0,8387555

Centrais cos(1,01)− cos(0,99)0,02 = −0,8414570

Diferenças h=0,01

Progressivas −0,841741

Regressivas cos(1)− cos(0,999)0,001 = −0,8412007

Centrais cos(1,001)− cos(0,999)0,002 = −0,8414708

Page 383: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Page 384: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1.2 Erros de truncamento

SejaD+,hf(x0) a aproximação da derivada de f em x0 por diferençasprogressivas, D−,hf(x0) a aproximação por diferenças regressivas eD0,hf(x0) a aproximação por diferenças centrais, então

D+,hf(x0)− f ′(x0) = f(x0 + h)− f(x0)h

− f ′(x0)

=f(x0) + hf ′(x0) + h2

2 f′′(x0) +O(h3)− f(x0)h

− f ′(x0)

= h

2f′′(x0) +O(h2) = O(h).

Page 385: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Analogamente:

D−,hf(x0)− f ′(x0) = f(x0)− f(x0 − h)h

− f ′(x0)

=f(x0)−

(f(x0)− hf ′(x0) + h2

2 f′′(x0) +O(h3)

)h

− f ′(x0)

= −h2f′′(x0) +O(h2) = O(h).

Também:

D0,hf(x0)− f ′(x0) = f(x0 + h)− f(x0 − h)2h − f ′(x0)

=f(x0) + hf ′(x0) + h2

2 f′′(x0) +O(h3)

2h

−f(x0)− hf ′(x0) + h2

2 f′′(x0) +O(h3)

2h − f ′(x0)

= O(h2).

Page 386: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 78. Calcule a derivada numérica e o erro de truncamentode f(x) = e−x em x = 1,5 pela fórmula de diferença progressiva parah = 0,1, h = 0,01 e h = 0,001.

Solução. Como |f ′′(x)| = |e−x| < 1, então |f ′+(x0)− f ′(x0)| < h2 .

h diferenças progressivas erro = h2

0,1 −0,2123364 0,05

0,01 −0,2220182 0,005

0,001 −0,2230186 0,0005

O valor exato da derivada é f ′(1,5) = −0,2231302. ♦

Page 387: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1.3 Erros de arredondamentoPara entender como os erros de arredondamento se propagam aocalcular as derivadas numéricas vamos considerar o operador dediferenças finitas progressivas

D+,hf(x) = f(x+ h)− f(x)h

.

Nesse contexto temos o valor exato f ′(x) para a derivada, a suaaproximação numérica D+,hf(x) e a representação em número demáquina do operador D+,hf(x) que denotaremos por D+,hf(x).Seja ε(x,h) o erro de arredondamento ao calcularmos a derivadae consideremos

D+,hf(x) = D+,hf(x)(1 + ε(x,h)) = f(x+ h)− f(x)h

(1 + ε(x,h)).

Também, consideremos

|f(x+ h)− f(x+ h)| = δ(x,h) ≤ δ

Page 388: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e

|f(x)− f(x)| = δ(x,0) ≤ δ,

onde f(x+ h) e f(x) são as representação em ponto flutuante dosnúmeros f(x+ h) e f(x), respectivamente. A diferença do valor daderivada e sua aproximação representada em ponto flutuante pode

Page 389: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ser estimada da seguinte forma:∣∣∣f ′(x)−D+,hf(x)∣∣∣ =

∣∣∣∣∣f ′(x)− f(x+ h)− f(x)h

(1 + ε(x,h))∣∣∣∣∣

=∣∣∣∣∣f ′(x)−

(f(x+ h)− f(x)

h+ f(x+ h)− f(x+ h)

h

+ f(x)− f(x)h

)(1 + ε)

∣∣∣∣∣=∣∣∣∣∣f ′(x) +

(−f(x+ h)− f(x)

h− f(x+ h)− f(x+ h)

h

+ f(x)− f(x)h

)(1 + ε)

∣∣∣∣∣≤∣∣∣∣∣f ′(x)− f(x+ h)− f(x)

h

∣∣∣∣∣+(∣∣∣∣∣f(x+ h)− f(x+ h)

h

∣∣∣∣∣+∣∣∣∣∣f(x)− f(x)

h

∣∣∣∣∣)|1 + ε|+

∣∣∣∣∣f(x+ h)− f(x)h

∣∣∣∣∣ ε≤Mh+

(∣∣∣∣∣ δh∣∣∣∣∣+

∣∣∣∣∣ δh∣∣∣∣∣)|1 + ε|+ |f ′(x)|ε

≤Mh+(

2δh

)|1 + ε|+ |f ′(x)|ε

Page 390: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ondeM = 1

2 maxx≤y≤x+h

|f ′′(y)|

está relacionado com o erro de truncamento.Esta estimativa mostra que se o valor de h for muito pequeno oerro ao calcular a aproximação numérica cresce. Isso nos motiva aprocurar o valor ótimo de h que minimiza o erro.

Exemplo 79. Estude o comportamento da derivada de f(x) = e−x2

no ponto x = 1,5 quando h fica pequeno.

Solução. Segue a tabela com os valores da derivada para váriosvalores de h.

h 10−2 10−4 10−6 10−7 10−8 10−9

D+,hf(1,5) −0,3125246 −0,3161608 −0,3161973 −0,3161976 −0,3161977 −0,3161977

h 10−10 10−11 10−12 10−13 10−14 10−15

D+,hf(1,5) −0,3161976 −0,3161971 −0,3162332 −0,3158585 −0,3178013 −0,3747003

h 10−2 10−4 10−6 10−7 10−8 10−9

D+,hf(1,5) −0,3125246 −0,3161608 −0,3161973 −0,3161976 −0,3161977 −0,3161977

Page 391: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observe que o valor exato é −0,3161977 e o h ótimo é algo entre10−8 e 10−9. ♦

Page 392: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1.4 Aproximações de alta ordem

Para aproximar a derivada de uma função f(x) em x0, x1 ou x2usaremos os três pontos vizinhos (x0,f(x0)), (x1,f(x1)) e (x2,f(x2)).Uma interpolação usando polinômios de Lagrange para esses trêspontos é da forma:

f(x) = f(x0) (x− x1)(x− x2)(x0 − x1)(x0 − x2) + f(x1) (x− x0)(x− x2)

(x1 − x0)(x1 − x2)

+ f(x2) (x− x0)(x− x1)(x2 − x0)(x2 − x1) + f ′′′(ξ(x))

6 (x− x0)(x− x1)(x− x2).

Page 393: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A derivada de f(x) é

f ′(x) = f(x0) 2x− x1 − x2

(x0 − x1)(x0 − x2) + f(x1) 2x− x0 − x2

(x1 − x0)(x1 − x2)

+ f(x2) 2x− x0 − x1

(x2 − x0)(x2 − x1)

+ f ′′′(ξ(x))6 ((x− x1)(x− x2) + (x− x0)(2x− x1 − x2))

+Dx

(f ′′′(ξ(x))

6

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

(7.2)

Page 394: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Trocando x por x0, temos

f ′(x0) = f(x0) 2x0 − x1 − x2

(x0 − x1)(x0 − x2) + f(x1) 2x0 − x0 − x2

(x1 − x0)(x1 − x2)

+ f(x2) 2x0 − x0 − x1

(x2 − x0)(x2 − x1)

+ f ′′′(ξ(x0))6 ((x0 − x1)(x0 − x2) + (x0 − x0)(2x0 − x1 − x2))

+Dx

(f ′′′(ξ(x0))

6

)(x0 − x0)(x0 − x1)(x0 − x2).

Considerando uma malha equiespaçada onde x1 = x0 + h e x2 =x0 + 2h, temos:

f ′(x0) = f(x0) −3h(−h)(−2h) + f(x1) −2h

(h)(−h)

+ f(x2) −h(2h)(h) + f ′′′(ξ(x0))

6 ((−h)(−2h))

= 1h

[−3

2f(x0) + 2f(x1)− 12f(x2)

]+ h2f

′′′(ξ(x0))3

Page 395: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Similarmente, trocando x por x1 ou trocando x por x2 na expressão(7.2), temos outras duas expressões

f ′(x1) = 1h

[−1

2f(x0) + 12f(x2)

]+ h2f

′′′(ξ(x1))6

f ′(x2) = 1h

[12f(x0)− 2f(x1) + 3

2f(x2)]

+ h2f′′′(ξ(x2))

3

Podemos reescrever as três fórmulas da seguinte forma:

f ′(x0) = 1h

[−3

2f(x0) + 2f(x0 + h)− 12f(x0 + 2h)

]+ h2f

′′′(ξ(x0))3

f ′(x0 + h) = 1h

[−1

2f(x0) + 12f(x0 + 2h)

]+ h2f

′′′(ξ(x0 + h))6

f ′(x0 + 2h) = 1h

[12f(x0)− 2f(x0 + h) + 3

2f(x0 + 2h)]

+ h2f′′′(ξ(x0 + 2h))

3

Page 396: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ou ainda

f ′(x0) = 12h [−3f(x0) + 4f(x0 + h)− f(x0 + 2h)] + h2f

′′′(ξ(x0))3(7.3)

f ′(x0) = 12h [f(x0 + h)− f(x0 − h)] + h2f

′′′(ξ(x0))6 (7.4)

f ′(x0) = 12h [f(x0 − 2h)− 4f(x0 − h) + 3f(x0)] + h2f

′′′(ξ(x0))3 (7.5)

Observe que uma das fórmulas é exatamente as diferenças centraisobtida anteriormente.Analogamente, para construir as fórmulas de cinco pontos toma-mos o polinômio de Lagrange para cinco pontos e chegamos a cincofórmulas, sendo uma delas a seguinte:

f ′(x0) = 112h [f(x0 − 2h)− 8f(x0 − h) + 8f(x0 + h)− f(x0 + 2h)]+h4

30f(5)(ξ(x0))

(7.6)

Exemplo 80. Calcule a derivada numérica de f(x) = e−x2 em

Page 397: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

x = 1,5 pela fórmula de três e cinco pontos para h = 0,1, h = 0,01e h = 0,001.

Solução. A tabela mostra os resultados:

h h = 0,1 h = 0,01 h = 0,001

diferenças progressivas −0,2809448 −0,3125246 −0,3158289

diferenças regressivas −0,3545920 −0,3199024 −0,3165667

três pontos usando (7.3) −0,3127746 −0,3161657 −0,3161974

três pontos usando (7.4) −0,3177684 −0,3162135 −0,3161978

três pontos usando (7.5) −0,3135824 −0,3161665 −0,3161974

cinco pontos usando (7.6) −0,3162384 −0,316197677 −0,3161976736860

O valor exato da derivada é f ′(1,5) = −0,3161976736856. ♦

Page 398: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1.5 Aproximação para a segunda derivadaPara aproximar a derivada segunda, considere as expansões em sériede Taylor

f(x0 + h) = f(x0) + hf ′(x0) + h2

2 f′′(x0) + h3

6 f′′′(x0) +O(h4)

f(x0 − h) = f(x0)− hf ′(x0) + h2

2 f′′(x0)− h3

6 f′′′(x0) +O(h4).

Somando as duas expressões, temos:f(x0 + h) + f(x0 − h) = 2f(x0) + h2f ′′(x0) +O(h4)

ou seja, uma aproximação de segunda ordem para a derivada se-gunda em x0 é

f ′′(x0) = f(x0 + h)− 2f(x0) + f(x0 − h)h2 +O(h2) := D2

0,hf(x0)+O(h2),

ondeD2

0,hf(x0) = f(x0 + h)− 2f(x0) + f(x0 − h)h2 .

Page 399: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 81. Calcule a derivada segunda numérica de f(x) = e−x2

em x = 1,5 para h = 0,1, h = 0,01 e h = 0,001.

Solução. A tabela mostra os resultados:

h h = 0,1 h = 0,01 h = 0,001

D20,hf(1,5) 0,7364712 0,7377814 0,7377944

Observe que f ′′(x) = (4x2 − 2)e−x2 e f ′′(1,5) = 0,7377946. ♦

Page 400: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.1.6 Derivada via ajuste ou interpolaçãoDado os valores de uma função em pontos (xi,yi)Ni=1, as derivadas(dydx

)ipodem ser obtidas através da derivada de uma curva que me-

lhor ajusta ou interpola os pontos. Esse tipo de técnica é necessárioquando os pontos são muito espaçados entre si ou quando a funçãooscila muito. Por exemplo, dado os pontos (0,1), (1,2), (2,5), (3,9),a parábola que melhor ajusta os pontos é

Q(x) = 0,95 + 0,45x+ 0,75x2.

Usando esse ajuste para calcular as derivadas, temos:

Q′(x) = 0,45 + 1,5x

e

y′(x1) ≈ Q′(x1) = 0,45, y′(x2) ≈ Q′(x2) = 1,95,y′(x3) ≈ Q′(x3) = 3,45 e y′(x4) ≈ Q′(x4) = 4,95

Page 401: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Agora olhe o gráfico da seguinte tabela de pontos.

x y

0 1,95

1 1,67

2 3,71

3 3,37

4 5,12

5 5,79

6 7,50

7 7,55

8 9,33

9 9,41

10 11,48

Page 402: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observe que as derivadas calculadas por diferenças finitas oscilam

Page 403: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

entre um valor pequeno e um grande em cada intervalo e além disso,a fórmula progressiva difere da regressiva significantemente. Porexemplo, por diferenças regressivas f ′(7) ≈ (7,55−7,50)

1 = 0,05 e pordiferenças progressivas f ′(7) ≈ (9,33−7,55)

1 = 1,78. A melhor formade calcular a derivada aqui é fazer um ajuste de curva. A retaque melhor ajusta os dados da tabela é y = f(x) = 1,2522727 +0,9655455x. Usando esse ajuste, temos f ′(7) ≈ 0,9655455.

Page 404: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 7.1.1. Expanda a função suave f(x) em um polinômio de Tayloradequado para obter as seguintes aproximações:

a) f ′(x) = f(x+h)−f(x)h

+O(h)

b) f ′(x) = f(x)−f(x−h)h

+O(h)

c) f ′(x) = f(x+h)−f(x−h)2h +O(h2)

d) f ′′(x) = f(x+h)−2f(x)+f(x−h)h2 +O(h2)

E 7.1.2. Use os esquemas numéricos do exercício 7.1.1 para apro-ximar as seguintes derivadas:

a) f ′(x) onde f(x) = sin(x) e x = 2.

b) f ′(x) onde f(x) = e−x e x = 1.

Page 405: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) f ′′(x) onde f(x) = e−x e x = 1.

Use h = 10−2 e h = 10−3 e compare com os valores obtidos atravésda avaliação numérica das derivadas exatas.

E 7.1.3. Use a expansão da função f(x) em torno de x = 0 empolinômios de Taylor para encontrar os coeficientes a1, a2 e a3 taisque

a) f ′(0) = a1f(0) + a2f(h) + a3f(2h) +O(h2)

b) f ′(0) = a1f(0) + a2f(−h) + a3f(−2h) +O(h2)

c) f ′(0) = a1f(−h1)+a2f(0)+a3f(h2)+O(h2), |h1|, |h2| = O(h)

d) f ′′(0) = a1f(0) + a2f(h) + a3f(2h) +O(h)

e) f ′′(0) = a1f(0) + a2f(−h) + a3f(−2h) +O(h)

Page 406: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.1.4. As tensões na entrada, vi, e saída, vo, de um amplificadorforam medidas em regime estacionário conforme tabela abaixo.

0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 4.5 5.

0. 1.05 1.83 2.69 3.83 4.56 5.49 6.56 6.11 7.06 8.29

onde a primeira linha é a tensão de entrada em volts e a segundalinha é tensão de saída em volts. Sabendo que o ganho é definidocomo

∂vo∂vi

.

Calcule o ganho quando vi = 1 e vi = 4.5 usando as seguintestécnicas:

a) Derivada primeira numérica de primeira ordem usando o pró-prio ponto e o próximo.

b) Derivada primeira numérica de primeira ordem usando o pró-prio ponto e o anterior.

Page 407: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) Derivada primeira numérica de segunda ordem usando o pontoanterior e o próximo.

d) Derivada primeira analítica da função do tipo v0 = a1vi+a3v3i

que melhor se ajusta aos pontos pelo critério dos mínimosquadrados.

Caso a b c d

vi = 1

vi = 4.5

Dica:

y=[0 1.05 1.83 2.69 3.83 4.56 5.49 6.56 6.11 7.06 8.29]

Page 408: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.2 Problemas de valor contorno

Nesta seção usaremos a aproximação numérica da derivada pararesolver problemas de valor de contorno da forma

−uxx = f(x,u), a < x < b.

u(a) = ua

u(b) = ub

Resolver numericamente o problema acima exige uma discretizaçãodo domínio [a,b], ou seja, dividir o domínio em N partes iguais,definindo

h = b− aN

O conjunto de abcissas xi, i = 1,...,N + 1 formam uma malha parao problema discreto. Nosso objetivo é encontrar as ordenadas ui =

Page 409: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

u(xi) que satisfazem a versão discreta:−ui+1−2ui+ui−1

h2 = f(xi,ui), 2 ≤ i ≤ N.

u1 = ua

uN+1 = ub

O vetor solução (ui)N+1i=1 do problema é solução do sistema acima,

que é linear se f for linear em u e não linear caso contrário.

Exemplo 82. Encontre uma solução numérica para o problema decontorno:

−uxx + u = e−x, 0 < x < 1.

u(0) = 1

u(1) = 2

Solução. Observe queh = 1

N

Page 410: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e a versão discreta da equação é

−ui+1−2ui+ui−1

h2 + ui = e−xi , 2 ≤ i ≤ N.

u1 = 1

uN+1 = 2

ou seja,

u1 = 1

−ui+1 + (2 + h2)ui − ui−1 = h2e−xi , 2 ≤ i ≤ N.

uN+1 = 2

Page 411: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

que é um sistema linear. A sua forma matricial é:

1 0 0 · · · 0 0 0

−1 2 + h2 −1 · · · 0 0 0

0 −1 2 + h2 · · · 0 0 0... . . .

0 0 0 · · · −1 2 + h2 −1

0 0 0 · · · 0 0 1

u1

u2

u3...

uN

uN+1

=

1

h2e−x2

h2e−x3

...

h2e−xN

2

Page 412: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para N = 10, temos a seguinte solução:

1,000000

1,0735083

1,1487032

1,2271979

1,3105564

1,4003172

1,4980159

1,6052067

1,7234836

1,8545022

2,000000

Page 413: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Page 414: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 7.2.1. Considere o seguinte problema de valor de contorno paraa equação de calor no estado estacionário:

−uxx = 32, 0 < x < 1.

u(0) = 5

u(1) = 10

Defina uj = u(xj) onde xj = (j − 1)h e j = 1, . . . ,5. Aproxime aderivada segunda por um esquema de segunda ordem e transformea equação diferencial em um sistema de equações lineares. Escrevaeste sistema linear na forma matricial e resolva-o. Faça o mesmocom o dobro de subintervalos, isto é, com malha de 9 pontos.

Page 415: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.2.2. Considere o seguinte problema de valor de contorno paraa equação de calor no estado estacionário:

−uxx = 200e−(x−1)2

, 0 < x < 2.

u(0) = 120

u(2) = 100

Defina uj = u(xj) onde xj = (j − 1)h e j = 1, . . . ,21. Aproxime aderivada segunda por um esquema de segunda ordem e transformea equação diferencial em um sistema de equações lineares. Resolvao sistema linear obtido.

Page 416: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.2.3. Considere o seguinte problema de valor de contorno paraa equação de calor no estado estacionário:

−uxx = 200e−(x−1)2

, 0 < x < 2.

u′(0) = 0

u(2) = 100

Defina uj = u(xj) onde xj = (j − 1)h e j = 1, . . . ,21. Aproximea derivada segunda por um esquema de segunda ordem, a derivadaprimeira na fronteira por um esquema de primeira ordem e trans-forme a equação diferencial em um sistema de equações lineares.Resolva o sistema linear obtido.

E 7.2.4. Considere o seguinte problema de valor de contorno paraa equação de calor no estado estacionário com um termo não-linear

Page 417: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

de radiação:

−uxx = 100− u4

10000 , 0 < x < 2.

u(0) = 0

u(2) = 10

Defina uj = u(xj) onde xj = (j − 1)h e j = 1, . . . ,21. Aproxime aderivada segunda por um esquema de segunda ordem e transformea equação diferencial em um sistema de equações não lineares. Re-solva o sistema obtido. Expresse a solução com dois algarismosdepois do separador decimal. Dica: Veja problema 38 da lista 2,seção de sistemas não lineares.

E 7.2.5. Considere o seguinte problema de valor de contorno paraa equação de calor no estado estacionário com um termo não-linear

Page 418: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

de radiação e um termo de convecção:

−uxx + 3ux = 100− u4

10000 , 0 < x < 2.

u′(0) = 0

u(2) = 10

Defina uj = u(xj) onde xj = (j − 1)h e j = 1, . . . ,21. Aproximea derivada segunda por um esquema de segunda ordem, a derivadaprimeira na fronteira por um esquema de primeira ordem, a de-rivada primeira no interior por um esquema de segunda ordem etransforme a equação diferencial em um sistema de equações nãolineares. Resolva o sistema obtido.

Page 419: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.2.6. Considere o seguinte problema de valor de contorno:−u′′ + 2u′ = e−x − u2

100 , 1 < x < 4.

u′(1) + u(1) = 2

u′(4) = −1

Defina uj = u(xj) onde xj = 1 + (j − 1)h e j = 1, . . . ,101. Apro-xime a derivada segunda por um esquema de segunda ordem, aderivada primeira na fronteira por um esquema de primeira ordem,a derivada primeira no interior por um esquema de segunda ordeme transforme a equação diferencial em um sistema de equações nãolineares. Resolva o sistema obtido.

Page 420: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.3 Integração numéricaConsidere o problema de calcular a área entre uma função positiva, oeixo x e as retas x = a e x = b. O valor exato dessa área é calculadafazendo uma aproximação por retângulos com bases iguais e depoistomando o limite quando o número de retângulos tende ao infinito:

A = limn→∞

n∑i=1

f(xi)hn,

onde hn = b−an

é o tamanho da base dos retângulo e f(xi), 1 ≤ i ≤ n,a+ (i− 1)h ≤ xi ≤ a+ ih, é a altura dos retângulos. Essa definiçãoé generalizada para cálculo de integrais num intervalo [a,b]:

∫ b

af(x)dx = lim

n→∞

n∑i=1

f(xi)hn.

A figura abaixo mostra um exemplo quando f(x) = x2 + 1, 0 ≤x ≤ 2. Temos a aproximação por um retângulo com base h1 = 2,

Page 421: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

depois com dois retângulos de base h2 = 1 e, finalmente com quatroretângulo de bases h3 = 0,5.

Page 422: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e
Page 423: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Os valores aproximados para a integral são dados na tabela:

h1 = 2 h2 = 1 h3 = 0,5 h4 = 0,25∫ 20 (x2 + 1)dx h1f(1) = 4 h2f(0,5) + h2f(1,5) = 4,5 4,625 4,65625

Observe que

∫ 2

0(x2 + 1)dx =

[x3

3 + x

]2

0= 8

3 + 2 = 4,6666667

Page 424: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.3.1 Regras de Newton-CotesA integral de uma função num intervalo [a,b], também chamada dequadratura numérica, é aproximada pela soma

∫ b

af(x)dx ≈

n∑i=1

aif(xi),

onde xi, 1 ≤ i ≤ n, são pontos distintos do intervalo [a,b]. Nessadefinição, a integral

∫ 20 (x2 + 1)dx (dada na seção ??) usando uma

aproximação por retângulo usa apenas um ponto, o ponto médio dointervalo (x1 = 1), e a soma se reduz a uma parcela ((2 − 0)f(1)).A fórmula geral para essa caso, chamado de regra do ponto médioé: ∫ b

af(x)dx ≈ (b− a)f

(a+ b

2

):= hf(x1). (7.7)

Page 425: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Regra do ponto médio

A regra do ponto médio (7.7) pode ser deduzida mais formalmenteusando a expansão de Taylor

f(x) = f(x1) + f ′(x1)(x− x1) + f ′′(ξ(x))2 (x− x1)2

que leva a integral

∫ b

af(x)dx =

∫ b

af(x1)dx+f ′(x1)

∫ b

a(x−x1)dx+

∫ b

a

f ′′(ξ(x))2 (x−x1)2dx.

Page 426: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Usando o teorema do valor médio para integrais e que h = b − a ex1 = (a+ b)/2, temos:∫ b

af(x)dx = hf(x1) + f ′(x1)

∫ b

a(x− x1)dx+ f ′′(η)

∫ b

a

12(x− x1)2dx

= hf(x1) + f ′(x1)[

(x− x1)2

2

]ba

+ f ′′(η)[16(x− x1)3

]ba

= hf(x1) + f ′(x1)[

(b− x1)2

2 − (a− x1)2

2

]

+ f ′′(η)[16(b− x1)3 − 1

6(a− x1)3]

= hf(x1) + h3f ′′(η)3 .

para a ≤ η ≤ b.

Exemplo 83. Use a regra do ponto médio para aproximar a integral∫ 1

0e−x

2dx.

Page 427: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Depois divida a integral em duas∫ 1/2

0e−x

2dx+

∫ 1

1/2e−x

2dx.

e aplique a regra do ponto médio em cada uma delas. Finalmente,repita o processo dividindo em quatro integrais.Usando o intervalo [0,1], temos h = 1 e x1 = 1/2. A regra do pontomédio resulta em∫ 1

0e−x

2dx ≈ 1 · e−1/4 = 0,7788008

Usando dois intervalos, [0,1/2] e [1/2,1] e usando a regra do pontomédio em cada um dos intervalos, temos:∫ 1

0e−x

2dx ≈ 0,5·e−1/16+0,5·e−9/16) = 0,4697065+0,2848914 = 0,7545979

Agora, usando quatro intervalos, temos∫ 1

0e−x

2dx ≈ 0,25·e−1/64+0,25·e−9/64+0,25·e−25/64+0,25·e−49/64 = 0,7487471

Page 428: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observe que o valor da integral é∫ 1

0e−x

2dx = 0,7468241330.

A forma natural de obter as regras de integração é usar o polinômiode Lagrange que passa pelo pontos (xi,f(xi))ni=1

f(x) = Pn(x)+termo de erro =n∑i=1

f(xi)Li(x)+n∏i=1

(x−xi)f (n+1)(ξ(x))

(n+ 1)! .

e integramos∫ b

af(x)dx =

n∑i=1

[f(xi)

∫ b

aLi(x)dx

]+ 1

(n+ 1)!

∫ b

a

n∏i=1

(x−xi)f (n+1)(ξ(x))dx.

A fórmula de quadratura então é∫ b

af(x)dx ≈

n∑i=1

aif(xi),

Page 429: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

ondeai =

∫ b

aLi(x)dx

Page 430: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Regra do Trapézio

A regra do trapézio consiste em aproximar a integral por um trapé-zio em vez de um retângulo, como fizemos. Para isso, o polinômiode Lagrange deve ser uma reta, como mostra a figura.

Page 431: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e
Page 432: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

O polinômio de Lagrange de primeira ordem que passa por (x0,f(x0)) :=(a,f(a)) e (x1,f(x1)) := (b,f(b)) é dado por

P1(x) = f(x0) (x− x0)(x1 − x0)+f(x1) (x− x1)

(x0 − x1) = f(x0)(x− x0)h

−f(x1)(x− x1)h

,

onde h = x1 − x0. Podemos integrar a função f(x) aproximando-apor esse polinômio:

∫ b

af(x)dx = f(x0)

∫ b

a

(x− x0)h

dx− f(x1)∫ b

a

(x− x1)h

dx

+ 12!

∫ b

a(x− x0)(x− x1)f ′′(ξ(x))dx.

Page 433: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Pelo teorema do valor médio, existe a ≤ η ≤ b tal que∫ ba f(ξ(x))g(x)dx =

f(η)∫ ba g(x)dx e, portanto,∫ b

af(x)dx = f(x0)

[(x− x0)2

2h

]x1

x0

− f(x1)[

(x− x1)2

2h

]x1

x0

+ f ′′(η)2

[x3

3 −x2

2 (x1 + x0) + x0x1x

]x1

x0

= f(x0)(x1 − x0)2

2h + f(x1)(x0 − x1)2

2h

+ f ′′(η)2

(x3

13 −

x21

2 (x1 + x0) + x0x1x1 −x3

03 + x2

02 (x1 + x0)− x0x1x0

)

= f(x0)h2

2h + f(x1)h2

2h

+ f ′′(η)2

2x31 − 3x2

1(x1 + x0) + 6x21x0 − 2x3

0 + 3x20(x1 + x0)− 6x1x

20

6

= h

2 (f(x0) + f(x1)) + f ′′(η)12

(x3

0 − 3x20x1 + 3x2

1x0 − x31

)= h

2 (f(x0) + f(x1))− h3f ′′(η)12

Page 434: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 84. Use a regra do trapézio para aproximar a integral

∫ 1

0e−x

2dx.

Depois divida a integral em duas

∫ 1/2

0e−x

2dx+

∫ 1

1/2e−x

2dx.

e aplica a regra do trapézio em cada uma delas. Finalmente, repitao processo dividindo em quatro integrais.

Usando o intervalo [0,1], temos h = 1, x0 = 0 e x1 = 1. A regra dotrapézio resulta em

∫ 1

0e−x

2dx ≈ 1

2(e0 + e−1) = 0,6839397

Page 435: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Usando dois intervalos, [0,1/2] e [1/2,1] e usando a regra do trapézioem cada um dos intervalos, temos:∫ 1

0e−x

2dx ≈ 0,5

2(e0 + e−1/4

)+ 0,5

2(e−1/4 + e−1

)= 0,4447002 + 0,2866701 = 0,7313703.

Agora, usando quatro intervalos, temos∫ 1

0e−x

2dx ≈ 0,25

2(e0 + e−1/16

)+ 0,25

2(e−1/16 + e−1/4

)+ 0,25

2(e−1/4 + e−9/16

)+ 0,25

2(e−9/16 + e−1

)= 0,7429841

Page 436: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Regra de Simpson

A regra de Simpson consiste em aproximar a integral usando trêspontos do intervalo:

x0 = a, x1 := a+ b

2 = x0 + h e x2 := b = x1 + h.

com h = (b − a)/2. Para isso, o polinômio de Lagrange deve seruma parábola:

P2(x) = f(x0) (x− x1)(x− x2)(x0 − x1)(x0 − x2) + f(x1) (x− x0)(x− x2)

(x1 − x0)(x1 − x2)

+ f(x2) (x− x0)(x− x1)(x2 − x0)(x2 − x1) .

Se usarmos o mesma metodologia da regra dos trapézios, calculare-mos∫ b

af(x)dx =

∫ b

aP2(x)dx+

∫ b

a

(x− x0)(x− x1)(x− x2)6 f ′′′(ξ(x))dx

Page 437: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e obteremos o fórmula de Simpson com um erro de quarta ordem.O fato é que a regra de Simpson tem ordem cinco e, para isso,usaremos uma abordagem alternativa. Considere o polinômio deTaylor

f(x) = f(x1)+f ′(x1)(x−x1)+f′′(x1)2 (x−x1)2+f

′′′(x1)6 (x−x1)3+f

(4)(ξ(x))24 (x−x1)4,

onde x0 ≤ ξ(x) ≤ x2 e integre no intervalo [a,b] = [x0,x2]:

∫ b

af(x)dx =

[f(x1)(x− x1) + f ′(x1)(x− x1)2

2 + f ′′(x1)6 (x− x1)3

+f′′′(x1)24 (x− x1)4

]x2

x0

+ 124

∫ x2

x0f (4)(ξ(x))(x− x1)4dx,

Page 438: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Pelo teorema do valor médio, existe x0 ≤ η ≤ x2 tal que∫ b

af(x)dx =

[f(x1)(x− x1) + f ′(x1)(x− x1)2

2 + f ′′(x1)6 (x− x1)3

+ f ′′′(x1)24 (x− x1)4

]x2

x0

+ f (4)(η)24

∫ x2

x0(x− x1)4dx

=[f(x1)(x− x1) + f ′(x1)(x− x1)2

2 + f ′′(x1)6 (x− x1)3

+ f ′′′(x1)24 (x− x1)4

]x2

x0

+ f (4)(η)120

[(x− x1)5

]x2

x0

Usando o fato que

(x2 − x1)3 − (x0 − x1)3 = 2h3,

Page 439: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

(x2 − x1)4 − (x0 − x1)4 = 0e

(x2 − x1)5 − (x0 − x1)5 = 2h5,

temos ∫ b

af(x)dx = 2hf(x1) + h3

3 f′′(x1) + h5f (4)(η)

60 .

Usando a diferenças finitas centrais para a derivada segunda:

f ′′(x1) = f(x0)− 2f(x1) + f(x2)h2 + h2

12f(4)(η1),

x0 ≤ η1 ≤ x2, temos∫ b

af(x)dx = 2hf(x1) + h3

3

(f(x0)− 2f(x1) + f(x2)

h2 + h2

12f(4)(η1)

)

+ h5f (4)(η)60

= h

3 (f(x0) + 4f(x1) + f(x2))− h5

12

(13f

(4)(η1)− 15f

(4)(η)).

Page 440: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Pode-se mostrar que é possível escolher η2 que substitua η e η1 coma seguinte estimativa∫ b

af(x)dx = h

3 (f(x0) + 4f(x1) + f(x2))− h5

90f(4)(η2).

Exemplo 85. Use a regra de Simpson para aproximar a integral∫ 1

0e−x

2dx.

Depois divida a integral em duas∫ 1/2

0e−x

2dx+

∫ 1

1/2e−x

2dx.

e aplica a regra de Simpson em cada uma delas.

Usando o intervalo [0,1], temos h = 1/2, x0 = 0, x1 = 1/2 e x2 = 1.A regra de Simpson resulta em∫ 1

0e−x

2dx ≈ 0,5

3 (e0 + 4e−1/4 + e−1) = 0,7471804

Page 441: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Usando dois intervalos, [0,1/2] e [1/2,1] e usando a regra do trapézioem cada um dos intervalos, temos:∫ 1

0e−x

2dx ≈ 0,25

3 (e0+4e−1/16+e−1/4)+0,253 (e−1/4+4e−9/16+e−1) = 0,7468554

Page 442: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.3.2 Regras compostasVimos que em todas as estimativas de erro que derivamos, o errodepende do tamanho do intervalo de integração. Uma estratégiapara reduzir o erro consiste em particionar o intervalo de integraçãoem diversos subintervalos menores:∫ b

af(x)dx =

n∑i=1

∫ xi+1

xif(x)dx

onde xi = a + (i − 1)h, h = (b − a)/n e i = 1,2, . . . ,n + 1, sendon o número de subintervalos da partição do intervalo de integra-ção. Depois, aplica-se um método simples de integração em cadasubintervalo.

Page 443: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Método composto dos trapézios

A regra composta dos trapézios assume a seguinte forma:∫ b

af(x)dx =

n∑i=1

∫ xi+1

xif(x) dx

≈n∑i=1

xi+1 − xi2 [f(xi) + f(xi+1)]

Como h = xi+1 − xi, temos:

∫ b

af(x) dx ≈ h

2

Ni∑k=1

[f(xk) + f(xk+1)]

= h

2 [f(x1) + 2f(x2) + 2f(x3) + · · ·+ 2f(xNi) + f(xNi+1)]

= h

2 [f(x1) + f(xNi+1)] + hNi∑i=2

f(xi)

Page 444: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Código Scilab: Trapézio Composto

O código Scilab abaixo é uma implementação do método do trapéziocomposto para calcular:

∫ b

af(x) dx = h

2 [f(x1) + f(xn+1)] + hn∑i=2

f(xi) +O(h3),

onde h = (b − a)/n e xi = a + (i − 1)h, i = 1,2, . . . ,n + 1. Osparâmetros de entrada são: f o integrando definido como uma fun-ção no Scilab, a o limite inferior de integração, b o limite superiorde integração, n o número de subintervalos desejado. A variável desaída é y e corresponde a aproximação calculada de

∫ ba f(x) dx.

function [y] = trap_comp(f,a,b,n)h = (b-a)/nx = linspace(a,b,n+1)y = h*(f(x(1)) + f(x(n+1)))/2for i = 2:n

Page 445: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

y = y + h*f(x(i))end

endfunction

Page 446: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Método composto de Simpson

Já a regra composta de Simpson assume a seguinte forma:∫ b

af(x) dx =

n∑k=1

∫ xk+1

xk

f(x)dx

≈n∑k=1

xx+1 − xk6

[f(xk) + 4f

(xk+1 + xk

2

)+ f(xk+1)

]

onde, como anteriormente, xk = a + (k − 1)h, h = (b − a)/n ei = 1,2, . . . ,n + 1, sendo n o número de subintervalos da partiçãodo intervalo de integração. Podemos simplificar o somatório acima,escrevendo:∫ b

af(x) dx ≈ h

3

[f(x1) + 2

n−1∑i=1

f(x2i+1) + 4n∑i=1

f(x2i) + f(x2n+1)]+O(h5)

onde, agora, h = (b− a)/(2n), xi = a+ (i− 1)h, i = 1,2, . . . ,2n+ 1.

Page 447: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Código Scilab: Simpson Composto

O código Scilab abaixo é uma implementação do método de Simpsoncomposto para calcular:∫ b

af(x) dx = h

3

[f(x1) + 2

n−1∑i=1

f(x2i+1) + 4n∑i=1

f(x2i) + f(x2n+1)]+O(h3),

onde h = (b − a)/(2n) e xi = a + (i − 1)h, i = 1,2, . . . ,2n + 1.Os parâmetros de entrada são: f o integrando definido como umafunção no Scilab, a o limite inferior de integração, b o limite superiorde integração, n o número de subintervalos desejado. A variável desaída é y e corresponde a aproximação calculada de

∫ ba f(x) dx.

Exemplo 86. Calcule numericamente a integral∫ 2

0x2ex

2dx

pelas regras compostas do ponto médio, trapézio e Simpson vari-ando o número de intervalosNi = 1, 2, 3, 6, 12, 24, 48, 96.

Page 448: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

n ponto médio Trapézios Simpson

1 5,4365637 218,3926 76,421909

2 21,668412 111,91458 51,750469

3 31,678746 80,272022 47,876505

6 41,755985 55,975384 46,495785

12 45,137529 48,865685 46,380248

24 46,057757 47,001607 46,372373

48 46,292964 46,529682 46,37187

96 46,352096 46,411323 46,371838

Page 449: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.3.3 O método de RombergO método de Romberg é um método simplificado para construirquadraturas de alta ordem.Considere o método de trapézios composto aplicado à integral∫ b

af(x)dx

Defina I(h) a aproximação desta integral pelo método dos trapézioscomposto com malha de largura constante igual a h. Aqui h = b−a

Nipara algum Ni inteiro, i.e.:

I(h) = h

2

f(a) + 2Ni∑j=2

f(xj) + f(b) , Ni = b− a

h

Teorema 8. Se f(x) é uma função analítica no intervalo (a,b),então a função I(h) admite uma representação na forma

I(h) = I0 + I2h2 + I4h

4 + I6h6 + . . .

Page 450: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para um demonstração, veja [4]. Em especial observamos que∫ b

af(x)dx = lim

h→0I(h) = I0

Ou seja, o valor exato da integral procurada é dado pelo coeficienteI0.A ideia central do método de Romberg, agora, consiste em usar aextrapolação de Richardson para construir métodos de maior ordema partir do métodos dos trapézios para o intervalo (a,b)Exemplo 87. Construção do método de quarta ordem.

I(h) = I0 + I2h2 + I4h

4 + I6h6 + . . .

I

(h

2

)= I0 + I2

h2

4 + I4h4

16 + I6h6

64 + . . .

Usamos agora uma eliminação gaussiana para obter o termo I0:4I(h/2)− I(h)

3 = I0 −14I4h

4 − 516I6h

6 + . . .

Page 451: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Vamos agora aplicar a fórmula para h = b− a,

I(h) = h

2 [f(a) + f(b)]

I(h/2) = h

4 [f(a) + 2f (c) + f(b)] , c = a+ b

2

4I(h/2)− I(h)3 = h

3 [f(a) + 2f (c) + f(b)]− h

6 [f(a) + f(b)]

= h

6 [f(a) + 4f (c) + f(b)]

Observe que esquema coincide com o método de Simpson.

Page 452: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A partir de agora, usaremos a seguinte notação

R1,1 = I(h)R2,1 = I(h/2)R3,1 = I(h/4)

...Rn,1 = I(h/2n−1)

Observamos que os pontos envolvidos na quadratura Rk,1 são osmesmos pontos envolvidos na quadratura R(k− 1,1) acrescidos dospontos centrais, assim, temos a seguinte fórmula de recorrência:

Rk,1 = 12Rk−1,1 + h

2k−1

2k−2∑i=1

f

(a+ (2i− 1) h

2k−1

)

Definimos Rk,2 para k ≥ 2 como o esquema de ordem quatro obtidoda fórmula do exemplo 87:

Rk,2 = 4Rk,1 −Rk−1,1

3

Page 453: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Os valores Rk,2 representam então os valores obtidos pelo métodode Simpson composto aplicado a uma malha composta de 2k−1 + 1pontos.Similarmente os valores de Rk,j são os valores obtidos pela quadra-tura de ordem 2j obtida via extrapolação de Richardson. Pode-semostrar que

Rk,j = Rk,j−1 + Rk,j−1 −Rk−1,j−1

4j−1 − 1 .

Exemplo 88. Construa o esquema de Romberg para aproximar ovalor de

∫ 20 e−x2

dx com erro de ordem 8.O que nos fornece os seguintes resultados:

55,59815 0,000000 0,000000 0,000000

30,517357 22,157092 0,000000 0,000000

20,644559 17,353626 17,033395 0,000000

17,565086 16,538595 16,484259 16,47554316,47554316,475543

Page 454: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Ou seja, temos: ∫ 2

0ex

2dx ≈ 16,475543

usando uma aproximação de ordem 8.

Exemplo 89. Construa o esquema de Romberg para aproximar ovalor de

∫ 20 x

2ex2dx com erro de ordem 12.

O que nos fornece:

218,3926

111,91458 76,421909

66,791497 51,750469 50,105706

51,892538 46,926218 46,604601 46,549028

47,782846 46,412949 46,378731 46,375146 46,374464

46,72661 46,374531 46,37197 46,371863 46,37185 46,37184746,37184746,371847

Page 455: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Ou seja, temos: ∫ 2

0x2ex

2dx ≈ 46,371847

com uma aproximação de ordem 12.

Page 456: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.3.4 Ordem de precisão

Todos os métodos de quadratura que vimos até o momento são daforma ∫ b

af(x)dx ≈

N∑j=1

wjf(xj)

Exemplo 90. (a) Método do trapézio

∫ b

af(x)dx ≈ [f(a) + f(b)] b− a2

= b− a2 f(a) + b− a

2 f(b)

:= w1f(x1) + w2f(x2) =2∑j=1

wjf(xj)

Page 457: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

(b) Método do trapézio com dois intervalos∫ b

af(x)dx ≈

[f(a) + 2f

(a+ b

2

)+ f(b)

]b− a

4

= b− a4 f(a) + b− a

2 f

(a+ b

2

)+ b− a

4 f(b)

:= w1f(x1) + w2f(x2) + w3f(x3) =3∑j=1

wjf(xj)

(c) Método de Simpson∫ b

af(x)dx ≈

[f(a) + 4f

(a+ b

2

)+ f(b)

]b− a

6

= b− a6 f(a) + 2(b− a)

3 f

(a+ b

2

)+ b− a

6 f(b)

:=3∑j=1

wjf(xj)

Page 458: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

(d) Método de Simpson com dois intervalos

∫ b

af(x)dx ≈

[f(a) + 4f

(3a+ b

4

)+ 2f

(a+ b

2

)

+ 4f(a+ 3b

4

)+ f(b)

]b− a

12

= b− a12 f(a) + b− a

3 f

(3a+ b

4

)+ b− a

6 f

(a+ b

2

)

+ b− a3 f

(a+ 3b

4

)+ b− a

12 f(b)

:=5∑j=1

wjf(xj)

A principal técnica que temos usado para desenvolver os métodosnuméricos é o polinômio de Taylor:

f(x) = a0 + a1x+ a2x2 + . . .+ anx

n +Rn(x)

Page 459: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Integrando termo a termo, temos:

∫ b

af(x)dx =

∫ b

aa0dx+

∫ b

aa1xdx+

∫ b

aa2x

2dx+ . . .+∫ b

aanx

ndx+∫ b

aRn(x)dx

= a0(b− a) + a1b2 − a2

2 + a2b3 − a3

3 + . . .+

anbn+1 − an+1

n+ 1 +∫ b

aRn(x)dx

Neste momento, é natural investigar o desempenho de um esquemanumérico aplicado a funções do tipo f(x) = xn.

Page 460: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definição 8. A ordem de precisão ou ordem de exatidãode um esquema de quadratura numérica como o maior inteiropositivo n para o qual o esquema é exato para todas as funçõesdo tipo xk com 0 ≤ k ≤ n, ou seja, Um esquema é dito deordem n se

n∑j=1

wjf(xj) =∫ b

af(x)dx, f(x) = xk, k = 0,1, . . . n

ou, equivalentemente:n∑j=1

wjxkj =

∫ b

axkdx = bk+1 − ak+1

k + 1 , k = 0,1, . . . n

Page 461: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Observação 20. Se o método tem ordem 0 ou mais, entãon∑j=1

wj = b− a

Exemplo 91. A ordem de precisão do esquema de trapézios é 1:

∫ b

af(x)dx ≈ [f(a) + f(b)] b− a2 =

2∑j=1

wjf(xj)

Page 462: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde wj = b−a2 , x1 = a e x2 = b.

(k = 0) :n∑j=1

wj = b− a

(k = 1) :n∑j=1

wjxj = (a+ b)b− a2 = b2 − a2

2

(k = 2) :n∑j=1

wjx2j = (a2 + b2)b− a2 6= b3 − a3

3

Exemplo 92. A ordem de precisão do esquema de Simpson é 3:

∫ b

af(x)dx ≈

[f(a) + 4f

(a+ b

2

)+ f(b)

]b− a

6 =3∑j=1

wjf(xj)

Page 463: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde w1 = w3 = b−a6 ,w2 = 4 b−a6 , x1 = a, x2 = a+b

2 e x3 = b

(k = 0) :n∑j=1

wj = (1 + 4 + 1)b− a6 = b− a

(k = 1) :n∑j=1

wjxj = (a+ 4a+ b

2 + b)b− a6 = (a+ b)b− a2 = b2 − a2

2

(k = 2) :n∑j=1

wjx2j = (a2 + 4

(a+ b

2

)2

+ b2)b− a6 = b3 − a3

3

(k = 3) :n∑j=1

wjx3j = (a3 + 4

(a+ b

2

)3

+ b3)b− a6 = b4 − a4

4

(k = 4) :n∑j=1

wjx4j = (a4 + 4

(a+ b

2

)4

+ b4)b− a6 6= b5 − a5

4

Exemplo 93. Encontre os pesos wj e as abscissas xj tais que oesquema de dois pontos∫ 1

−1f(x)dx = w1f(x1) + w2f(x2)

Page 464: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

é de ordem 3.

Solução. Temos um sistema de quatro equações e quatro incógni-tas dado por:

w1 + w2 = 2x1w1 + x2w2 = 0

x21w1 + x2

2w2 = 23

x31w1 + x3

2w2 = 0

Da segunda e quarta equação, temos:

w1

w2= −x2

x1= −x

32x3

1

Como x1 6= x2, temos x1 = −x2 e w1 = w2. Da primeira equação,temos w1 = w2 = 1. Da terceira equação, temos −x1 = x2 =

√3

3 .

Page 465: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Esse esquema de ordem de precisão três e dois pontos chama-sequadratura de Gauss-Legendre com dois pontos:

∫ 1

−1f(x)dx = f

(√3

3

)+ f

(−√

33

)

Page 466: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 94. Comparação

f(x) Exato Trapézio Simpson Gauss-Legendre (2)

exe− e−1

≈ 2,35040

e−1 + e

≈ 3,08616

e−1 + 4e0 + e1

3≈ 2,36205

e−−√

33 + e

√3

3

≈ 2,34270

x2√

3 + x3169 −

49√

2

≈ 1,149243,41421 1,13807 1,15411

x2ex3 e−e−1

3 ≈ 0,78347 3,08616 1,02872 0,67905

Page 467: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

7.3.5 Quadratura de Gauss-LegendreA quadratura de Gauss-Legendre de n pontos é o esquema numérico∫ 1

−1f(x)dx =

n∑j=1

wjf(xj)

cuja ordem de exatidão é 2n− 1.• O problema de encontrar os n pesos e n abscissas é equivalente

a um sistema não linear com 2n equações e 2n incógnitas.

• Pode-se mostrar que este problema sempre tem solução e quea solução é única se x1 < x2 < . . . < xn

• As abscissas são das pelos zeros do enésimo polinômio de Le-gendre, Pn(x).

• Os pesos são dados por

wj = 2(1− x2

j

)[P ′n(xj)]2

.

Page 468: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Estes dados são tabelados e facilmente encontrados.

Page 469: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

n xj wj

1 0 2

2 ±√

33 1

0 89

3

±√

35

59

±√(

3− 2√

6/5)/7 18+

√30

36

4

±√(

3 + 2√

6/5)/7 18−

√30

36

Page 470: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 95. Aproximar∫ 1

−1

√1 + x2dx

pelo método de Gauss-Legendre com 3 pontos.

Solução.

I3 = 59f

−√

35

+ 89f(0) + 5

9f√3

5

≈ 2,2943456

No Scilab: ♦

Exemplo 96. Aproximar∫ 1

−1

√1 + x2dx

pelo método de Gauss-Legendre com 4 pontos.

Page 471: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Solução. I4=f(x4(1))*w4(1)+f(-x4(1))*w4(1)+f(x4(2))*w4(2)+f(-x4(2))*w4(2)♦

Exemplo 97. Aproximar ∫ 1

0

√1 + x2dx

pelo método de Gauss-Legendre com 3, 4 e 5 pontos.

Solução. Para tanto, fazemos a mudança de variáveis u = 2x− 1:∫ 1

0

√1 + x2dx = 1

2

∫ 1

−1

√1 +

(u+ 1

2

)2du

E, então aplicamos a quadratura gaussiana nesta última integral.deff('y=f(u)','y=sqrt(1+(u+1)^2/4)/2')I3=f(0)*w3(1)+f(x3(2))*w3(2)+f(-x3(2))*w3(2)I4=f(x4(1))*w4(1)+f(-x4(1))*w4(1)+f(x4(2))*w4(2)+f(-x4(2))*w4(2)I5=f(0)*w5(1)+f(x5(2))*w5(2)+f(-x5(2))*w5(2)+f(x5(3))*w5(3) ...

+f(-x5(3))*w5(3)

Page 472: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Page 473: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 7.3.1. Calcule numericamente as seguintes integrais usando osmétodos simples do Ponto médio, Trapézio e Simpson. Calcule tam-bém o valor exato usando seus conhecimentos de Cálculo I. Com-plete a tabela abaixo conforme modelo:

Page 474: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

exato Ponto médio Trapézio Simpson

∫ 10 e−xdx 1− e−1 ≈ 0.6321206 e−1/2 ≈ 0.6065307 1+e−1

2 ≈ 0.6839397 1+4e−1/2+e−1

6 ≈ 0.6323337

∫ 10 x

2dx

∫ 10 x

3dx

∫ 10 xe

−x2dx

∫ 10

1x2+1dx

∫ 10

xx2+1dx

∫ 10

1x+1dx

Page 475: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.2. Dados os valores da função f(x), f(2) = 2, f(3) = 4 ef(4) = 8, calcule o valor aproximado de

∫ 4

2f(x)dx

pelos métodos simples de ponto médio, trapézio e Simpson.

E 7.3.3. Dê a interpretação geométrica dos métodos do pontomédio, trapézio e Simpson. A partir desta construção geométrica,deduza as fórmulas para aproximar

∫ b

af(x)dx.

Verifique o método de Simpson pode ser entendido como uma médiaaritmética ponderada entre os métodos de trapézio e ponto médio.Encontre os pesos envolvidos. Explique o que são os métodos com-postos.

Page 476: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.4. Calcule numericamente o valor de∫ 52 e

4−x2dx usando os

métodos compostos do ponto médio, trapézio e Simpson. Obtenhaos resultados utilizando, em cada quadratura, o número de pontosindicado.

n Ponto médio Trapézios Simpson

3

5

7

9

E 7.3.5. Use as rotinas construídas em aula e calcule numerica-mente o valor das seguintes integrais usando o método composto

Page 477: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

dos trapézios para os seguintes números de pontos:

n h∫ 1

0 e−4x2

dx∫ 1

01

1+x2dx∫ 1

0 x4(1− x)4dx

∫ 10 e− 1x2+1dx

17 0.4409931

33 0.4410288

65 0.4410377

129 0.4410400

257 0.4410405

513 0.4410406

1025 0.4410407 0.7853981 1.5873015873016 · 10−3 4.6191723776309 · 10−1

Para cada integrando encontre o função I(h) = a0 + a1h + a2h2 +

a3h3 + a4h

4 que melhor se ajusta aos dados, onde h = 1n−1 . Dis-

cuta os resultados com base no teorema envolvido na construção dométodo de Romberg.

Page 478: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.6. Calcule os valores da quadratura de Romberg de R1,1 atéR4,4 para

∫ π0 sin(x)dx. Não use rotinas prontas neste problema.

E 7.3.7. Sem usar rotinas prontas, use o método de integração deRomberg para obter a aproximação R3,3 das seguintes integrais:

a)∫ 1

0 e−x2

dx

b)∫ 2

0

√2− cos(x)dx

c)∫ 2

01√

2−cos(x)dx

Page 479: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.8. Encontre uma expressão para R2,2 em termos de f(x)e verifique o método de Romberg R2,2 é equivalente ao método deSimpson.

E 7.3.9. Considere o problema de aproximar numericamente ovalor de ∫ 100

0

(e

12 cos(x) − 1

)dx

pelo método de Romberg. Usando rotinas prontas, faça o que sepede.

• Calcule R(6,k), k = 1, . . . ,6 e observe os valores obtidos.

• Calcule R(7,k), k = 1, . . . ,6 e observe os valores obtidos.

• Calcule R(8,k), k = 1, . . . ,6 e observe os valores obtidos.

• Discuta os resultados anteriores e proponha uma estratégiamais eficiente para calcular o valor da integral.

Page 480: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.10. Encontre os pesos w1, w2 e w3 tais que o esquema dequadratura dado por∫ 1

0f(x)dx ≈ w1f(0) + w2f(1/2) + w3f(1)

apresente máxima ordem de exatidão. Qual a ordem obtida?

E 7.3.11. Encontre a ordem de exatidão do seguinte método deintegração:∫ 1

−1f(x)dx ≈ 2

3

[f

(−√

22

)+ f(0) + f

(√2

2

)]

E 7.3.12. Encontre a ordem de exatidão do seguinte método deintegração:∫ 1

−1f(x)dx = − 1

210f′(−1)+136

105f(−1/2)− 62105f(0)+136

105f(1/2)+ 1210f

′(1)

Page 481: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.13. Encontre os pesos w1, w2 e w3 tal que o método deintegração

∫ 1

0f(x)dx ≈ w1f(1/3) + w2f(1/2) + w3f(2/3)

tenha ordem de exatidão máxima. Qual é ordem obtida?

E 7.3.14. Explique por quê quando um método simples tem esti-mativa de erro de truncamento local de ordem hn, então o métodocomposto associado tem estimativa de erro de ordem hn−1.

E 7.3.15. Quantos pontos são envolvidos no esquema de quadra-tura R3,2? Qual a ordem do erro deste esquema de quadratura?Qual a ordem de exatidão desta quadradura?

E 7.3.16. Encontre os pesos w1 e w2 e as abcissas x1 e x2 tais que∫ 1

−1f(x) = w1f(x1) + w2f(x2)

Page 482: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

quando f(x) = xk, k = 0,1,2,3, isto é o método apresente máximaordem de exatidão possível com dois pontos.Use esse método para avaliar o valor da integral das seguintes in-tegrais e compare com os valores obtidos para Simpson e trapézio,bom como com o valor exato.

a)∫ 1−1 (2 + x− 5x2 + x3) dx

b)∫ 1−1 e

xdx

c)∫ 1−1

dx√x2+1

E 7.3.17. Encontre os pesos w1, w2 e w3 tal que o método deintegração

∫ 1

−1f(x)dx ≈ w1f

(−√

33

)+ w2f(0) + w3f

(√3

3

)

tenha ordem de exatidão máxima. Qual é ordem obtida?

Page 483: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.18. Encontre aproximações para a seguinte integral viaGauss-Legendre com 2, 3, 4, 5, 6 e 7 pontos e compare com o valorexato ∫ 1

−1x4ex

5dx.

E 7.3.19. Encontre aproximações para as seguintes integrais viaGauss-Legendre com 4 e 5 pontos:

a)∫ 1

0 e−x4

dx

b)∫ 4

1 log(x+ ex)dx

c)∫ 1

0 e−x2

dx

E 7.3.20. Calcule numericamente o valor das seguintes integraisusando a quadratura de Gauss-Legendre para os seguintes valoresde n:

Page 484: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

n∫ 1

0 e−4x2

dx∫ 1

01

1+x2dx∫ 1

0 x4(1− x)4dx

∫ 10 e− 1x2+1dx

2

3

4

5

8

10

12

14

16 0.4410407 0.7853982 0.0015873 0.4619172

Page 485: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios finais

E 7.3.21. O valor exato da integral imprópria∫ 1

0 x ln(x)dx é dadopor ∫ 1

0x ln(x)dx =

(x2

2 ln x− x2

4

)∣∣∣∣∣1

0= −1/4

Aproxime o valor desta integral usando a regra de Simpson paran = 3, n = 5 e n = 7. Como você avalia a qualidade do resultadoobtido? Por que isso acontece.

E 7.3.22. O valor exato da integral imprópria∫∞

0 e−x2dx é dado

por√π

2 . Escreva esta integral como

I =∫ 1

0e−x

2dx+

∫ 1

0u−2e−1/u2

du =∫ 1

0

(e−x

2 + x−2e−1/x2)dx

e aproxime seu valor usando o esquema de trapézios e Simpson paran = 5, n = 7 e n = 9.

Page 486: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.23. Estamos interessados em avaliar numericamente a se-guinte integral: ∫ 1

0ln(x) sin(x)dx

cujo valor com 10 casas decimais corretas é −.2398117420.

a) Aproxime esta integral via Gauss-Legendre com n = 2,n = 3,n = 4, n = 5, n = 6 e n = 7.

b) Use a identidade∫ 1

0ln(x) sin(x)dx =

∫ 1

0ln(x)xdx+

∫ 1

0ln(x) [sin(x)− x] dx

=(x2

2 ln x− x2

4

)∣∣∣∣∣1

0+∫ 1

0ln(x) [sin(x)− x] dx

= −14 +

∫ 1

0ln(x) [sin(x)− x] dx

e aproxime a integral∫ 10 ln(x) [sin(x)− x] dx numericamente

Page 487: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

via Gauss-Legendre com n = 2, n = 3, n = 4, n = 5, n = 6 en = 7.

c) Compare os resultados e discuta levando em consideração asrespostas às seguintes perguntas: 1)Qual função é mais bem-comportada na origem? 2)Na segunda formulação, qual por-ção da solução foi obtida analiticamente e, portanto, sem errode truncamento?

E 7.3.24. Considere o problema de calcular numericamente a in-tegral I =

∫ 1−1 f(x)dx quando f(x) = cos(x)√

|x|.

a) O que acontece quando se aplica diretamente a quadraturagaussiana com um número impar de abscissas?

b) Calcule o valor aproximado por quadratura gaussiana comn = 2, n = 4, n = 6 e n = 8.

Page 488: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

c) Calcule o valor aproximado da integral removendo a singula-ridade

I =∫ 1

−1

cos(x)√|x|

dx =∫ 1

−1

cos(x)− 1√|x|

dx+∫ 1

−1

1√|x|dx

=∫ 1

−1

cos(x)− 1√|x|

dx+ 2∫ 1

0

1√xdx =

∫ 1

−1

cos(x)− 1√|x|

dx+ 4

e aplicando quadratura gaussiana com n = 2, n = 4, n = 6 en = 8.

d) Calcule o valor aproximado da integral removendo a singula-ridade, considerando a paridade da função

I = 4 +∫ 1

−1

cos(x)− 1√|x|

dx = 4 + 2∫ 1

0

cos(x)− 1√x

dx = 4 +√

2∫ 1

−1

cos(

1+u2

)− 1

√1 + u

du

e aplicando quadratura gaussiana com n = 2, n = 4, n = 6 en = 8.

Page 489: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e) Expandindo a função cos(x) em série de Taylor, truncando asérie depois do n-ésimo termos não nulo e integrando analiti-camente.

f) Aproximando a função cos(x) pelo polinômio de Taylor degrau 4 dado por

P4(x) = 1− x2

2 + x4

24e escrevendo

I =∫ 1

−1

cos(x)√|x|

dx =∫ 1

−1

cos(x)− P4(x)√|x|

dx+∫ 1

−1

P4(x)√|x|

dx

= 2∫ 1

0

cos(x)− P4(x)√x

dx︸ ︷︷ ︸Resolver numericamente

+2∫ 1

0

(x−1/2 − x3/2

2 + x7/2

24

)dx︸ ︷︷ ︸

Resolver analiticamente

Page 490: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.25. Calcule numericamente o valor das seguintes integraiscom um erro relativo inferior a 10−4.

a)∫ 1

0

sin(πx)x

dx

b)∫ 1

0

sin(πx)x(1− x)dx

c)∫ 1

0

sin(π2x)

√x(1− x)

dx

d)∫ 1

0ln(x) cos(x)dx

E 7.3.26. Calcule as integrais∫ 1

0ex

|x|1/4dx e∫ 1

0e−x

|x|4/5dx usando pro-cedimentos analíticos e numéricos.

Page 491: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.27. Use a técnica de integração por partes para obter aseguinte identidade envolvendo integrais impróprias:

I =∫ ∞

0

cos(x)1 + x

dx =∫ ∞

0

sin(x)(1 + x)2dx.

Aplique as técnicas estudadas para aproximar o valor de I e expliquepor que a integral da direita é mais bem comportada.

E 7.3.28. Resolva a equação

x+∫ x

0e−y

2dy = 5

com 5 dígitos significativos.

E 7.3.29. O calor específico (molar) de um sólido pode ser apro-ximado pela teoria de Debye usando a seguinte expressão

CV = 9NkB(T

TD

)3 ∫ TD/T

0

y4ey

(ey − 1)2dy

Page 492: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

onde N é a constante de Avogrado dado por N = 6.022 × 1023 ekB é a constante de Boltzmann dada por kB = 1.38 × 10−23. TD étemperatura de Debye do sólido.

a) Calcule o calor específico do ferro em quando T = 200K,T = 300K e T = 400K supondo TD = 470K.

b) Calcule a temperatura de Debye de um sólido cujo calor espe-cífico a temperatura de 300K é 24J/K/mol. Dica: aproximea integral por um esquema numérico com um número fixo depontos.

c) Melhore sua cultura geral: A lei de Dulong-Petit para o calorespecífico dos sólidos precede a teoria de Debye. Verifique quea equação de Debye é consistente com Dulong-Petit, ou seja:

limT→∞

Cv = 3NkB.

Dica: use ey ≈ 1 + y quando y ≈ 0

Page 493: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Capítulo 8

Problemas de valor inicial

Neste capítulo, desenvolveremos técnicas numérica para aproximara solução de problemas de valor inical da forma

y′(t) = f(y(t),t) (8.1a)y(t0) = y0 (condição inicial). (8.1b)

486

Page 494: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A ingógnita de um problema de valor inicial é uma função quesatisfaz a equação diferencial (8.1a) e a condição inicial (8.1b).

Exemplo 98. Considere o seguinte problema de valor inicial

y′(t) = 2y(t), (8.2a)y(t0) = 1. (8.2b)

A solução desta equação é dada pela função y(t) = e2y pois y′(t) =2e2t = 2y(t) e y(0) = e0 = 1.

Muito problemas de valor inicial da forma (8.1) não podem ser re-solvidos exatamente, ou seja, sabe-se que a solução existe e é única,porém não podemos expressá-la em termos de funções elementares.Por isso é necessário calcular aproximações numéricas. Diversosmétodos completamente diferentes estão disponíveis para aproxi-mar uma função real.Aqui nos limitaremos a estudar métodos que se fundamentam emtentar calcular y(t) em um conjunto finito de valores de t. Esse con-junto de valores para t será denotado por tiNi=1, isto é t1, t2, t3, . . . , tN

Page 495: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e calculamos o valor aproximado da função solução y(ti) em cadaponto da malha usando esquemas numéricos.

Page 496: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.1 Método de EulerRetornemos ao problema de valor inicial (8.1) dado por:

y′(t) = f(y(t),t) (8.3a)y(0) = y0 (condição inicial) (8.3b)

O Método de Euler aplicado à solução desse problema consiste emaproximar a derivada y′(t) por um esquema de primeira ordem dotipo

y′(t) = y(t+ h)− y(t)h

+O(h), h > 0.

Aqui h é o passo do método, que consideraremos uma constante.Assim temos (8.3) se transforma em:

y(t+ h)− y(t)h

= f(y(t),t) +O(h)

y(t+ h) = y(t) + hf(y(t),t) +O(h2).

Page 497: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Definimos, então, t(k) = (k − 1)h e y(k) como a aproximação paray(t(k)

)produzida pelo Método de Euler. Assim, obtemos

y(k+1) = y(k) + hf(y(k),t(k)) (aproximação da EDO), (8.4)y(1) = y0 (condição inicial). (8.5)

O problema (8.4) consiste em um esquema iterativo, isto é, y(1) éa condição inicial; y(2) pode ser obtido de y(2); y(3), de y(4) e assimpor diante, calculamos o termo y(n) apartir do anterior y(n−1).Exemplo 99. Retornemos ao o problema de valor inicial do exem-plo (8.2):

y′(t) = 2y(t)y(0) = 1

Cuja solução é y(t) = e2t. O método de Euler aplicado a esteproblema produz o seguinte esquema:

y(k+1) = y(k) + 2hy(k) = (1 + 2h)y(k)

y(1) = 1,

Page 498: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

cuja solução é dada por

y(k) = (1 + 2h)k−1.

Como t = (k − 1)h, a solução aproximada pelo Método de Euler é

y(t) ≈ y(t) = (1 + 2h) th .

Observe que y(t) 6= y(t), mas se h é pequeno, a aproximação é boa,pois

limh→0+

(1 + 2h) th = e2t.

Vamos agora, analisar o desempenho do Método de Euler usandoum exemplo mais complicado, porém ainda simples suficiente paraque possamos obter a solução exata:

Exemplo 100. Considere o problema de valor inicial relacionado àequação logística:

y′(t) = y(t)(1− y(t))y(0) = 1/2

Page 499: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Podemos obter a solução exata desta equação usando o método deseparação de variáveis e o método das frações parciais.

dy(t)y(t)(1− y(t)) = dt(1y

+ 11− y

)dy = dt

ln(y)− ln(1− y) = t+ C

ln(

y

1− y

)= t+ C

y

1− y = et+C

y = et+C(1− y)y(1 + et+C) = et+C

y = et+C

1 + et+C.

Basta, agora, encontrar a constante C a partir da condição inicial

Page 500: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

y(0) = 1/2:

y(0) = eC

1 + eC= 1/2,

o que implica eC = 1 e, portanto, C = 0. Assim, a solução exata édada por y(t) = et

1+et

Vejamos, agora, o esquema iterativo produzido pelo método de Eu-ler:

y(k+1) = y(k) + hy(k)(1− y(k)), (8.6a)y(1) = 1/2. (8.6b)

Para fins de comparação, calculamos a solução de (100) e de (8.6)para alguns valores de t e de passo h e resumimos na tabela (8.1).No exemplo a seguir, apresentamos um problema envolvendo umaequação não-autônoma, isto é, quando a função f(y,t) depende ex-plicitamente do tempo.

Page 501: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Figura 8.1: Tabela comparativa enter Método de Euler e soluçãoexata para problema 100.

t Exato Euler h = 0,1 Euler h = 0,01

0 1/2 0,5 0,5

1/2 e1/2

1+e1/2 ≈ 0,6224593 0,6231476 0,6225316

1 e1+e ≈ 0,7310586 0,7334030 0,7312946

2 e2

1+e2 ≈ 0,8807971 0,8854273 0,8812533

3 e3

1+e3 ≈ 0,9525741 0,9564754 0,9529609

Page 502: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 101. Resolva o problema de valor inicialy′ = −y + t

y(0) = 1,cuja solução exata é y(t) = 2e−t + t− 1.O esquema recursivo de Euler fica:

y(k+1) = y(k)− hy(k) + ht(k)

y(0) = 1Comparação

t Exato Euler h = 0,1 Euler h = 0,01

0 1 1 1

1 2e−1 ≈ 0,7357589 0,6973569 0,7320647

2 2e−2 + 1 ≈ 1,2706706 1,2431533 1,2679593

3 2e−3 + 2 ≈ 2,0995741 2,0847823 2,0980818

Page 503: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

No exemplo 102, mostramos como o Método de Euler pode ser facil-mente estendido para problemas envolvendo sistemas de equaçõesdiferenciais..

Exemplo 102. Escreva o processo iterativo de Euler para resolvernumericamente o seguinte sistema de equações diferenciais

x′ = −yy′ = x

x(0) = 1y(0) = 0,

cuja solução exata é x(t) = cos(t) e y(t) = sin(t).

Par aplicar o Método de Euler a um sistema, devemos encarar asdiversas incógnitas do sistema como formando um vetor, neste caso,

Page 504: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

encrevemos:

z(t) =

x(t)

y(t)

.O sistema é igualmente escrito na forma vetorial: x(k+1)

y(k+1)

=

x(k)

y(k)

+ h

−y(k)

x(k)

.Observe que este processo iterativo é equivalente a:

x(k+1) = x(k) − hy(k)

y(k+1) = y(k) + hx(k).

Exemplo 103. Escreva o problema de valor inicial de segunda or-dem dado por

y′′ + y′ + y = cos(t),y(0) = 1,y′(0) = 0,

Page 505: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

como um problema envolvendo um sistema de primeira ordem.

A fim de transformar a equação diferencial dada em um sistema deequações de primeira ordem, introduzimos a substituição w = y′,de forma que obtermos o sistema:

y′ = w

w′ = −w − y + cos(t)y(0) = 1w(0) = 0

Portanto, o Método de Euler produz o seguinte processo iterativo:

y(k+1) = y(k) + hw(k),

w(k+1) = w(k) − hw(k) − hy(k) + h cos(t(k)),y(1) = 1,w(1) = 0.

Page 506: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 8.1.1. Resolva o problema de valor inicial dado por

y′ = −2y +√yy(0) = 1

com passo h = 0.1 e h = 0.1 para obter aproximações para y(1).Compare com a solução exata dada por y(t) = (1 + 2e−t + e−2t) /4

E 8.1.2. Resolva o problema de valor inicial dado por

y′ = −2y +√z

z′ = −z + y

y(0) = 0z(0) = 2

Page 507: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

com passo h = 0.2, h = 0.2, h = 0.02 e h = 0.002 para obteraproximações para y(2) e z(2).

E 8.1.3. Resolva o problema de valor inicial dado por

y′ = cos(ty(t))y(0) = 1

com passo h = 0.1, h = 0.01, h = 0.001, h = 0.0001 e 0.00001 paraobter aproximações para y(2).

Page 508: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.2 Método de Euler melhoradoO método de Euler foi o primeiro método que estudamos e suaprincipal virtude é a simplicidade. Outros métodos, no entanto,podem apresentar resultados superiores. Vamos apresentar agorauma pequena modificação ao Método de Euler, dando origem a umnovo método chamado de Método de Euler Modificado ou Métodode Euler Melhorado.No método de Euler, usamos a seguinte iteração:

y(k+1) = y(k) + hf(y(k),t(k))y(1) = y0 (condição inicial)

A ideia do método de Euler Melhorado é substituir a declividadef(y(k),t(k)) pela média aritmética entre f(y(k),t(k)) e f(y(k+1),t(k+1)),isto é, as declividades avaliadas no início e no fim do intervalo[t(k),t(k+1)].No entanto, não dispomos do valor de y(k+1) antes de executar opasso. Assim aproximamos esta grandeza pelo valor produzido pelo

Page 509: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Método de Euler original:

y(k+1) = y(k) + hf(y(k),t(k)).

De posse desta aproximação, calculamos a média aritmética e comesta média realizamos o passo do Método de Euler Melhorado. Oprocesso iterativo de Euler Melhorado é, portanto, dado por:

y(k+1) = y(k) + hf(y(k),t(k))

y(k+1) = y(k) + h

2[f(y(k),t(k)) + f(y(k+1),t(k+1))

]y(1) = y0 (condição inicial)

Podemos reescrever este mesmo processo iterativo da seguinte forma:

k1 = hf(y(k),t(k)),k2 = hf(y(k) + k1,t

(k+1)),

y(k+1) = y(k) + k1 + k2

2 ,

y(1) = y0 (condição inicial).

Page 510: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Aqui k1 e k2 são variáveis auxiliares que representam as inclinaçõese devem ser calculadas a cada passo.

Page 511: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 8.2.1. Use o Método de Euler melhorado para obter uma apro-ximação numérica do valor de y(1) quando y(t) satisfaz o seguinteproblema de valor inicial

y′(t) = −y(t) + ey(t),

y(0) = 0,

usando passos h = 0,1 e h = 0,01.

E 8.2.2. Use o Método de Euler e o Método de Euler melhoradopara obter aproximações numéricas para a solução do seguinte pro-blema de valor inicial para t ∈ [0,1]:

y′(t) = −y(t)− y(t)2,

y(0) = 1,usando passo h = 0,1. Complete a tabela abaixo com os valoresobtidos e compare com o valores obtidos da solução exata dada por

Page 512: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

y(t) = 12et−1 , complete também com o erro absoluto obtido em cada

método:t Exato Euler Euler Melhorado Erro Euler Erro Euler Melhorado

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Page 513: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.2.1 Ordem de precisão

Considere o problema de valor inicial dado por

y′(t) = f(y(t),t)y(0) = yi

No método de Euler, aproximamos a derivada y′(t) por um esquemade primeira ordem do tipo

y′(t) = y(t+ h)− y(t)h

+O(h), h > 0

de forma que tínhamos

y(t+ h) = y(t) + hf(y(t),t) +O(h2)

Page 514: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Se fixarmos um instante de tempo t = Nh, temos:

y(t) =[y(0) + hf(y(0),0) +O(h2)

]+[y(h) + hf(y(h),h) +O(h2)

]+ . . .

[y(t− h) + hf(y(t− h),t− h) +O(h2)

]= yk +

N−1∑j=0

O(h2) = yk +O(h)

Por isso, o método de Euler é dito ter ordem global de precisão h.

Page 515: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.3 Métodos de Runge-KuttaOs métodos de Runge-Kutta consistem em iterações do tipo:

y(k+1) = y(k) + w1k1 + . . .+ wnkn

onde

k1 = hf(y(k),t(k))k2 = hf(y(k) + α2,1k1,t

(k) + β2h)k3 = hf(y(k) + α3,1k1 + α3,2k2,t

(k) + β3h)...

kn = hf(y(k) + αn,1k1 + αn,2k2 + . . . αn,n−1kn−1,t(k) + βnh)

Os coeficientes são escolhidos de forma que a expansão em Taylorde y(k+1) e y(k) + w1k1 + . . .+ wnkn coincidam até ordem n+ 1.

Page 516: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 104. O método de Euler melhorado é um exemplo deRunge-Kutta de segunda ordem

y(n+1) = y(n) + k1 + k2

2

onde k1 = hf(y(n),t(n)) e k2 = hf(y(n) + k1,t(n) + h)

Page 517: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.3.1 Métodos de Runge-Kutta - Quarta ordem

y(n+1) = y(n) + k1 + 2k2 + 2k3 + k4

6

onde

k1 = hf(y(n),t(n))k2 = hf(y(n) + k1/2,t(n) + h/2)k3 = hf(y(n) + k2/2,t(n) + h/2)k4 = hf(y(n) + k3,t

(n) + h)

Este método tem ordem de truncamento local de quarta ordem.Uma discussão heurística usando método de Simpson pode ajudar

Page 518: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a compreender os estranhos coeficientes:

y(t(n+1))− y(t(n)) =∫ t(n+1)

t(n)f(y(s),s)ds

≈ h

6[f(y(t(n)),t(n)

)+ 4f

(y(t(n) + h/2),t(n) + h/2

)+ f

(y(t(n) + h),t(n) + h

)]≈

k1 + 4(k2+k32 ) + k4

6

onde k1 e k4 representam as inclinações nos extremos e k2 e k3 sãoduas aproximações diferentes para a inclinação no meio do intervalo.

Page 519: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.4 Métodos de passo múltiplo - Adams-Bashforth

O método de Adams-Bashforth consiste de um esquema recursivodo tipo:

y(n+1) = y(n) +k∑j=0

wjf(y(n−j),t(n−j))

Exemplo 105. Adams-Bashforth de segunda ordem

y(n+1) = y(n) + h

2[3f(y(n),t(n)

)− f

(y(n−1),t(n−1)

)]

Exemplo 106. Adams-Bashforth de terceira ordem

y(n+1) = y(n)+ h

12[23f

(y(n),t(n)

)− 16f

(y(n−1),t(n−1)

)+ 5f

(y(n−2),t(n−2)

)]

Page 520: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 107. Adams-Bashforth de quarta ordem

y(n+1) = y(n) + h

24[55f

(y(n),t(n)

)− 59f

(y(n−1),t(n−1)

)+ 37f

(y(n−2),t(n−2)

)− 9f

(y(n−3),t(n−3)

)]Os métodos de passo múltiplo evitam os múltiplos estágios do méto-dos de Runge-Kutta, mas exigem ser "iniciados"com suas condiçõesiniciais.

Page 521: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.5 Métodos de passo múltiplo - Adams-Moulton

O método de Adams-Moulton consiste de um esquema recursivo dotipo:

y(n+1) = y(n) +k∑

j=−1wjf(y(n−j),t(n−j))

Exemplo 108. Adams-Moulton de quarta ordem

y(n+1) = y(n) + h

24[9f(y(n+1),t(n+1)

)+ 19f

(y(n),t(n)

)− 5f

(y(n−1),t(n−1)

)+ f

(y(n−2),t(n−2)

)]

O método de Adams-Moulton é implícito, ou seja, exige que a cadapasso, uma equação em y(n+1) seja resolvida.

Page 522: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

8.6 EstabilidadeConsideremos o seguinte problema de teste: y′ = −αy

y(0) = 1

cuja solução exata é dada por y(t) = e−αt.Considere agora o método de Euler aplicado a este problema compassa h: y(k+1) = y(k) − αhy(k)

y(1) = 1A solução exata do esquema de Euler é dada por

y(k+1) = (1− αh)k

e, portanto,y(t) = y(k+1) = (1− αh)t/h

Page 523: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Fixamos um α > 0, de forma que y(t) → 0. Mas observamos quey(t)→ 0 somente quando |1− αh| < 1 e solução positivas somentequando αh < 1.Conclusão: Se o passo h for muito grande, o método pode se tornarinstável, produzindo solução espúrias.

Page 524: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios

E 8.6.1. Resolva o problema 1 pelos diversos métodos e verifiqueheuristicamente a estabilidade para diversos valores de h.

Page 525: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exercícios finais

E 8.6.2. Considere o seguinte modelo para o crescimento de umacolônia de bactérias:

dy

dt= αy(A− y)

onde y indica a densidade de bactérias em unidades arbitrárias nacolônia e α e A são constantes positivas. Pergunta-se:

a) Qual a solução quando a condição inicial y(0) é igual a 0 ouA?

b) O que acontece quando a condição inicial y(0) é um númeroentre 0 e A?

c) O que acontece quando a condição inicial y(0) é um númeronegativo?

d) O que acontece quando a condição inicial y(0) é um númeropositivo maior que A?

Page 526: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

e) Se A = 10 e α = 1 e y(0) = 1, use métodos numéricos paraobter tempo necessário para que a população dobre?

f) Se A = 10 e α = 1 e y(0) = 4, use métodos numéricos paraobter tempo necessário para que a população dobre?

E 8.6.3. Considere o seguinte modelo para a evolução da veloci-dade de um objeto em queda (unidades no SI):

v′ = g − αv2

Sabendo que g = 9,8 e α = 10−2 e v(0) = 0. Pede-se a velocidadeao tocar o solo, sabendo que a altura inicial era 100.

E 8.6.4. Considere o seguinte modelo para o oscilador não-linearde Van der Pol:

y′′(t)− α(A− y(t)2)y′(t) + w20y(t) = 0

onde A, α e w0 são constantes positivas.

Page 527: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Encontre a frequência e a amplitude de oscilações quandow0 = 1, α = .1 e A = 10. (Teste diversas condições inici-ais)

• Estude a dependência da frequência e da amplitude com osparâmetros A, α e w0. (Teste diversas condições iniciais)

• Que diferenças existem entre esse oscilador não-linear e o os-cilador linear?

E 8.6.5. Considere o seguinte modelo para um oscilador não-linear:

y′′(t)− α(A− z(t))y′(t) + w20y(t) = 0

Cz′(t) + z(t) = y(t)2

onde A, α, w0 e C são constantes positivas.

• Encontre a frequência e a amplitude de oscilações quandow0 = 1, α = .1, A = 10 e C = 10. (Teste diversas condi-ções iniciais)

Page 528: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Estude a dependência da frequência e da amplitude com osparâmetros A, α, w0 e C. (Teste diversas condições iniciais)

E 8.6.6. Considere o seguinte modelo para o controle de tempera-tura em um processo químico:

CT ′(t) + T (t) = κP (t) + Text

P ′(t) = α(Tset − T (t))

onde C, α e κ são constantes positivas e P (t) indica o potência doaquecedor. Sabendo que Tset é a temperatura desejada, interpreteo funcionamento esse sistema de controle.

• Calcule a solução quando a temperatura externa Text = 0,Tset = 1000, C = 10, κ = .1 e α = .1. Considere condiçõesiniciais nulas.

• Quanto tempo demora o sistema para atingir a temperatura900K?

Page 529: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Refaça os dois primeiros itens com α = 0.2 e α = 1

• Faça testes para verificar a influência de Text, α e κ na tem-peratura final.

E 8.6.7. Considere a equação do pêndulo dada por:

d2θ(t)dt2

+ g

lsin(θ(t)) = 0

onde g é o módulo da aceleração da gravidade e l é o comprimentoda haste.

• Mostre analiticamente que a energia total do sistema dada por

12

(dθ(t)dt

)2

− g

lcos(θ(t))

é mantida constante.

Page 530: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

• Resolva numericamente esta equação para g = 9,8m/s2 e l =1m e as seguintes condições iniciais:

θ(0) = 0.5 e θ′(0) = 0.

θ(0) = 1.0 e θ′(0) = 0.

θ(0) = 1.5 e θ′(0) = 0.

θ(0) = 2.0 e θ′(0) = 0.

θ(0) = 2.5 e θ′(0) = 0.

θ(0) = 3.0 e θ′(0) = 0.

Em todos os casos, verifique se o método numérico reproduz a leide conservação de energia e calcule período e amplitude.

E 8.6.8. Considere o modelo simplificado de FitzHugh-Nagumo

Page 531: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

para o potencial elétrico sobre a membrana de um neurônio:

dV

dt= V − V 3/3−W + I

dW

dt= 0.08(V + 0.7− 0.8W )

onde I é a corrente de excitação.

• Encontre o único estado estacionário (V0,W0) com I = 0.

• Resolva numericamente o sistema com condições iniciais dadaspor (V0,W0) e

I = 0I = 0.2I = 0.4I = 0.8I = e−t/200

Page 532: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 8.6.9. Considere o problema de valor inicial dado por

du(t)dt

= −u(t) + e−t

u(0) = 0

Resolva analiticamente este problema usando as técnicas elementa-res de equações diferenciais ordinárias. A seguir encontre aproxi-mações numéricas usando os métodos de Euler, Euler modificado,Runge-Kutta Clássico e Adams-Bashforth de ordem 4 conforme pe-dido nos itens.

a) Construa uma tabela apresentando valores com 7 algarismossignificativos para comparar a solução analítica com as aproxi-mações numéricas produzidas pelos métodos sugeridos. Cons-trua também uma tabela para o erro absoluto obtido por cadamétodo numérico em relação à solução analítica. Nesta últimatabela, expresse o erro com 2 algarismos significativos em for-mato científico. Dica: format(′e′,8) para a segunda tabela.

Page 533: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

0.5 1.0 1.5 2.0 2.5

Analítico

Euler

Euler modificado

Runge-Kutta Clássico

Adams-Bashforth ordem 4

0.5 1.0 1.5 2.0 2.5

Euler

Euler modificado

Runge-Kutta Clássico

Adams-Bashforth ordem 4

Page 534: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

b) Calcule o valor produzido por cada um desses método parau(1) com passo h = 0.1, h = 0.05, h = 0.01, h = 0.005 eh = 0.001. Complete a tabela com os valores para o erroabsoluto encontrado.

0.1 0.05 0.01 0.005 0.001

Euler

Euler modificado

Runge-Kutta Clássico

Adams-Bashforth ordem 4

Page 535: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Apêndice A

Rápida Introdução aoScilab

528

Page 536: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.1 Sobre o Scilab

Scilab é uma linguagem de programação associada com uma ricacoleção de algoritmos numéricos que cobrem muitos aspectos deproblemas de computação científica. Do ponto de vista de software,Scilab é uma linguagem interpretada. A linguagem Scilab permitea compilação dinâmica e lincagem com outras linguagens como For-tran e C. Do ponto de vista de licença, Scilab é um software gratuitono sentido que o usuário não paga por ele. Além disso, Scilab é umsoftware de código aberto disponível sobre a licença Cecill [1]. Sci-lab esta disponível para Linux, Mac Os e Windows. Ajuda onlineesta disponível em português e muitas outras línguas. Do ponto devista científico, Scilab começou focado em soluções computacionaispara problemas de álgebra linear, mas, rapidamente, o número deaplicações se estendeu para muitas áreas da computação científica.As informações deste apêndice foram adaptadas do tutorial “Intro-duction to Scilab” [2], veja-o para maiores informações. Além disso,recomendamos visitar o sítio oficial do Scilab:

Page 537: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

www.scilab.org

O manual oficial do Scilab em português pode ser obtido em:

http://help.scilab.org/docs/5.5.2/pt_BR/index.html

Page 538: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.1.1 Instalação e ExecuçãoO Scilab pode ser executado normalmente nos sistemas operaci-onais Linux, Mac Os e Windows. Muitas distribuições de Linux(Linux Mint, Ubuntu, etc.) têm o Scilab no seu sistema de pacotes(incluindo binário e documentação em várias línguas). Alternati-vamente, no sítio de internet oficial do Scilab pode-se obter maisversões de binários e documentação para instalação em sistemas Li-nux. Para a instalação em sistemas Mac Os e Windows, visite sítiode internet oficial do Scilab.

Page 539: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.1.2 Usando o ScilabO uso do Scilab pode ser feito de três formas básicas:

• usando o console de modo iterativo;

• usando a função exec para executar um código Scilab digitadoem um arquivo externo;

• usando processamento bash.

Exemplo 109. Considere o seguinte pseudocódigo:

s = "Olá Mundo!". (Sem imprimir na tela o resultado.)saída(s). (Imprime na tela.)

Implemente este pseudocódigo no Scilab: a) usando somente o con-sole do Scilab; b) usando o editor do Scilab e executando o códigocom a função exec; c) usando processamento bash.

Solução. Seguem as soluções de cada item:

Page 540: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) No console temos:

-->s = "Olá Mundo!";-->disp(s)

b) Para abrir o editor do Scilab pode-se digitar no prompt:

-->editor()

ou, alternativamente:

-->scinotes

Então, digita-se no editor o código:

s = "Olá Mundo!"disp(s)

Page 541: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

salva-se em um arquivo de sua preferência (por exemplo, ~/foo.sce)e executa-se o código clicando no botão “play” disponível nabarra de botões do Scinotes.

c) Para executar o código em processamento bash, digita-se emum editor o código:

s = "Olá Mundo!"disp(s)

salva-se em um arquivo de sua preferência (por exemplo, ~/foo.sce)e executa-se em um console do sistema usando a linha de co-mando:

$ scilab -nw -f ~/foo.sce

Digite, então, quit para voltar ao prompt do sistema.

Page 542: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.2 Elementos da linguagemScilab é uma linguagem interpretada em que todas as variáveis sãomatrizes. Uma variável é criada quando um valor é atribuído a ela.Por exemplo:

-->x=1x =

1.-->y = x * 2y =

2.

a variável x recebe o valor double 1 e, logo após, na segunda linhade comando, a variável y recebe o valor double 2. Observamos queo símbolo = significa o operador de atribuição não o de igualdade.O operador lógico de igualdade no Scilab é ==.Comentários e continuação de linha de comando são usados comono seguinte exemplo:

Page 543: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->//Isto é um comentário-->x = 1 ..-->+ 2x =

3.

Page 544: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.2.1 Operações matemáticas elementaresNo Scilab, os operadores matemáticos elementares são os seguintes:

+ adição- subtração* multiplicação/ divisão^ potenciação (igual a **)' transposto conjugado

Page 545: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.2.2 Funções e constantes elementaresVárias funções e constantes elementares já estão pré-definidas noScilab. Por exemplo:-->cos(%pi) //cosseno de pians =- 1.

-->exp(1) == %e //número de Eulerans =T

-->log(1) //logarítmo natual de 1ans =

0.Para mais informações sobre quais as funções e constantes pré-definidas no Scilab, consulte o manual, seções “Funções elemen-tares” e o carácter especial “%".

Page 546: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.2.3 Operadores lógicosNo Scilab, o valor lógico verdadeiro é escrito como %T e o valor lógicofalso como %F. Temos os seguintes operadores lógicos disponíveis:

& e lógico| ou lógico~ negação== igualdade~= diferente< menor que> maior que<= menor ou igual que>= maior ou igual que

Exemplo 110. Se x = 2, então x é maior ou igual a 1 e menor que3?

Solução. No Scilab, temos:

Page 547: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->x=2;

-->(x >= 1) & (x < 3)ans =

T

Page 548: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.3 MatrizesNo Scilab, matriz é o tipo básico de dados, a qual é definida por seunúmero de linhas, colunas e tipo de dado (real, inteiro, lógico, etc.).Uma matriz A = [ai,j]m,ni,j=1 no Scilab é definida usando-se a seguintesintaxe:

A = [ a11 , a12 , ... , a1n ; ...; am1 , am2 , ... , amn ]

Exemplo 111. Defina a matriz:

A =

1 2 3

4 5 6

Solução. No Scilab, digitamos:

-->A = [1 , 2 , 3 ; 4 , 5 , 6]A =

Page 549: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

1. 2. 3.4. 5. 6.

A seguinte lista contém uma série de funções que geram matrizesparticulares:

eye matrix identidadelinspace vetor de elementos linearmente espaçadosones matriz cheia de unszeros matriz nula

Page 550: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.3.1 O operador “:”O operador “:” cria um vetor linha de elementos. A sintaxe:v = i:s:j

cria um vetor linha:

v = [i, i+ s, i+ 2s, . . . , i+ ns]

onde n é o maior inteiro tal que i+ ns < j.Exemplo 112. Veja as seguintes linhas de comando:-->v = 10:-2:3v =

10. 8. 6. 4.

-->u = 2:6u =

2. 3. 4. 5. 6.

Page 551: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.3.2 Obtendo dados de uma matrizA função size retorna o tamanho de uma matriz, por exemplo:-->A = ones(3,2)A =

1. 1.1. 1.1. 1.

-->[nl, nc] = size(A)nc =

2.nl =

3.

informando que a matriz A tem três linhas e duas colunas.

Page 552: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Existem vários métodos para se acessar os elementos de uma matrizdada A:

• a matriz inteira acessa-se com a sintaxe:

A

• o elemento da i-ésima linha e j-ésima coluna acessa-se usandoa sintaxe:

A(i,j)

• o bloco formado pelas linhas i1, i2 e pelas colunas j1, j2 obtém-se usando a sintaxe:

A(i1:i2, j1:j2)

Exemplo 113. Veja as seguintes linhas de comando:

Page 553: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->A = rand(3,4) //gera uma matriz randômicaA =

0.2113249 0.3303271 0.8497452 0.06837400.7560439 0.6653811 0.6857310 0.56084860.0002211 0.6283918 0.8782165 0.6623569

-->A //mostra toda a matriz Aans =

0.2113249 0.3303271 0.8497452 0.06837400.7560439 0.6653811 0.6857310 0.56084860.0002211 0.6283918 0.8782165 0.6623569

-->A(2,3) //acessa o elemento a23ans =

0.6857310

Page 554: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->A(2:3,2:4) //acessa um bloco de Aans =

0.6653811 0.6857310 0.56084860.6283918 0.8782165 0.6623569

Definida uma matriz A no Scilab, as seguintes sintaxes são bastanteúteis:

A(:,:) toda a matrizA(i:j,k) os elementos das linhas i até j (inclusive) da k-ésima colunaA(i,j:k) os elementos da i-ésina linha das colunas j até k (inclusive)A(i,:) a i-ésima linha da matrizA(:,j) a j-ésima coluna da matrizA(i,$) o elemento da i-ésima linha e da última colunaA($,j) o elemento da última linha e da j-ésima coluna

Exemplo 114. Veja as seguintes linhas de comando:

Page 555: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->B = rand(4,4)B =

0.2113249 0.6653811 0.8782165 0.72635070.7560439 0.6283918 0.0683740 0.19851440.0002211 0.8497452 0.5608486 0.54425730.3303271 0.6857310 0.6623569 0.2320748

-->aux = B(:,2); B(:,2) = B(:,3); B(:,3) = auxB =

0.2113249 0.8782165 0.6653811 0.72635070.7560439 0.0683740 0.6283918 0.19851440.0002211 0.5608486 0.8497452 0.54425730.3303271 0.6623569 0.6857310 0.2320748

Page 556: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.3.3 Operações matriciais e elemento-a-elementoAs operações matriciais elementares seguem a mesma sintaxe queas operações elementares de números. Agora, no Scilab, tambémpodemos fazer operações elemento-a-elemento colocando um ponto“.” antes da operação desejada.Aqui, temos as sintaxes análogas entre operações matriciais e ope-rações elemento-a-elemento:

+ adição .+ adição elemento-a-elemento- subtração .- subtração elemento-a-elemento* multiplicação .* multiplicação elemento-a-elemento

./ divisão elemento-a-elemento^ potenciação .^ potenciação elemento-a-elemento' transposta conjugada .' transposta (não conjugada)

Exemplo 115. Veja as seguintes linhas de comando:

-->A = ones (2 ,2)A =

Page 557: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

1. 1.1. 1.

-->B = 2 * ones (2 ,2)B =

2. 2.2. 2.

-->A * Bans =

4. 4.4. 4.

-->A .* Bans =

Page 558: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

2. 2.2. 2.

Page 559: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.4 Estruturas de ramificação e repeti-ção

O Scilab contém estruturas de repetição e ramificação padrões delinguagens estruturadas.

Page 560: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.4.1 A instrução de ramificação “if”A instrução “if” permite executar um pedaço do código somente seuma dada condição for satisfeita.

Exemplo 116. Veja o seguinte código Scilab:

i = 2if ( i == 1 ) then

disp ( " Hello ! " )elseif ( i == 2 ) then

disp ( " Goodbye ! " )elseif ( i == 3 ) then

disp ( " Tchau ! " )else

disp ( " Au Revoir ! " )end

Qual é a saída apresentada no console do Scilab? Porquê?

Page 561: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.4.2 A instrução de repetição “for”A instrução for permite que um pedaço de código seja executadorepetidamente.

Exemplo 117. Veja o seguinte código:

for i = 1:5disp(i)

end

O que é mostrado no console do Scilab?

Exemplo 118. Veja o seguinte código:

for j = 1:2:8disp(j)

end

O que é mostrado no console do Scilab?

Page 562: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Exemplo 119. Veja o seguinte código:

for k = 10:-3:1disp(k)

end

O que é mostrado no console do Scilab?

Exemplo 120. Veja o seguinte código:

for i = 1:3for j = 1:3

disp([i,j])end

end

O que é mostrado no console do Scilab?

Page 563: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.4.3 A instrução de repetição “while”A instrução while permite que um pedaço de código seja executadorepetidamente até que uma dada condição seja satisfeita.

Exemplo 121. Veja o seguinte código Scilab:

s = 0i = 1while ( i <= 10 )

s = s + ii = i + 1

end

Qual é o valor de s ao final da execução? Porquê?

Page 564: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.5 FunçõesAlém das muitas funções já pré-definidas no Scilab, o usuário po-demos definir nossas próprias funções. Para tanto, existem duasinstruções no Scilab:

• deff

• function

A instrução deff é apropriada para definirmos funções com poucascomputações. Quando a função exige um grande quantidade de có-digo para ser definida, a melhor opção é usar a instrução function.Veja os seguintes exemplos:

Exemplo 122. O seguinte código:

-->deff('y = f(x)', 'y = x + sin(x)')

define, no Scilab, a função f(x) = x+ sen x.Observe que f(π) = π. Confirme isso computando:

Page 565: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

-->f(%pi)

no Scilab.Alternativamente, definimos a mesma função com o código:

function [y] = f(x)y = x + sin(x)

endfunction

Verifique!

Exemplo 123. O seguinte código Scilab:

function [z] = h(x,y)if (x < y) then

z = y - xelse

z = x - yend

endfunction

Page 566: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

define a função:

h(x,y) =

y − x , x < y

x− y , x ≥ y

Exemplo 124. O seguinte código:

function [y] = J(x)y(1,1) = 2*x(1)y(1,2) = 2*x(2)

y(2,1) = -x(2)*sin(x(1)*x(2))y(2,2) = -x(1)*sin(x(1)*x(2))

endfunction

define a matriz jacobiana J(x1,x2) := ∂(f1,f2)∂(x1,x2) da função:

fff(x1,x2) = (x21 + x2

2, cos(x1x2)).

Page 567: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A.6 GráficosPara criar um esboço do gráfico de uma função de uma variávelreal y = f(x), podemos usar a função plot. Esta função faz umarepresentação gráfica de pontos (xi, yi) fornecidos. O Scilab ofereceuma série de opções para esta função de forma que o usuário podeajustar várias questões de visualização. Consulte sobre a funçãoplot no manual do Scilab.

Exemplo 125. Veja as seguintes linhas de código:

-->deff('y = f(x)','y = x .^ 3 + 1')-->x = linspace(-2, 2, 100);-->plot(x, f(x)); xgrid

Page 568: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Resposta dos Exercícios

Recomendamos ao leitor o uso criterioso das respostas aqui apre-sentadas. Devido a ainda muito constante atualização do livro, asrespostas podem conter imprecisões e erros.

E 2.1.1. a) 4; b) 9; c) b2; d) 7; e) 170; f) 7,125; g) 3,28

E 2.1.5. (101,1)2

E 2.1.6. (11,1C)16

561

Page 569: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 2.1.7. 50; 18

E 2.1.8. 10,5; (1010,1)2

E 2.3.2. a) 1,7889; b) 1788,9; c) 0,0017889; d) 0,0045966; e) 2,1755× 10−10; f) 2,1755× 1010

E 2.3.6. a) δabs = 3,46× 10−7, δrel = 1,10× 10−7; b) δabs = 1,43× 10−4, δrel = 1,00× 10−3

E 2.6.1. 2%

E 2.6.2. 3,2% pela aproximação ou 3,4% pela segundo método (0,96758 ≤ I ≤ 1,0342).

E 2.6.4. a) 0,0294; b) 2.44e− 3; c) 2.50e− 4; d) 1.09 · 10−7; e) −10−12; f) −10−12; g) −10−12

E 2.7.1. Quando µ é pequeno, e1/mu é um número grande. A primeira expressão produz um ”overflow”

(número maior que o máximo representável) quando µ é pequeno. A segunda expressão, no entanto, reproduz

o limite 1 quando µ→ 0+.

E 2.7.2. a) 12 + x2

4! + O(x4); b) x/2 + O(x2); c) 5 · 10−4x + O(x2); d)√

24 y + O(y2) =

√2

4 x + O(x2)

Page 570: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 2.7.5. 4,12451228 × 10−16 J; 0,002%; 0,26654956 × 10−14 J; 0,002%; 4,98497440 × 10−13 J; 0,057%;

1,74927914× 10−12 J; 0,522%.

E 2.7.6. Em ambos casos, temos a seguinte estrutura:

[S11 S12

S21 S22

][[A]

[B]

]=

[v1

v2

]De forma que

[[A]

[B]

]=

[S11 S12

S21 S22

]−1 [v1

v2

]=

1S11S22 − S12S21

[S22 −S12

−S21 S11

][v1

v2

]Portanto

[A] =S22v1 − S12v2

S11S22 − S12S21

[B] =−S21v1 + S11v2

S11S22 − S12S21

Usando derivação logarítmica, temos

Page 571: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

1[A]

∂[A]∂S11

= −S22

S11S22 − S12S21

1[A]

∂[A]∂S12

= −v2

S22v1 − S12v2+

S21

S11S22 − S12S21= −

[A][B]·

S22

S11S22 − S12S21

1[A]

∂[A]∂S21

=S12

S11S22 − S12S21

1[A]

∂[A]∂S22

=v1

S22v1 − S12v2−

S11

S11S22 − S12S21=

[A][B]·

S12

S11S22 − S12S21

e

1[B]

∂ [B]∂S11

=v2

−S21v1 + S11v2−

S22

S11S22 − S12S21=

[B][A]

S21

S11S22 − S12S21

1[B]

∂ [B]∂S12

=S21

S11S22 − S12S21

1[B]

∂ [B]∂S21

= −v1

−S21v1 + S11v2+

S21

S11S22 − S12S21= −

[B][A]

S11

S11S22 − S12S21

1[B]

∂ [B]∂S22

= −S11

S11S22 − S12S21

E o erro associado às medidas pode ser aproximado por

1[A]

δ[A] =

∣∣∣ 1[A]

∂[A]∂S11

∣∣∣ δS11 +

∣∣∣ 1[A]

∂[A]∂S12

∣∣∣ δS12 +

∣∣∣ 1[A]

∂[A]∂S21

∣∣∣ δS21 +

∣∣∣ 1[A]

∂[A]∂S22

∣∣∣ δS22

=1

|detS|

[S22δS11 +

[A][B]

S22δS12 + S12δS21 +[A][B]

S12δS22

]

Page 572: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Analogamente, temos:

1[B]

δ[B] =1

|detS|

[[B][A]

S21δS11 + S21δS11 +[B][A]

S11δS21 + S11δS22

]onde não se indicou |Sij | nem |[.]| pois são todos positivos.Fazemos agora a aplicação numérica:Caso do par 1-2:

detS =

∣∣∣∣ 270 30

140 20

∣∣∣∣ = 1200

1[A]

δ[A] =1

1200[20× 270× 2% + 20× 30× 2% + 30× 140× 2% + 30× 20× 2%]

=2161200

= 0.18 = 18%

1[B]

δ[B] =1

1200[140× 270× 2% + 140× 30× 2% + 270× 140× 2% + 270× 20× 2%]

=4261200

= 0.355 = 35.5%

Caso do par 1-3:

detS =

∣∣∣∣ 270 30

15 200

∣∣∣∣ = 53550

Page 573: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

1[A]

δ[A] =1

53550[200× 270× 2% + 200× 30× 2% + 30× 15× 10% + 30× 200× 10%]

=1804,652550

≈ 0.0337 = 3.37%

1[B]

δ[B] =1

53550[15× 270× 2% + 15× 30× 2% + 270× 15× 10% + 270× 200× 10%]

=589553550

≈ 0.11 = 11%

Conclusão, apesar de o sensor 3 apresentar uma incerteza cinco vezes maior na sensibilidade, a escolha do

sensor 3 para fazer par ao sensor 1 parece mais adequada.

E 3.2.1. 1,390054; 1,8913954; 2,4895673; 3,1641544; 3,8965468

E 3.2.2. A primeira raiz se encontra no intervalo (0,4, 0,5). A segunda raiz no intervalo (1,7, 1,8). A

terceira raiz se encontra no intervalo (2,5, 2,6).

E 3.2.4. kθ = lP2 cos(θ) com θ ∈ (0, π/2); 1,030.

E 3.2.5. k ≈ 0,161228

E 3.2.6. 19; 23; 26; 0,567143; 1,745528; 3,385630

Page 574: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.2.8. a) 0,623; b) 0,559; c) 0,500; d) 0,300; e) −0,3; f) −30; g) −30

E 3.3.1. 0,7391

E 3.3.7. x > a com a ≈ 0,4193648.

E 3.3.10.0.0431266

E 3.4.1.

a) Primeiramente, deve-se observar que a função tg (x) não está definida quando x é um múltiploímpar de π

2 , pelo que devemos cuidado nas singularidades. Traçamos o gráfico da função f(x) =tg (x)− 2x2 no Scilab usando os seguintes comandos:

-->deff('y=f(x)','y=tan(x)-2*x^2')-->plot([0:.01:1.3],f)

Observamos facilmente uma raiz no intervalo (0,5, 0,6) e outra no intervalo (1,2, 1,3). Como afunção f(x) é contínua fora dos pontos de singularidade da tangente, é fácil verificar que existepelo menos uma solução nos intervalos dados pelo teorema do valor intermediário:

f(0,5) ≈ 0,046302 > 0f(0,6) ≈ −0,035863 < 0f(1,2) ≈ −0,30784e− 1 < 0f(1,3) ≈ 0,22210e− 1 > 0

Page 575: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Para provar a unicidade da solução em cada intervalo, precisamos mostra que a função é monótona,ou seja, a derivada não muda de sinal em cada intervalo:

f′(x) = sec2(x)− 4x =

1cos2(x)

− 4x ≤1

cos2(0,6)− 4 ∗ 0,5 < 0, x ∈ [0,5, 0,6]

f′(x) = sec2(x)− 4x =

1cos2(x)

− 4x ≥1

cos2(1,2)− 4 ∗ 1,3 > 0, x ∈ [1,2, 1,3]

b) Já isolamos as raízes em intervalos de comprimento 10−1 e a precisão requerida exige que asisolemos em intervalos de comprimento 2 × 10−8. Como cada passo da bisseção, confina a raizem um intervalo com comprimento igual à metade do comprimento do intervalo anterior, temos aseguinte condição para o número de passos Np:

10−1

2Np≤ 2× 10−8

isso é equivalente a

Np ≥ log210−1

2× 10−8= log2

107

2= 7 log2 10− 1 =

7log1 02

− 1 ≈ 22.22

Como Np é inteiro, o menor Np que satisfaz a condição é 23.

As raízes obtidas são 0.55970415 e 1.2703426.

c) Para recalcular as raízes pelo método de Newton, basta executar a interação

x(n+1) = x

(n) −f(x(n))

f ′(x(n)

Page 576: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Em relação à observação, o erro se deveu à falta de cuidado em compreender o problema antes de tentar

resolvê-lo, em especial, à falta de observar que a função é descontínua em múltiplos ímpares de π2 . Nestes

pontos, a função f(x) troca de sinal, mas não passa por zero.

E 3.4.2. 0,65291864

E 3.4.3.0.0198679; 0.533890; 0.735412; 1.13237; 1.38851

E 3.4.5.- 99.99970, - 0.3376513; -1.314006

E 3.4.8.x0 > 1.

E 3.5.5.z1 ≈ 0.3252768, z2 ≈ 1.5153738, z3 ≈ 2.497846, z4 ≈ 3.5002901,zj ≈ j − 1/2− (−1)j e−2j+1

π, j > 4

E 3.5.6.150W, 133W, 87W, 55W, 6.5W

E 3.5.7.a) 42s e 8min2s, b) 14min56s.

Page 577: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.5.8.118940992

E 3.5.9.7.7cm

E 3.5.10.4.32cm

E 3.5.11.(0.652919,0.426303)

E 3.5.12.7.19% ao mês

E 3.5.13.4.54% ao mês.

E 3.5.14.500K, 700K em t = 3 ln(2), 26min, 4h27min.

E 3.5.15.(±1.1101388,− .7675919), (±1.5602111,0.4342585)

E 3.5.16.1.5318075

E 3.5.17.Aproximadamente 2500 reais por hora.

Page 578: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 3.5.18.a) 332.74K b), 359.33K

E 3.5.19.1.72285751 ,4.76770758, 7.88704085

E 4.1.1. Escrevemos o sistema na forma matricial e resolvemos:

[1 1 1 0

1 0 10 −48

0 10 1 25

]∼

[1 1 1 0

0 −1 9 −48

0 10 1 25

]∼

[1 1 1 0

0 10 1 25

0 −1 9 −48

]∼

[1 1 1 0

0 10 1 25

0 0 9.1 −45.5

]∼

[1 1 1 0

0 10 1 25

0 0 1 −5

]∼

[1 1 0 5

0 10 0 30

0 0 1 −5

]∼

[1 1 0 5

0 1 0 3

0 0 1 −5

]∼

[1 0 0 2

0 1 0 3

0 0 1 −5

]

Portanto x = 2, y = 3, z = −5

E 4.1.5.

Page 579: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

a) x = [4 3 2]T

b) O sistema é equivalente a

εx1 + εx2 + (1 + ε)x3 = 2

εx1 + (1 + ε)x2 + εx3 = 3

(1 + ε)x1 + εx2 + εx3 = 4

Somando as três equações temos

(1 + 3ε)(x1 + x2 + x3) = 9 =⇒ x1 + x2 + x3 =9

1 + 3ε

Subtraímos ε(x1 + x2 + x3) da cada equação do sistema original e temos:

x3 = 2− 9ε1+3ε

x2 = 3− 9ε1+3ε

x1 = 4− 9ε1+3ε

Assim temos:xε = [4 3 2]T −

9ε1 + 3ε

[1 1 1]T

Page 580: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.1.6. x = [1.6890368 1.6890368 1.5823257 1.2667776 0.6333888]T

E 4.1.7. [1 1/2 −1/2

1/3 −1/2 1/6

−1/3 0 1/3

]

E 4.2.1. λ = 71×3041 ≈ 51.95122, para λ = 51: k1 = k∞ = 350.4, k2 = 262.1. Para λ = 52: k1 = k∞ =

6888, k2 = 5163.

E 4.2.2. k1(A) = 36, k2(A) = 18,26, K∞(A) = 20,8.

E 4.2.3.k1 = k∞ = 6888, k2 =√

26656567 e k1 = 180, k2 = 128,40972e k∞ = 210

E 4.2.4.18ε

+ 3. Quando ε → 0+, a matriz converge para uma matrizsingular e o número de condicionamento diverge para +∞.

E 4.2.5.As soluções são [−0.0000990 0.0000098]T e [0.0098029 0.0990294]T .

Page 581: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

A grande variação na solução em função de pequena variação nos da-dos é devido ao mau condicionamento da matriz (k1 ≈ 1186274.3).Exemplo de implementação:

A=[1e5 -1e4+1e-2; -1e4+1e-2 1000.1]b1=[-10 1]'b2=[-9.999 1.01]'A\b1A\b2

E 4.2.6.0,695; 0,292; 0,188; 0,0237; 0,0123; 0,00967Exemplo de implementação:

J=[1:1:10]x=sin(J/10)y=J/10z=y-y.^3/6e=abs(x-y)./x

Page 582: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

f=abs(x-z)./xnorm(e,1)norm(e,2)norm(e,'inf')norm(f,1)norm(f,2)norm(f,'inf')

E 4.4.1.

epsilon=1e-3;

A=[1 -1 0 0 0; -1 2 -1 0 0; 0 -1 (2+epsilon) -1 0; 0 0 -1 2 -1; 0 0 0 1 -1]

v=[1 1 1 1 1]'xgauss=gauss([A v])

function x=q_Jacobi()

Page 583: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

x0=[0 0 0 0 0]'

i=0controle=0while controle<3 & i<1000i=i+1

x(1)=1+x0(2)x(2)=(1+x0(3)+x0(1))/2x(3)=(1+x0(2)+x0(4))/(2+epsilon)x(4)=(1+x0(3)+x0(5))/2x(5)=x0(4)-1

delta=norm(x-x0,2)if delta<1e-6 then

controle=controle+1else

controle=0

Page 584: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

endmprintf('i=%d, x1=%f, x5=%f, tol=%.12f\n',i,x(1),x(5),delta)x0=x;end

endfunction

function x=q_Gauss_Seidel()x0=[0 0 0 0 0]'

i=0controle=0while controle<3 & i<15000i=i+1

x(1)=1+x0(2)x(2)=(1+x0(3)+x(1))/2x(3)=(1+x(2)+x0(4))/(2+epsilon)

Page 585: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

x(4)=(1+x(3)+x0(5))/2x(5)=x(4)-1

delta=norm(x-x0,2)if delta<1e-2 then

controle=controle+1else

controle=0endmprintf('i=%d, x1=%f, x5=%f, tol=%.12f\n',i,x(1),x(5),delta)x0=x;end

endfunction

E 4.4.4.0.324295, 0.324295, 0.317115, 0.305943, 0.291539, 0.274169,0.253971, 0.230846, 0.203551, 0.165301, 0.082650Exemplos de rotinas:

Page 586: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

function x=jacobi()x0=zeros(11,1)k=0;controle=0;while controle<3 & k<1000

k=k+1x(1)=x0(2)for j=2:10x(j)=(cos(j/10)+x0(j-1)+x0(j+1))/5endx(11)=x0(10)/2

delta=norm(x-x0) //norma 2if delta<1e-5 then

controle=controle+1else

controle=0;

Page 587: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

endmprintf('k=%d, x=[%f,%f,%f], tol=%.12f\n',k,x(1),x(2),x(3),delta)x0=x;

end

endfunction

function x=gs()x0=zeros(11,1)k=0;controle=0;while controle<3 & k<1000

k=k+1x(1)=x0(2)for j=2:10x(j)=(cos(j/10)+x(j-1)+x0(j+1))/5end

Page 588: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

x(11)=x0(10)/2

delta=norm(x-x0) //norma 2if delta<1e-5 then

controle=controle+1else

controle=0;endmprintf('k=%d, x=[%f,%f,%f], tol=%.12f\n',k,x(1),x(2),x(3),delta)x0=x;

endendfunction

E 4.4.6.Permute as linhas 1 e 2.

E 4.5.1.λ = 86.1785 associado ao autovetor dado por v1 = [0.65968 0.66834 0.34372]T .

E 4.5.3.158,726

Page 589: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 4.5.5.a)V5 = 98.44V b) V5 = 103.4VO problema com cinco incógnitas pode ser escrito na forma matricialconforme a seguir:

1 0 0 0 0

1R1−(

1R1

+ 1R2

+ 1R5

)1R2

0 0

0 1R2

−(

1R2

+ 1R3

+ 1R6

)1R3

0

0 0 1R3

−(

1R3

+ 1R4

+ 1R7

)1R4

0 0 0 1R4

−(

1R4

+ 1R8

)

V1

V2

V3

v4

V5

=

V

0

0

0

0

Este problema pode ser implementado no Scilab (para o item a)com o seguinte código:

Page 590: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

R1=2, R2=2, R3=2, R4=2, R5=100, R6=100, R7=100, R8=50, V=127

A=[1 0 0 0 0;1/R1 -(1/R1+1/R2+1/R5) 1/R2 0 0;0 1/R2 -(1/R2+1/R3+1/R6) 1/R3 0;0 0 1/R3 -(1/R3+1/R4+1/R7) 1/R4;0 0 0 1/R4 -(1/R4+1/R8)]

v=[V; 0; 0; 0; 0]y=A\v

O problema com quatro incógnitas pode ser escrito na forma ma-

Page 591: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

tricial conforme a seguir:

−(

1R1

+ 1R2

+ 1R5

)1R2

0 0

1R2

−(

1R2

+ 1R3

+ 1R6

)1R3

0

0 1R3

−(

1R3

+ 1R4

+ 1R7

)1R4

0 0 1R4

−(

1R4

+ 1R8

)

V2

V3

v4

V5

=

− VR1

0

0

0

Cuja implementação pode ser feita conforme

A=[ -(1/R1+1/R2+1/R5) 1/R2 0 0;1/R2 -(1/R2+1/R3+1/R6) 1/R3 0;0 1/R3 -(1/R3+1/R4+1/R7) 1/R4;0 0 1/R4 -(1/R4+1/R8)]

Page 592: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

v=[-V/R1; 0; 0; 0]y=A\v

E 4.5.6.Dica: P (−1) = −3, P (1) = −1 e P (2) = 9 produzem trêsequações lineares para os coeficientes a, b e c. Resp: a) P (x) =3x2 + x − 5, b) A ≈ 2.49 e B ≈ −1.29 c)A1 ≈ 1.2872058, A2 ≈−4.3033034, B1 ≈ 2.051533 e B2 ≈ −0.9046921.

E 6.2.1. 5x3 + 2x− 3

E 6.4.1.∫ 1

0P (x)dx = f(0)+f(1)

2 , 112 maxx∈[0,1] |f

′′(x)|

E 6.6.1. y = −0,0407898x2 + 2,6613293x + 1,9364598

xi yi ax2i + bxi + c ax2

i + bxi + c− yi0,01 1,99 1,963069 -0,0269310

1,02 4,55 4,6085779 0,0585779

2,04 7,2 7,1958206 -0,0041794

2,95 9,51 9,4324077 -0,0775923

3,55 10,82 10,870125 0,0501249

Page 593: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 6.6.2. a = 25,638625, b = 9,8591874, c = 4,9751219 e a = 31,475524, b = 65,691531, c = −272,84382,

d = 208,23621.

E 7.1.3.

a) f ′(0) = −3f(0)+4f(h)−f(2h)2h + O(h2)

b) f ′(0) = 3f(0)−4f(−h)+f(−2h)2h + O(h2)

c) f ′(0) = 1h1+h2

l[−h2h1f(−h1) +

(h2h1− h1h2

)f(0) + h1

h2f(h2)

]d) f ′′(0) = f(0)−2f(h)+f(2h)

h2 + O(h)

e) f ′′(0) = f(0)−2f(−h)+f(−2h)h2 + O(h)

E 7.1.4.

Caso a b c d

vi = 1 1.72 1.56 1.64 1.86

vi = 4.5 2.46 1.90 2.18 1.14

Page 594: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.2.1. 1 0 0 0 0

−1 2 −1 0 0

0 −1 2 −1 0

0 0 −1 2 −1

0 0 0 0 1

u1

u2

u3

u4

u5

=

5

2

2

2

10

Solução: [5, 9.25, 11.5, 11.75, 10]

1 0 0 0 0 0 0 0 0

−1 2 −1 0 0 0 0 0 0

0 −1 2 −1 0 0 0 0 0

0 0 −1 2 −1 0 0 0 0

0 0 0 −1 2 −1 0 0 0

0 0 0 0 −1 2 −1 0 0

0 0 0 0 0 −1 2 −1 0

0 0 0 0 0 0 −1 2 −1

0 0 0 0 0 0 0 0 1

u1

u2

u3

u4

u5

u6

u7

u8

u9

=

5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

10

Solução: [5, 7.375, 9.25, 10.625, 11.5, 11.875, 11.75, 1.125, 10]

E 7.2.2. 120. 133.56 146.22 157.83 168.22 177.21 184.65 190.38 194.28 196.26 196.26 194.26 190.28 184.38

176.65 167.21 156.22 143.83 130.22 115.56 100.

E 7.2.3. 391.13 391.13 390.24 388.29 385.12 380.56 374.44 366.61 356.95 345.38 331.82 316.27 298.73 279.27

257.99 234.99 210.45 184.5 157.34 129.11 100.

Page 595: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.2.4. 0., 6.57, 12.14, 16.73, 20.4, 23.24, 25.38, 26.93 , 28, 28.7, 29.06, 29.15, 28.95, 28.46, 27.62 , 26.36,

24.59, 22.18, 19.02, 14.98, 10.

E 7.2.5. u(0)=31.62, u(1)=31.50, u(1.9)=18.17

E 7.2.6. u(1)=1.900362, u(2.5)=1.943681, u(4)=1.456517

E 7.3.1.

exato Ponto médio Trapézio Simpson∫ 1

0e−xdx 1− e−1 ≈ 0.6321206 e−1/2 ≈ 0.6065307 1+e−1

2 ≈ 0.6839397 1+4e−1/2+e−16 ≈ 0.6323337∫ 1

0x2dx 1/3 ≈ 0.3333333 0.25 0.5 0.3333333∫ 1

0x3dx 1/4 = 0.25 0.125 0.5 0.25∫ 1

0xe−x

2dx 1

2

(1− e−1

)≈ 0.3160603 0.3894004 0.1839397 0.3209135∫ 1

01

x2+1dx tan−1(1) ≈ 0.7853982 0.8 0.75 0.7833333∫ 1

0x

x2+1dx 1

2 ln(2) ≈ 0.3465736 0.4 0.25 0.35∫ 1

01x+1 dx ln(2) ≈ 0.6931472 0.6666667 0.75 0.6944444

Page 596: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.2. Resp: 8, 10 e 8.666667.

E 7.3.3.

ISimpson =13ITrap +

23IPM

E 7.3.4.

n Ponto médio Trapézios Simpson

3 0.1056606 0.7503919 0.5005225

5 0.1726140 0.3964724 0.2784992

7 0.1973663 0.3062023 0.2393551

9 0.2084204 0.2721145 0.2306618

E 7.3.5.

a)I(h) = 4.41041 · 10−1 − 8.49372 · 10−12h− 1.22104 · 10−2

h2 − 1.22376 · 10−7

h3 + 8.14294 · 10−3

h4

b)I(h) = 7.85398 · 10−1 − 1.46294 · 10−11h− 4.16667 · 10−2

h2 − 2.16110 · 10−7

h3 + 4.65117 · 10−6

h4

c)I(h) = 1.58730 · 10−3 − 9.68958 · 10−10h + 2.03315 · 10−7

h2 − 1.38695 · 10−5

h3 + 2.97262 · 10−4

h4

d)I(h) = 4.61917 · 10−1 + 3.83229 · 10−12h + 2.52721 · 10−2

h2 + 5.48935 · 10−8

h3 + 5.25326 · 10−4

h4

Page 597: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.6.

1.5707963 2.0943951

1.8961189 2.0045598 1.9985707

1.9742316 2.0002692 1.9999831 2.0000055

E 7.3.7. 0.7468337,2.4606311, 1.6595275.

E 7.3.9. R(6,6) = −10.772065, R(7,7) = 5.2677002, R(8,8) = 6.1884951, R(9,9) = 6.0554327, R(10,10) =

6.0574643. O valor desta integral com oito dígitos corretos é aproximado por 6.0574613.

E 7.3.10. w1 = 1/6, w2 = 2/3, w3 = 1/6. O esquema construído é o de Simpson e a ordem de exatidão é

3.

E 7.3.11. 3

E 7.3.12. 5

E 7.3.13.∫ 1

0f(x)dx ≈ 3

2 f(1/3)− 2f(1/2) + 32 f(2/3) com ordem 3.

Page 598: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.15. 5, 4, 3

E 7.3.16.∫ 1

−1f(x)dx = f

(−√

33

)+ f(√

33

)E 7.3.17. w1 = w3 = 1 e w2 = 0 com ordem 3.

E 7.3.21. -0.2310491, -0.2452073, - 0.2478649.

E 7.3.23. a)-0.2472261, -0.2416451, -0.2404596, -0.2400968, -0.2399563, -0.2398928. b)-0.2393727, -

0.2397994, -0.2398104, -0.2398115, -0.2398117, -0.2398117.

E 7.3.24.

n b c d e f

2 2.205508 3.5733599 3.6191866 3.6185185 3.618146

4 2.5973554 3.6107456 3.6181465 3.6180970 3.6180970

6 2.7732372 3.6153069 3.6181044 3.6180970 3.6180970

8 2.880694 3.6166953 3.6180989 3.6180970 3.6180970

Solução do item e: Como

cos(x) = 1 +

∞∑n=1

(−1)nx2n

(2n)!

Page 599: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

temos

1− cos(x)√x

= −

∞∑n=1

(−1)nx2n−1/2

(2n)!, x ≥ 0

Logo, podemos integrar

I = 4 + 2

∫ 1

0

cos(x)− 1√|x|

dx = 4− 2

∞∑n=1

(−1)n∫ 1

0

x2n−1/2

(2n)!dx

= 4− 2

∞∑n=1

(−1)n1

(2n)!(2n + 1/2)

Solução do item f)

2

∫ 1

0

(x−1/2 −

x3/2

2+x7/2

24

)dx = 2

(2−

15

+154

)=

977270

2

∫ 1

0

cos(x)− P4(x)√x

dx =√

2

∫ 1

−1

cos(

1+u2

)− P4

(1+u

2

)√

1 + udu

Page 600: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 7.3.28. 4.1138

E 7.3.29. a)19.2, 22.1, 23.3 b)513.67K

E 8.1.1.0.4496 com h = .1 e 0.4660 com h = .01. A solução exata valey(1) = 1+2e−1+e−2

4 =(

1+e−1

2

)2≈ 0.4678

E 8.1.2.y(2) ≈ 0.430202 e z(2) = 0.617294 com h = 0.2, y(2) ≈0.435506 e z(2) = 0.645776 com h = 0.02, y(2) ≈ 0.435805 e z(2) =0.648638 com h = 0.002 e y(2) ≈ 0.435832 e z(2) = 0.648925 comh = 0.0002.

E 8.1.3.y(2) ≈ 1.161793 com h = 0.1, y(2) ≈ 1.139573 com h = 0.01,y(2) ≈ 1.137448 com h = 0.001, y(2) ≈ 1.137237 com h = 0.0001,y(2) ≈ 1.137216 com h = 0.00001

E 8.2.1.y(1) ≈ 1.317078 quando h = 0,1 e y(1) ≈ 1.317045.

Page 601: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 8.2.2.

t Exato Euler Euler Melhorado Erro Euler Erro Euler Melhorado

0.0 1. 1. 1. 0. 0.

0.1 0.826213 0.8 0.828 0.026213 0.001787

0.2 0.693094 0.656 0.695597 0.037094 0.002502

0.3 0.588333 0.547366 0.591057 0.040967 0.002724

0.4 0.504121 0.462669 0.506835 0.041453 0.002714

0.5 0.435267 0.394996 0.437861 0.040271 0.002594

0.6 0.378181 0.339894 0.380609 0.038287 0.002428

0.7 0.330305 0.294352 0.332551 0.035953 0.002246

0.8 0.289764 0.256252 0.291828 0.033512 0.002064

0.9 0.255154 0.224061 0.257043 0.031093 0.001889

1.0 0.225400 0.196634 0.227126 0.028766 0.001726

No Scilab, esta tabela pode ser produzida com o código:

deff('dy=f(y,t)','dy=-y-y^2')sol_Euler=Euler(f,0,1,10,1)'sol_Euler_mod=Euler_mod(f,0,1,10,1)'deff('y=y_exata(t)','y=1/(2*exp(t)-1)')t=[0:.1:1]'sol_exata=feval(t,y_exata)tabela=[t sol_exata sol_Euler sol_Euler_mod abs(sol_exata-sol_Euler) abs(sol_exata-sol_Euler_mod)]

Page 602: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

E 8.6.2. Os valores exatos para os itens e e f são: 110 ln

(94

)e 1

10 ln (6)

E 8.6.3. O valor exato é

√gα

[1− e−200α

]em t = 1√

gαtanh−1

(√1− e−200α

)E 8.6.9.

0.5 1.0 1.5 2.0 2.5

Analítico 0.3032653 0.3678794 0.3346952 0.2706706 0.2052125

Euler 0.3315955 0.3969266 0.3563684 0.2844209 0.2128243

Euler modificado 0.3025634 0.3671929 0.3342207 0.2704083 0.2051058

Runge-Kutta Clássico 0.3032649 0.3678790 0.3346949 0.2706703 0.2052124

Adams-Bashforth ordem 4 0.3032421 0.3678319 0.3346486 0.2706329 0.2051848

0.5 1.0 1.5 2.0 2.5

Euler 2.8D-02 2.9D-02 2.2D-02 1.4D-02 7.6D-03

Euler modificado 7.0D-04 6.9D-04 4.7D-04 2.6D-04 1.1D-04

Runge-Kutta Clássico 4.6D-07 4.7D-07 3.5D-07 2.2D-07 1.2D-07

Adams-Bashforth ordem 4 2.3D-05 4.8D-05 4.7D-05 3.8D-05 2.8D-05

0.1 0.05 0.01 0.005 0.001

Euler 2.9D-02 5.6D-03 2.8D-03 5.5D-04 2.8D-04

Euler modificado 6.9D-04 2.5D-05 6.2D-06 2.5D-07 6.1D-08

Runge-Kutta Clássico 4.7D-07 6.9D-10 4.3D-11 6.8D-14 4.4D-15

Adams-Bashforth ordem 4 4.8D-05 9.0D-08 5.7D-09 9.2D-12 5.8D-13

Page 603: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Referências Bibliográficas

[1] Cecill and free sofware. http://www.cecill.info. Acessadoem 30 de julho de 2015.

[2] M. Baudin. Introduction to scilab. http://forge.scilab.org/index.php/p/docintrotoscilab/. Acessado em 30 de julho de2015.

[3] R.L. Burden and J.D. Faires. Análise Numérica. Cengage Lear-ning, 8 edition, 2013.

596

Page 604: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

[4] J. P. Demailly. Analyse Numérique et Équations Differentielles.EDP Sciences, Grenoble, nouvelle Édition edition, 2006.

[5] W Gautschi. Numerical analysis: An introduction birkhauser.Barton, Mass, USA, 1997.

[6] Walter Gautschi and Gabriele Inglese. Lower bounds for thecondition number of vandermonde matrices. Numerische Mathe-matik, 52(3):241–250, 1987/1988.

[7] L.F. Guidi. Notas da disciplina cálculo numérico.http://www.mat.ufrgs.br/~guidi/grad/MAT01169/calculo_numerico.pdf. Acessado em julho de 2016.

[8] R. Rannacher. Einführung in die numerische mathematik (nu-merik 0). http://numerik.uni-hd.de/~lehre/notes/num0/numerik0.pdf. Acessado em 10.08.2014.

Page 605: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

Índice Remissivo

ajustederivação, 393

ajuste de curvas, 300aproximação

de funções, 270por polinômios, 291

aritméticade máquina, 6

autovalores, 230

cancelamento catastrófico, 61

derivação numérica, 369diferenças divididas de Newton,

278

eliminação gaussianacom pivoteamento parcial, 187

equção diferencialnão autônoma, 493

equaçãologística, 491

equações

598

Page 606: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

de uma variável, 101erro

absoluto, 47relativo, 47

erros, 46absoluto, 140arredondamento, 380de arredondamento, 53truncamento, 377

estabilidade, 515

fórmula de diferenças finitas, 370alta ordem, 385central, 391

funçãoraiz, 102zero, 102

integração numérica, 413

método compostode Simpson, 439dos trapézios, 436

método de Romberg, 442ordem de precisão, 449regra de Simpson, 429regra do ponto médio, 418regra do trapézio, 423regras compostas, 435regras de Newton-Cotes, 417

interpolaçãocúbica segmentada, 338derivação, 393linear segmentada, 333polinomial, 273

iteraçãodo ponto fixo, 121

iteração do ponto fixo

Page 607: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

convergência, 138estabilidade, 138

métododa bisseção, 108de Euler, 489de Euler melhorado, 501de passo múltiploAdams-Bashforth, 512

de Runge-Kutta, 508de quarta ordem, 510

de separação de variáveis, 492dos mínimos quadrados, 300

método da potência, 230método das frações parciais, 492método das secantes, 167

convergência, 169método de

Gauss-Seidel, 221Jacobi, 217

método de Newtonpara sistemas, 249

método de Newton-Raphson, 155convergência, 160

método de passo múltiploAdams-Moulton, 514

métodos iterativossistemas lineares, 216convergência, 225

matrizcondicionamento, 202jacobiana, 265norma, 207

medidade erro, 47de exatidão, 47

Page 608: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

mudança de base, 7

número de condicionamento, 210

ordem de precisão, 506

polinômiosde Lagrange, 286

ponto fixo, 130problema de valor de contorno,

401problema de valor inicial, 486

quadratura numéricaGauss-Legendre, 460

representaçãode números, 20números inteiros, 21

representação de números

inteirosbit de sinal, 24complemento de dois, 26sem sinal, 22

Scilab, 528elementos da linguagem, 535funções, 557funções e constantes, 538gráficos, 560instalação e execução, 531matrizes, 541operações matemáticas, 537operador :, 543operadores lógicos, 539ramificação e repetição, 552sobre, 529usando, 532

Page 609: Cálculo Numérico - chasqueweb.ufrgs.brdjusto/num/slide.pdf · Notadosautores Estelivrovemsendoconstruídodeformacolaborativadesde2011. Nosso intuito é melhorá-lo, expandi-lo e

simulaçãocomputacional, 2numérica, 2

sistema de equaçõesnão lineares, 241

sistema de numeração, 7sistema linear, 184

condicionamento, 202sistema numérico

de ponto fixo, 29de ponto flutuante, 34ponto fixonormalização, 31

sistemasde equações diferenciais, 496

spline, 338fixado, 353natural, 344

tolerência, 140

vetornorma, 205