Tente evitar perda de dígitos significantes no cálculo das seguintes funções:
(b) sen(a+x)-sen(a), para x próximo de zero;

Passo 1

Beleza, aqui a gente tem que calcular

quando é bem pequenininho. A matéria é sobre “perda de dígitos significantes” ou “cancelamento catastrófico” em subtrações de números muito próximos. Pra resolver, vamos usar uma identidade trigonométrica que evita essa subtração direta e, por consequência, o cancelamento.

Passo 2

Primeiro, por que dá problema?
  • Se sen(u) - sen(v) = 2 ,cos!l(u+v2r),sen!l(u-v2r) é próximo de zero, e ficam quase iguais, então a subtração direta tira muitos dígitos iguais e sobra só um restinho – e isso gera erros numéricos enormes.
  • Em vez de , vamos usar a identidade clássica:
Aqui, basta colocar e .

Passo 3

Aplicando a identidade:
Agora simplifica cada parte:
  • sen(a+x) - sen(a) = 2 ,cos!l((a+x) + a2r),sen!l((a+x) - a2r) .
  • sen(a+x) - sen(a) = 2 ,cos!l(a + tfracx2r),sen!l(tfracx2r)
    Então fica

Passo 4

Por que isso ajuda?
  • para pequeno é um número pequeno, mas não vem de uma subtração entre valores quase iguais.
  • A multiplicação por é estável porque não está próximo de zero (a menos que você esteja num caso extremo, mas aí seria problema diferente).
  • Assim, evitamos o cancelamento catastrófico.

Resposta

Essa forma é bem mais precisa numericamente quando boxedsen(a+x) - sen(a) = 2,cos!l(a + tfracx2r),sen!l(tfracx2r) é pequeno.

Exercícios relacionados