aula expositiva 13 4.4 algoritmos numéricos 4.4.1 integração por trapézios 4.4.2 bisseção...

51
Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico DCC 001 Programação de Computadores 2º Semestre de 2011 Prof. Osvaldo Carvalho 1 DCC001 - 2011 - 2

Upload: internet

Post on 22-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Aula Expositiva 13

4.4 Algoritmos Numéricos4.4.1 Integração por Trapézios4.4.2 Bisseção4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

DCC 001Programação de Computadores

2º Semestre de 2011Prof. Osvaldo Carvalho

1DCC001 - 2011 - 2

Page 2: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Integração por Trapézios

DCC001 - 2011 - 2 2

Page 3: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Integração Numérica

DCC001 - 2011 - 2 3

a bx1 x2 x3 xn+1xn

Queremos calcular A integral indefinida de é

dificilmente obtida ou não existe O primeiro passo consiste em dividir o

intervalo em n sub-intervalos iguais

dxxfb

a xf

ba,

x

Page 4: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Aproximações por Retângulos

Após a divisão em sub-intervalos, a área embaixo da curva pode ser aproximada por uma soma de retângulos

Temos duas formas de definição de somas: Soma de Riemann pela esquerda Soma de Riemann pela direita

DCC001 - 2011 - 2 4

Page 5: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Área Coberta pela Soma de Riemann pela Esquerda

DCC001 - 2011 - 2 5

O lado esquerdo de cada retângulo

coincide com a curva

xixi+1

Área = f(xi).∆x

Page 6: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Área Coberta pela Soma de Riemann pela Direita

DCC001 - 2011 - 2 6

O lado direito de cada retângulo coincide com a

curva

xi xi+1

Área = f(xi+1).∆x

Page 7: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Somas de Riemman

DCC001 - 2011 - 2 7

O lado direito de cada retângulo coincide com a

curva

O lado esquerdo de cada retângulo

coincide com a curva

Page 8: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Fórmulas para Somas de Riemann

DCC001 - 2011 - 2 8

n

iix

xnxxesq

xf

xfxfxfA

1

21

1

2

132n

iix

xnxxdir

xf

xfxfxfA

Page 9: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Função LeftRiemannSum

DCC001 - 2011 - 2 9

function lrs = LeftRiemannSum(f,a,b,n)// Soma de Riemann esquerda da função// f entre os pontos a e b com n intervalos x = linspace(a,b,n+1); delta_x = (b-a)/n; lrs = sum(f(x(1:n))) * delta_x;endfunction

Page 10: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Função RightRiemannSum

DCC001 - 2011 - 2 10

function rrs = RightRiemannSum(f,a,b,n)// Soma de Riemann direita da função// f entre os pontos a e b com n intervalos x = linspace(a,b,n+1); delta_x = (b-a)/n; rrs = sum(f(x(2:n+1)))* delta_x;endfunction

Page 11: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Somas de Riemann com 16 sub-Intervalos

DCC001 - 2011 - 2 11

Page 12: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Área Coberta pela Soma de Trapézios

DCC001 - 2011 - 2 12

xixi+1

Área do sub-intervalo = ∆x.(f(xi) + f(xi+1))/2

Page 13: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Fórmula para Aproximação por Trapézios

DCC001 - 2011 - 2 13

n

ii

xfxfx

xxfxf

xxfxf

xxfxf

xxfxf

xf

A

n

nnnn

22

2222

11

113221

Page 14: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Função TrapezoidalSum

DCC001 - 2011 - 2 14

function area = TrapezoidalSum(f,a,b,n)// Calcula a área sob a curva f entre a e b, // utilizando n pontos e a fórmula dos // trapézios x = linspace(a,b,n+1); delta_x = (b-a)/n; area = ( (f(x(1))+f(x(n+1)))/2 + ... sum(f(x(2:n))) ... )*delta_x;endfunction

Page 15: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Comparação de Convergência

DCC001 - 2011 - 2 15

n ERRO ESQUERDA ERRO DIREITA ERRO TRAPEZIO 2 4.446396327e-001 3.407585307e-001 5.194055103e-002 4 2.092337399e-001 1.834653418e-001 1.288419903e-002 8 1.013895985e-001 9.495994231e-002 3.214828114e-003 16 4.989070473e-002 4.828406570e-002 8.033195149e-004

Page 16: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Bisseção

DCC001 - 2011 - 2 16

Page 17: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Raízes de uma Função

Problema: dada uma função f, contínua, encontrar x tal que f(x) = 0

Para algumas funções, como um polinômio de 2º grau, este problema pode ser resolvido analiticamente (por uma fórmula)

Para outras não existe solução analítica, e devemos usar métodos numéricos

Ponto de partida: dois pontos a e b, tais que f(a) < 0 e f(b) > 0, ou f(a) > 0 e f(b) < 0

17DCC001 - 2011 - 2

Page 18: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(a) < 0, F(b) > 0

3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5

-1.0

-0.5

0.0

0.5

1.0

1.5

ab

18DCC001 - 2011 - 2

Page 19: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(a) > 0, F(b)< 0

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

-0.8

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

1.2

ab

19DCC001 - 2011 - 2

Page 20: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Mais de uma raiz entre a e b

0 5 10 15

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

ab

20DCC001 - 2011 - 2

Page 21: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(a)>0, F(b)>0 – Caso 1

0 5 10 15

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

21DCC001 - 2011 - 2

Page 22: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(a)>0, F(b)>0 – Caso 2

0 5 10 15

-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

22DCC001 - 2011 - 2

Page 23: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(x) = 1/xF(a) < 0, F(b) > 0, mas….

-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5

-6

-4

-2

0

2

4

6

f(x) = 1/x

23DCC001 - 2011 - 2

Page 24: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(a).F((a+b)/2) < 0

abm = (a+b)/2

Antes, sabemos que uma raiz está aqui

Depois, sabemos que uma raiz está aqui; podemos fazer b = m

F(a)

0

F(m)

F(b)

24DCC001 - 2011 - 2

Teste simples para sinais opostos

Page 25: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

F(b).F((a+b)/2) < 0

ab

Antes, sabemos que uma raiz está aqui

Depois, sabemos que uma raiz está aqui;

podemos fazer a = m

m = (a+b)/2

F(a)

0

F(m)

F(b)

25DCC001 - 2011 - 2

Page 26: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Parada do Algoritmo

A cada passo o tamanho do intervalo que contém a (uma) raiz é dividido por 2

Quando devemos parar? Cálculos numéricos sempre são

aproximados; testar se f(x) == 0 pode levar a loops infinitos

Solução: o algoritmo deve parar quando o intervalo [a,b] for suficientemente pequeno, isto é, quando b-a for menor que uma tolerância fornecida pelo usuário.

26DCC001 - 2011 - 2

Page 27: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

A Função Bissecao Cabeçalho

function r = Bissecao(f, a, b, tol)

// se f é contínua e se f(a).f(b) < 0, esta// função calcula a raiz r com // precisão menor ou igual// ao valor de tol

endfunctionFunção da qual

se deseja conhecer uma

raiz

Intervalo que contém a

raiz

Tolerância

27DCC001 - 2011 - 2

Page 28: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Teste da Função Bissecao

Para testar a função Bissecao, nós precisamosDe uma função contínuaDe um intervalo onde a função troca

de sinalE de conhecer o valor de uma raiz

nesse intervalo para poder verificar o resultado 28DCC001 - 2011 - 2

Page 29: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

A Função e^(x)sin(x)

a b

π

29DCC001 - 2011 - 2

Page 30: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

A função exp_sin(x)

Reparem no uso de “.*”, ao invés de “*”

Isso é essencial para que a função aceite um vetor como argumento de entrada e produza um vetor como argumento de saída

function y = exp_sin(x) y = exp(-x) .* sin (x);endfunction

30DCC001 - 2011 - 2

Page 31: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Testando a Função Bissecao

clearexec("exp_sin.sci");exec("bissecao.sci");tolerancia = input("\nTolerância = ");while tolerancia > 0 raiz = bissecao(exp_sin,2,4, tolerancia); printf(" Raiz = %12.10f;\n Pi = %12.10f\n",raiz,%pi); tolerancia = input("\nTolerância = ");end

31DCC001 - 2011 - 2

Page 32: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

A função BissecaoLoop

function r = bissecao(f,a,b,tol) while b-a > tol // Redução do intervalo end r = (a+b)/2;endfunction

32DCC001 - 2011 - 2

Page 33: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

A função BissecaoRedução do Intervalo

// Redução do intervalo m = (a+b)/2; //Ponto médio if f(a)*f(m) <= 0 then // [a,m] contém uma raiz b = m; end if f(m)*f(b) <= 0 then // [m,b] contém uma raiz a = m; end

33DCC001 - 2011 - 2

Page 34: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Teste

Tolerância = 1.0e-3 Raiz = 3.1411132813; Pi = 3.1415926536

Tolerância = 1.0e-6 Raiz = 3.1415925026; Pi = 3.1415926536

Tolerância = 1.0e-10 Raiz = 3.1415926536; Pi = 3.1415926536

34DCC001 - 2011 - 2

Page 35: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Série de Taylor para exp(x) e Cancelamento Catastrófico

DCC001 - 2011 - 2 35

Page 36: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Série de Taylor para exp(x)

Do cálculo sabe-se que, para qualquer x, exp(x) pode ser calculado pela soma de infinitos termos

36DCC001 - 2011 - 2

Page 37: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Série de Taylor para exp(x)

A partir do ponto onde n >= x, n! cresce mais rapidamente que xn

Na prática a soma é feita até que o valor absoluto do termo calculado seja menor que uma tolerância desejada

37DCC001 - 2011 - 2

Page 38: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Função expTaylor Primeira Versão

function y = expTaylor(x,tol)// Calcula a soma dos termos // da série de Taylor até o primeiro// termo com valor absoluto menor// que a tolerância tolendfunction

38DCC001 - 2011 - 2

Page 39: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Testando a função expTaylor

exec("expTaylor.sci");tol = input("\ntol = ");x = input("\nx = ");while x ~= 999 expCalc = expTaylor(x,tol); printf ("\n%15g %15.8e %15.8e %15.8e\n", ... x,exp(x),expCalc,exp(x)-expCalc ) x = input("\nx = ");end Função Scilab,

muito confiável39DCC001 - 2011 - 2

Page 40: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Cálculo dos Termos da Série de Taylor

DCC001 - 2011 - 2 40

t0 t1 t2 t3

Page 41: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

A Função expTaylor

function y = expTaylor(x,tol) Termo = 1; y = Termo; i = 1; while abs(Termo) >= tol Termo = Termo * x / i; y = y + Termo; i = i+1; endendfunction

41DCC001 - 2011 - 2

Page 42: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Teste da função expTaylorx positivo

tol = 1.0e-40x = 1 1 2.71828183e+000 2.71828183e+000 -4.44089210e-016x = 10 10 2.20264658e+004 2.20264658e+004 7.27595761e-012x = 30 30 1.06864746e+013 1.06864746e+013 -3.90625000e-003

Bons resultados para x positivo Erro 16 ordens de grandeza menor que

os valores calculados

42DCC001 - 2011 - 2

Page 43: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Teste da função expTaylorx negativo

tol = 1.0e-40x = -1 -1 3.67879441e-001 3.67879441e-001 -1.11022302e-016x = -10 -10 4.53999298e-005 4.53999296e-005 1.39453573e-013x = -20 -20 2.06115362e-009 5.62188447e-009 -3.56073085e-009x = -30 -30 9.35762297e-014 -3.06681236e-005 3.06681237e-005

Péssimos resultados para x negativo x=-20: erro da mesma ordem de

grandeza dos valores x=-30: valor calculado negativo!

43DCC001 - 2011 - 2

Page 44: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

E agora?

A fórmula para a série de Taylor é provada matematicamente há (literalmente) séculos

A função exp_Taylor é uma implantação simples e direta da fórmula

O que aconteceu?44DCC001 - 2011 - 2

Page 45: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Origem: Aritmética de Ponto Flutuante Uso de um número fixo de bits para

representação da mantissa Aritmética de números com grandes

diferenças de ordem de grandeza não funciona como esperado:-->eps = 1.0e-23;

-->y = 1.0e23;-->x = y + eps;-->x == y ans = T

x é igual a y bit por bit!

45DCC001 - 2011 - 2

Page 46: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Soma de Números de Ordens de Grandeza muito Diferentes

DCC001 - 2011 - 2 46

-->eps = 1.0e-23;-->y = 1.0e23;-->x = y + eps;-->x == y ans = T

Page 47: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Dízimas Periódicas

0,1 = 0.00011001100110011001100…. Ou seja, 0,1 não tem representação

exata em binário

DCC001 - 2011 - 2 47

-->0.1+0.2 == 0.3 ans = F

Page 48: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Cancelamento Catastrófico

DCC001 - 2011 - 2 48

Precisão 6 Precisão 3 Diferença Dif/Precisão 6a 3,14159 3,14 0,00159 0,0506%b 3,13000 3,13 0,00000 0,0000%

a+b 6,27159 6,27 0,00159 0,0254%a-b 0,01159 0,01 0,00159 13,7187%

Ocorre em subtrações de números com valores absolutos próximos, sempre que se usa um número fixo de algarismos significativos, binários, decimais ou em qualquer outra base

Page 49: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Valores dos Termos da Série para x = -20

DCC001 - 2011 - 2 49

Page 50: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Valor Absoluto dos Termos da Série para x = -20

~4.3e00715 ordens de

grandeza maior que o resultado

correto

50DCC001 - 2011 - 2

Page 51: Aula Expositiva 13 4.4 Algoritmos Numéricos 4.4.1 Integração por Trapézios 4.4.2 Bisseção 4.4.3 Série de Taylor para exp(x) e Cancelamento Catastrófico

Conclusões

Cuidado ao somar números de tamanhos muito diferentes e ao subtrair números de tamanhos próximos

A aritmética de ponto flutuante é melindrosa; use funções de bibliotecas sempre que possível

Por outro lado, não se deixe levar pelo pessimismo: programas numéricos funcionam como esperado na maior parte dos casos 51DCC001 - 2011 - 2