Apostila Cáculo Numérico

Apostila Cáculo Numérico

(Parte 1 de 8)

CÁLCULO NUMÉRICO Notas de Aula – Aplicações – Exercícios

Eliete Biasotto Hauser

1 Sistema de Ponto Flutuante Normalizado – Teoria dos Erros4
2 Resolução de Equações Algébricas e Transcendentes9
3 Sistemas de Equações Lineares25
4 Interpolação Polinomial36
5 Ajuste de Funções46
6 Integração Numérica60
5 Resolução Numérica de Equações Diferenciais Ordinárias65
8 Resolução Numérica de Equações Diferenciais Parciais72
9 Bibliografia85
Formulário86

Índice Laboratórios utilizando Sistema Maple....................................................... 90

1 –Teoria dos Erros - Sistema de Ponto Flutuante

i) td2d1d,0L é a mantissa (uma fração na base β),

i) “e” é um expoente inteiro que varia no intervalo [m,M]. M e m dependem da máquina utilizada. Em geral, m = -M∈Z. iv) t define a precisão da máquina, é o número de dígitos da mantissa. Obs: precisão ≠exatidão(depende da precisão da máquina e do algorítmo utilizado)

A união de todos os números de ponto flutuante normalizados com o zero: m

é chamado Sistema de Ponto Flutuante Normalizado e representado por F(β, t, m, M). Alguns exemplos de máquinas com precisão simples: a) HP 48 : F(10, 12, -498, 500) b) IBM 3090 : F(16, 6, -64, 63) c) Cray1 : F(2, 48, -8192, 8191) d) Burroughs B6700: F(8, 13, -63, 64)

Em F valem as propriedades: 1) 0,1 x mβ é o menor número em módulo, não nulo, de F.

Se o expoente da base não pertencer a [m,M], y não pode ser representado em F. São os casos de erro de:

- underflow, se e < m (ultrapassa a capacidade mínima) - overflow, se e > M (ultrapassa a capacidade máxima)

E.B.Hauser – Cálculo Numérico

Se a representação do real y em F não é exata, é necessário utilizar um arredondamento. Os tipos de arredondamento mais conhecidos são: - Arredondamento para número mais próximo de máquina (Oy).

- Arredondamento por falta, ou truncamento (∇y).

- Arredondamento por excesso (∆y) Em F, geralmente, as operações de adição e multiplicação não são comutativas, associativas e nem distributivas, pois numa série de operações aritméticas, o arredondamento é feito após cada operação. Ou seja, nem sempre as operações aritméticas válidas para os números reais são válidas em F. Isto influi na solução obtida através de um método numérico. Assim, métodos numéricos matematicamente equivalentes, podem fornecer resultados diferentes.

Medidas de Exatidão

Quando se aproxima um número real x por x*, o erro que resulta é x-x*. Define-se:

A fim de ver o tipo de situação que pode ocorrer um erro relativo de grande magnitude, vamos considerar a diferença entre os números a seguir, por exemplo: x = 0,3721478693 y = 0,3720230572 yx− = 0,0001248121=0,1248121 x 10-3

Se os cálculos forem feitos em F(10, 5, -499, 499) com arredondamento Ox: x*= 0,37215, y*= 0,37202 e x*-y*= 0,00013 = 0,13000 x 10-3 Assim, o erro relativo entre os dois resultados é grande:

Na resolução de um problema o valor exato da solução x pode ser desconhecido. Podemos usar duas aproximações sucessivas de x, definindo:

kxkx kxkxDIGSEµ

o qual expressa o número de dígitos significativos exatos de kx em relação a 1kx+. Aqui µ representa a unidade de arredondamento da máquina (µ = t12 1−β se o arredondamen- to for Ox ).

1 - Teoria dos Erros

Algoritmos Numéricos

O Cálculo Numérico tem por objetivo estudar e aplicar algoritmos numéricos para a solução de problemas, visando o menor "custo" e confiabilidade do resultado (observar tempo de execução, número de operações aritméticas, quantidade de memória, propagação do erro, etc).

Um bom algoritmo numérico deve se caracterizado por: a) Independência da máquina :a execução do programa pode ser realizada em diferentes máquinas. b) Inexistência de Erro Aritmético: problemas de overflow e underflow devem ser detectados a priori c) Inexistência de Erro Lógico: previsão de tudo o que poderá ocorrer durante o processo (divisão por zero, por exemplo) d) Quantidade finita de cálculos. e) Existência de um critério de exatidão. f) O erro deve convergir para zero com precisão infinita. g) Eficiência: produz a resposta correta com economia

Passos para a resolução de um problema: tipos de erros A resolução de problemas reais envolve diversas etapas:

Estudaremos algoritmos numéricos a fim de obter uma solução numérica do problema, a qual, geralmente, difere da solução exata. Possíveis fontes de erro que geram essa diferença são: a) Simplificação do modelo matemático ( algumas variáveis envolvidas são desprezadas); b) Erro nos dados de entrada ( com frequência provindos de dados experimentais); c) Truncamento (por exemplo, substituição de um processo infinito por um finito e linearizações); d) Erro de arredondamento em aritmética de ponto flutuante.

Curiosidades: Some disasters caused by numerical errors. http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html

Aplicação O volume de uma esfera de raio r pode ser obtido de

Estimar o volume do hemisfério de raio “e” representado graficamente ao lado. Utilizar arredondamento para número mais próximo de máquina (0x) em F( 10 , 4 , -98 , 98).

Problema Real

Modelagem Matemática Solução

E.B.Hauser – Cálculo Numérico

i)x(xee ∑∞=

ix1 xe

1xe

2) Em F(10 , 3 , -98 , 98) e arredondamento por truncamento estimar p(2.73) se:

Em ambos os casos estimar o erro absoluto ao comparar com p(2.73) ≈0.11917x10-1. Obs: Estimar p(x) pelo algoritmo usual requer n adições e n multiplicações.

a) Ax(Bx(CxD))b) (Ax(BxC))xD

3) Sejam A, B, C e D matrizes genéricas de ordem 10x20, 20x50, 50x1 e 1x100 respectivamente. Utilizando a propriedade associativa, pode-se determinar o produto matricial AxBxCxD de diversas formas. Qual das duas abaixo é mais eficiente? Porque?

representação é exata? a) x=0.6b) x=13.25 c) x= 2.47

4) Representar o número real x na base 2 usando 8 algarismos significativos? Essa

a) F(2,3,-1,2) b) F(3,2,-1,2) c) F(2,2,-2,2)

5) Determinar o cardinal , regiões de underflow e overflow e todos elementos reais de:

6) Representar, se possível, os números abaixo em utilizando arredondamento por truncamento(x∇)e arredondamento para número mais próximo de máquina (Ox) em F(10,5,-2,2).

a)3 b) 3
200c) 3
2000d) e e)3000
1f)2

i A a) Calcular o valor de A utilizando precisão infinita.. b) Utilizando arredondamento por truncamento (x∇) em F(10,3,-98,98), estimar o valor de A somando da direita para esquerda e após somando da esquerda para a direita. Comparar os resultados.

1 - Teoria dos Erros

1) exp(-8.3);
0002485168271

Respostas: > f1:=sum(((-x)^i)/i!, i=0..25):

> f1a:=unapply(f1,x):

-.001241405905

> f1a(8.3); Obs: Causas desse erro: subtração de grandezas muito próximas e adição de grandezas de diferentes ordens. >

> f2:=1/(sum(((x)^i)/i!, i=0..25)):

> f2a:=unapply(f2,x):

0002485170000

> f2a(8.3);

(Parte 1 de 8)

Comentários