Mudanças entre as edições de "Map0151"
(→Aritmética de números em pontos flutuantes) |
(→Aproximações usando polinômios de Taylor) |
||
Linha 115: | Linha 115: | ||
=== Aproximações usando polinômios de Taylor === | === Aproximações usando polinômios de Taylor === | ||
+ | Para fazer as avaliações de funções de variável real, utilizaremos apenas as operações aritméticas. Basicamente, isto significa que | ||
+ | só usaremos polinômios. Em primeiro lugar veremos o método de avaliação de Horner. | ||
+ | |||
+ | ==== Método de Horner ==== | ||
+ | É a forma de se avaliar o polinômio num ponto dado executando o menor número de operações aritméticas. | ||
+ | O polinômio da forma | ||
+ | :<math> p(x) =a_nx^n+ a_{n-1}x^{n-1}+\cdots + a_0 </math> | ||
+ | no ponto <math>x_0</math> é avaliado na ordem | ||
+ | :<math>p(x)= [[[[a_nx_0 + a_{n-1}]x_0+a_{n-2}]x_0+\cdots]x_0 +a_0]</math> | ||
+ | Isto é, calculamos a sequência | ||
+ | *<math> A_0 = a_n</math> | ||
+ | *<math> A_{k+1} = A_kx_0+ a_{n-k}</math> até o <math>A_n</math> que é a avaliação. | ||
+ | |||
+ | ==== Teorema de Taylor ==== | ||
+ | '''Teorema:''' Seja <math>f:(a,b) \to \mathbb{R}</math> uma função de classe <math>\mathcal{C}^r</math>, talque exista a derivada | ||
+ | <math>f^{(r+1)}(c), \forall c \in (a,b)</math>. Então para todo <math>x</math> do intervalo, e <math>c</math> fixado existe | ||
+ | <math> \xi \in |c,x|</math> tal que: | ||
+ | :<math> f(x) = f(c) + f^\prime(c)(x-c)+ \cdots + \frac{f^{(r)}(c)}{r!}(x-c)^{r} + \frac{f^{(r+1)}(\xi)}{(r+1)!}(x-c)^{r+1} </math> |
Edição das 12h25min de 14 de março de 2013
Conteúdo[ocultar] |
Números no Computador
Muitos dos algoritmos de cálculo numérico, por uma questão prática, deverão ser executados numa máquina real. Nestas máquinas, no entanto, a capacidade de memória para representação dos números é finita. Vários números reais (infinitos, de fato) terão a mesma representação no computador (ou calculadora), daí originando-se os erros de arredondamentos. Vamos ver qual é a técnica usada atualmente para diminuir os erros de arredondamentos.
Representação de números inteiros numa base
Seja β>1 um número natural. Então podemos representar qualquer número inteiro k como a soma k=sgn(k)∗a0β0+⋯+asβs
Exemplo: 39=[100111]2
Representação de números fracionários e decimais numa base
Seja novamente β>1 um número natural.
Se x∈(0,1) então x=b1β+⋯+bkβk+⋯
Exemplo: 0.9=[0.1110011001100...]2
Uma função para colocar um número decimal na forma binária
In[1]: | # -*- coding: utf-8 -*- """ |
Representação em ponto flutuante
Consideramos uma base fixa β>1. Um número real α∈R positivo pode ser escrito nesta base como: α=[ak⋯a0.b1b2⋯]β
- O número m=[0.ak⋯a0b1b2⋯]β∈(0,1) chamado de mantissa.
- O número e=k+1 chamado de expoente
- O sinal do número σ
Esta representação do número α como σm×βe chamaremos de representação normal em ponto flutuante na base β. Em geral a base fica clara pelo contexto!
Números de máquina
Continuamos com a base fixa (β), mas na representação normal em ponto flutuante vamos admitir apenas números com a mantissa limitada a D dígitos e o expoente limitado, em módulo, por um número inteiro M. O conjunto M={[0.d1⋯dD]β×βe:|e|≤M}
Se denotarmos por α_ o truncamento do número α, isto é, o maior número de máquina menor que α. E por ¯α o menor número de máquina maior que α. Temos que: ¯α−α_=βe−D
Aritmética de números em pontos flutuantes
A extensão das operações aritméticas de soma e multiplicação de números reais faz-se pelo arredondamento: α⊕β=rd(rd(α)+rd(β))
Aproximações usando polinômios de Taylor
Para fazer as avaliações de funções de variável real, utilizaremos apenas as operações aritméticas. Basicamente, isto significa que só usaremos polinômios. Em primeiro lugar veremos o método de avaliação de Horner.
Método de Horner
É a forma de se avaliar o polinômio num ponto dado executando o menor número de operações aritméticas. O polinômio da forma p(x)=anxn+an−1xn−1+⋯+a0
- A0=an
- Ak+1=Akx0+an−k até o An que é a avaliação.
Teorema de Taylor
Teorema: Seja f:(a,b)→R uma função de classe Cr, talque exista a derivada f(r+1)(c),∀c∈(a,b). Então para todo x do intervalo, e c fixado existe ξ∈|c,x| tal que: f(x)=f(c)+f′(c)(x−c)+⋯+f(r)(c)r!(x−c)r+f(r+1)(ξ)(r+1)!(x−c)r+1