Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Métodos Numéricos, Notas de estudo de Engenharia Elétrica

Conceito de Erro, Representação dos Números Reais, Sistemas Lineares, Interpolação, Ajuste de Curva, Integração Numérica.

Tipologia: Notas de estudo

2012

Compartilhado em 25/10/2012

engeel-2
engeel-2 🇧🇷

4.9

(22)

32 documentos

1 / 91

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b

Pré-visualização parcial do texto

Baixe Métodos Numéricos e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Universidade Federal do Paraná

Departamento de Informática

CI-

MÉTODOS

NUMÉRICOS

Prof. Ionildo José SanchesProf. Ionildo José Sanches Prof. Ionildo José SanchesProf. Ionildo José Sanches

Prof. Diógenes Cogo FurlanProf. Diógenes Cogo FurlanProf. Diógenes Cogo FurlanProf. Diógenes Cogo Furlan

E-Mail : [email protected] URL : http://www.ionildo.cjb.net/metodos/

CURITIBA

  • 1 INTRODUÇÃO............................................................................................................................................ SUMÁRIO
  • 2 CONCEITO DE ERRO...............................................................................................................................
    • 2.1 INTRODUÇÃO............................................................................................................................................
    • 2.2 ERROS NA FASE DE MODELAGEM.............................................................................................................
    • 2.3 ERROS NA FASE DE RESOLUÇÃO ..............................................................................................................
    • 2.4 ERROS ABSOLUTOS E RELATIVOS ............................................................................................................
    • 2.5 ERRO DE ARREDONDAMENTO ..................................................................................................................
    • 2.6 ERRO DE TRUNCAMENTO .........................................................................................................................
  • 3 REPRESENTAÇÃO DOS NÚMEROS REAIS........................................................................................
    • 3.1 INTRODUÇÃO............................................................................................................................................
    • 3.2 SISTEMA DE NUMERAÇÃO ........................................................................................................................
      • 3.2.1 Sistema de Numeração Decimal ....................................................................................................................
      • 3.2.2 Sistema de Numeração Binário......................................................................................................................
    • 3.3 ARITMÉTICA DE PONTO FLUTUANTE ......................................................................................................
    • 3.4 PROPAGAÇÃO DE ERROS ........................................................................................................................
  • 4 ZEROS DE EQUAÇÕES TRANSCENDENTES E POLINOMIAIS ..................................................
    • 4.1 INTRODUÇÃO..........................................................................................................................................
      • 4.1.1 Derivada de uma função num ponto ............................................................................................................
      • 4.1.2 Tipos de Métodos .........................................................................................................................................
      • 4.1.3 Isolamento de Raízes....................................................................................................................................
      • 4.1.4 Classificação dos métodos ...........................................................................................................................
    • 4.2 MÉTODO DA BISSEÇÃO ..........................................................................................................................
      • 4.2.1 Estimativa do Número de Iterações .............................................................................................................
      • 4.2.2 Considerações Finais...................................................................................................................................
      • 4.2.3 Exemplos ......................................................................................................................................................
    • 4.3 MÉTODO DA FALSA POSIÇÃO .................................................................................................................
      • 4.3.1 Casos especiais ............................................................................................................................................
      • 4.3.2 Considerações finais....................................................................................................................................
      • 4.3.3 Exemplos ......................................................................................................................................................
    • 4.4 MÉTODO DA ITERAÇÃO LINEAR .............................................................................................................
      • 4.4.1 Casos de convergência.................................................................................................................................
      • 4.4.2 Considerações finais....................................................................................................................................
      • 4.4.3 Exemplos ......................................................................................................................................................
    • 4.5 MÉTODO DE NEWTON-RAPHSON OU MÉTODO DAS TANGENTES ............................................................
      • 4.5.1 Considerações finais....................................................................................................................................
      • 4.5.2 Exemplos ......................................................................................................................................................
      • 4.5.3 Condições de Newton-Raphson-Fourier......................................................................................................
    • 4.6 MÉTODO DA SECANTE............................................................................................................................
      • 4.6.1 Exemplos ......................................................................................................................................................
    • 4.7 MÉTODO MISTO .....................................................................................................................................
      • 4.7.1 Exemplos ......................................................................................................................................................
    • 4.8 MÉTODO PARA EQUAÇÕES POLINÔMIAIS ...............................................................................................
      • 4.8.1 Introdução....................................................................................................................................................
      • 4.8.2 Localização de Raízes..................................................................................................................................
      • 4.8.3 Determinação das Raízes Reais...................................................................................................................
      • 4.8.4 Método de Newton para Zeros de Polinômios.............................................................................................
  • 5 SISTEMAS LINEARES............................................................................................................................
    • 5.1 INTRODUÇÃO..........................................................................................................................................
      • 5.1.1 Classificação Quanto ao Número de Soluções ............................................................................................
    • 5.2 MÉTODOS DIRETOS (ALGORITMOS DIRETOS) ........................................................................................ iii
      • 5.2.1 Regra de Cramer..........................................................................................................................................
      • 5.2.2 Método da Eliminação de Gauss .................................................................................................................
      • 5.2.3 Método de Jordan ........................................................................................................................................
      • 5.2.4 Exemplos ......................................................................................................................................................
    • 5.3 FATORAÇÃO LU.....................................................................................................................................
      • 5.3.1 Cálculo dos Fatores L e U ...........................................................................................................................
    • 5.4 MÉTODOS ITERATIVOS (ALGORITMOS ITERATIVOS) ..............................................................................
      • 5.4.1 Método de Gauss-Jacobi ( Algébrico ) ........................................................................................................
      • 5.4.2 Método de Gauss-Jacobi ( Matricial ).........................................................................................................
      • 5.4.3 Método de Gauss-Seidel ( Algébrico ) .........................................................................................................
      • 5.4.4 Método de Gauss-Seidel ( Matricial )..........................................................................................................
  • 6 INTERPOLAÇÃO.....................................................................................................................................
    • 6.1 INTRODUÇÃO..........................................................................................................................................
      • 6.1.1 Conceito de Interpolação.............................................................................................................................
    • 6.2 INTERPOLAÇÃO LINEAR .........................................................................................................................
      • 6.2.1 Obtenção da Fórmula ..................................................................................................................................
      • 6.2.2 Exemplos ......................................................................................................................................................
    • 6.3 INTERPOLAÇÃO QUADRÁTICA ................................................................................................................
      • 6.3.1 Obtenção da Fórmula ..................................................................................................................................
      • 6.3.2 Exemplos ......................................................................................................................................................
    • 6.4 INTERPOLAÇÃO DE LAGRANGE ..............................................................................................................
      • 6.4.1 Obtenção da Fórmula ..................................................................................................................................
      • 6.4.2 Exemplos:.....................................................................................................................................................
    • 6.5 INTERPOLAÇÃO PARABÓLICA PROGRESSIVA..........................................................................................
    • 6.6 INTERPOLAÇÃO DE NEWTON COM DIFERENÇAS DIVIDIDAS ...................................................................
      • 6.6.1 Diferenças Divididas....................................................................................................................................
      • 6.6.2 Propriedade do Operador Diferenças Divididas.........................................................................................
      • 6.6.3 Exemplos ......................................................................................................................................................
    • 6.7 INTERPOLAÇÃO DE GREGORY-NEWTON .................................................................................................
      • 6.7.1 Diferenças Ordinárias ou Finitas ................................................................................................................
      • 6.7.2 Relação entre diferenças divididas e diferenças ordinárias........................................................................
      • 6.7.3 Gregory-Newton usando Diferenças Ordinárias.........................................................................................
      • 6.7.4 Exemplos ......................................................................................................................................................
  • 7 AJUSTE DE CURVAS..............................................................................................................................
    • 7.1 MÉTODO DOS QUADRADOS MÍNIMOS ....................................................................................................
      • 7.1.1 Ajuste Linear Simples...................................................................................................................................
      • 7.1.2 Ajuste Polinomial.........................................................................................................................................
  • 8 INTEGRAÇÃO NUMÉRICA ..................................................................................................................
    • 8.1 INTRODUÇÃO..........................................................................................................................................
      • 8.1.1 Fórmulas de Newton-Cotes..........................................................................................................................
    • 8.2 REGRA DOS RETÂNGULOS ......................................................................................................................
      • 8.2.1 Exemplos ......................................................................................................................................................
    • 8.3 REGRA DOS TRAPÉZIOS ..........................................................................................................................
      • 8.3.1 Regra do Trapézio Repetida ........................................................................................................................
      • 8.3.2 Exemplos ......................................................................................................................................................
    • 8.4 REGRA DE SIMPSON ...............................................................................................................................
      • 8.4.1 Regra de Simpson Repetida .........................................................................................................................
      • 8.4.2 Exemplos ......................................................................................................................................................

1 Introdução

Cálculo Numérico é a obtenção da solução de um problema pela aplicação de método numérico; a solução do problema será caracterizada, então, por um conjunto de números, exatos ou aproximados.

Método Numérico é um algoritmo composto por um número finito de operações envolvendo apenas números (operações aritméticas elementares, cálculo de funções, consulta a uma tabela de valores, consulta a um gráfico, arbitramento de um valor, etc.).

Problema Físico

Modelo Matemático Solução

Modelagem Resolução

Modelagem é a fase de obtenção do modelo matemático que descreve o comportamento do sistema físico. Resolução é a fase de obtenção da solução através da aplicação de métodos numéricos (este é o objetivo de estudo do Cálculo Numérico ).

N = N ’ + EAN ( N > N ’ → EAN > 0
N < N ’ → EAN < 0)

EAN = NNErro absoluto

Por exemplo, sabendo-se que π ∈ (3.14, 3.15) tomaremos para π um valor dentro deste intervalo e teremos, então, | EA π| = |π - π‘| < 0.01.

Erro Relativo é definido como o erro absoluto dividido pelo valor aproximado:

' N
N N
N
EA
ER N N

= = Erro Relativo

É claro que EAN só poderá ser determinado se N for exatamente conhecido; como isso é raro, em cálculos numéricos costuma-se trabalhar com uma limitação máxima para o erro, ao invés do próprio (indicando-se, então, | E | < ε, onde ε é o limite).

Por exemplo, se α = 3876.373 e só desejamos a parte inteira α , o erro absoluto será: ∆α = | α − α' | = 0.

Se fizermos o mesmo com o número β = 1.373, teremos: ∆β = | β − β' | = 0.

Obviamente, o efeito de aproximação de β é muito maior do que em α, mas o erro absoluto é o mesmo nos dois casos. O erro relativo, entretanto, pode traduzir perfeitamente este fato, pois:

δα =

≅ 0,000096 < 10-4^ δβ =

≅ 0,373 < 5*10^0

2.5 Erro de Arredondamento

Ao se aplicar um método numérico, os erros devidos aos valores iniciais, intermediários e finais conduzem a um erro global (diferença entre o exato e o obtido) também chamado de arredondamento.

Erros iniciais são os cometidos no arredondamento dos dados iniciais. Os erros intermediários são decorrentes dos erros cometidos durante a aplicação do método numérico e os erros finais decorrentes da apresentação final do resultado.

Os tipos de arredondamentos mais conhecidos são:

  • Arredondamento para baixo ou por falta;
  • Arredondamento para cima ou por excesso;
  • Arredondamento para o numero de maquina mais próximo.

Critério de Arredondamento : no cálculo manual, ao registrar um valor aproximado, costuma-se usar a seguinte regra:

  1. somar meia unidade após a última casa decimal a conservar;
  2. desprezar as demais casas.

Assim, com 2 números significativos tem-se:

O uso deste critério limita o erro a meia unidade da última casa conservada:

E = 2 − 1.41 = 1.41421 ... − 1.41 = 0.00421 < 0.

Os valores aproximados obtidos podem ser inferiores (valor aproximado por falta) ou superiores

(valor aproximado por excesso) aos exatos; 1.41 é o valor aproximado, por falta, de 2 ; 1.26 é o valor de (^3 2) , aproximado por excesso.

Para concluir este item de erro de arredondamento, deve-se ressaltar a importância de se saber o número de dígitos significativos do sistema de representação da máquina que está sendo utilizada para que se tenha a noção da precisão do resultado obtido.

Além da precisão decimal, o cálculo do chamado Épsilon da máquina nos dá uma idéia da exatidão da máquina.

O ε da máquina é o menor número de ponto flutuante, tal que: 1 + ε > 1. Alguns métodos para cálculo de ε não dão seu valor exato, mas isto nem sempre é necessário, pois o que importa é a sua ordem de grandeza.

O programa abaixo, escrito na linguagem C, calcula uma aproximação do ε da máquina:

#include <stdio.h> int main() { float Eps=1.0; while (Eps + 1 > 1) Eps = Eps / 2.0; printf("A maquina acha que %1.25f vale zero!\n", Eps); return 0; }

O programa acima, executado num Pentium, obteve a seguinte resposta:

A maquina acha que 0.0000000000000000000542101 vale zero!

Logo, o número de dígitos significativos é 19.

2.6 Erro de Truncamento

São erros provenientes da utilização de processos que deveriam ser infinitos ou muito grandes para a determinação de um valor e que, por razões práticas, são truncados.

Estes processos infinitos são muito utilizados na avaliação de funções matemáticas, tais como, exponenciação, logaritmos, funções trigonométricas e várias outras que uma máquina pode ter.

Exemplo: Uma máquina poderia calcular a função seno( x ) e exponencial( x ) utilizando as seguintes técnicas:

seno ( x ) = xx^ + x^ − x +

3 5 7

3! 5! 7!

ex^ = 1 2 3

2 3

  • x + x^ + x + !!

Fazendo truncamento:

3 Representação dos Números Reais

3.1 Introdução

Números

Complexos (2+3√-1 )

Reais

Irracionais (π; √2 )

Racionais

Inteiros (-1004; 2)

Fracionários

Ordinários (32/7; 1/3)

Decimais (-3.15; 0.33...)

Algumas das propriedades básicas da aritmética real não valem mais quando executadas no computador, pois, enquanto na matemática alguns números são representados por infinitos dígitos, no computador isso não é possível, pois uma palavra de memória é finita e a própria memória também.

Exemplos: 2 , 3 , π e 3

Se desejássemos calcular a área de uma circunferência de raio 100m, obteríamos os seguintes resultados:

a) A = 31400m^2 b) A = 31416 m^2 c) A = 31415.92654 m^2

Como justificar as diferenças entre os resultados? É possível obter o valor exato desta área?

Os erros ocorridos dependem da representação dos números na máquina utilizada. A representação de um número depende da base escolhida ou disponível na máquina em uso e do número máximo de dígitos usados na sua representação.

O número π, por exemplo, não pode ser representado através de um número finito de dígitos decimais. No exemplo mostrado acima, o número π foi escrito como 3.14, 3.1416 e 3. respectivamente nos casos (a), (b) e (c). Em cada um deles foi obtido um resultado diferente, e o erro neste caso depende exclusivamente da aproximação escolhida para π, Qualquer que seja a circunferência, a sua área nunca será obtida exatamente, uma vez que π é um número irracional.

Como neste exemplo, qualquer cálculo que envolva números que não podem ser representados através de um número finito de dígitos não fornecerá como resultado um valor exato. Quanto maior o número de dígitos utilizados, maior será a precisão obtida. Por isso, a melhor aproximação para o valor da área da circunferência é aquela obtida no caso (c).

Além disso, um número pode ter representação finita em uma base e não-finita em outras bases. A base decimal é a que mais empregamos atualmente. Um computador opera normalmente no sistema binário.

Observe o que acontece na interação entre o usuário (ou dados do programa) e o computador: os dados de entrada são enviados ao computador pelo usuário no sistema decimal; toda esta informação é convertida para o sistema binário, e as operações todas serão efetuadas neste sistema. Os resultados finais

serão convertidos para o sistema decimal e, finalmente, serão transmitidos ao usuário. Todo este processo de conversão é uma fonte de erros que afetam o resultado final dos cálculos.

Na próxima seção, iremos estudar os processos de conversão de números do sistema decimal para o sistema binário e vice-versa. Estudaremos também a forma de armazenamento feita pelos computadores digitais.

3.2 Sistema de Numeração

Existem vários sistemas numéricos, dentre os quais destacam-se o sistema decimal (base 10), o octal (base 8) e o hexadecimal (base 16).

Em um sistema numérico com base β, existem β dígitos e o maior é β – 1. De um modo geral, um número na base β, (ajaj-1...a 2 a 1 a 0 )β, 0 ≤ a k ≤ (β – 1), k = 1, 2, ..., j , pode ser escrito na forma polinomial:

aj ββββ j^ + aj-1 ββββ j-1+...+ a 2 ββββ^2 + a 1 ββββ^1 + a 0 ββββ^0

Com esta representação, podemos facilmente converter um número representado em qualquer sistema para o sistema decimal.

3.2.1 Sistema de Numeração Decimal

No sistema de numeração usual, o sistema decimal, usamos dez dígitos 0, 1, ..., 9. Um número maior que 9 é representado usando uma convenção que atribui significado à posição ou lugar ocupado por um dígito. Por exemplo, em virtude das posições ocupadas pelos dígitos individuais no número 2015, este número tem significado numérico calculado como:

2015 = 210^3 + 010^2 + 110^1 + 510^0 = 2000 + 0 + 10 + 5 = 2015

Notamos que um número é expresso como uma soma de potências de 10 multiplicadas por coeficientes apropriados. No sistema decimal, 10 é a base do sistema. Existem 10 dígitos, o maior sendo

  1. Em um sistema numérico com base β, existem β dígitos e o maior é β -1.

3.2.2 Sistema de Numeração Binário

No sistema binário existem apenas 2 dígitos: 0 e 1. Como os circuitos eletrônicos usados no computador apresentam 2 estados possíveis, convencionou-se chamar o estado desligado de 0 e o estado ligado de 1. Cada dígito de um número representado no sistema binário é denominado bit (contração de BI nary digi T ) , o conjunto de 4 bits é denominado nibble e o de 8 bits de byte , termo bastante utilizado na área de informática.

3.2.2.1 Conversão do Sistema Binário para Decimal

Quando um número é escrito no sistema binário, os dígitos individuais representam os coeficientes de potências de 2. Por exemplo, o número decimal 19 é escrito em representação binária como 10011, pois este arranjo de dígitos binários significa:

10011 = 12^4 + 02^3 + 02^2 + 12^1 + 1*2^0 = 16 + 0 + 0 + 2 + 1 = 19

3.2.2.2 Conversão do Sistema Decimal para Binário

A conversão de um número decimal para binário é feita da seguinte forma:

r 3 = 0.

k = 3 2 r 3 = 1.0 ⇒ d 3 = 1 r 4 = 0

Temos então 0.125 10 = 0.001 2 , sendo portanto a representação binária finita. Já para r = 0.1 10 , teremos: r 1 = 0.

k = 1 2 r 1 = 0.2 ⇒ d 1 = 0 r 2 = 0.

k = 2 2 r 2 = 0.4 ⇒ d 2 = 0 r 3 = 0.

k = 3 2 r 3 = 0.8 ⇒ d 3 = 0 r 4 = 0.

k = 4 2 r 4 = 1.6 ⇒ d 4 = 1 r 5 = 0.

k = 5 2 r 5 = 1.2 ⇒ d 5 = 1 r 6 = 0.2 = r 2

Como r 6 = r 2 , teremos que os resultados para k de 2 e 5 se repetirão e então: r 10 = r 6 = r 2 = 0.2 e assim indefinidamente.

Concluímos que: (0.1) 10 = (0.0001100110011 0011... ) 2 e, portanto, o número (0.1) 10 não tem representação binária finita.

O fato de um número não ter representação finita no sistema binário pode acarretar a ocorrência de erros aparentemente inexplicáveis em cálculos efetuados em sistemas computacionais binários.

Um computador que opera no sistema binário irá armazenar uma aproximação para (0.1) 10 , uma vez que possui uma quantidade fixa de posições para guardar os dígitos de mantissa de um número, e esta aproximação será usada para realizar os cálculos. Não se pode, portanto, esperar um resultado exato.

Podemos agora entender melhor por que o resultado da operação:

S = 01

1

1000 . n =

não é obtido corretamente num computador. Supondo uma máquina digital que trabalhe com apenas 9 dígitos na mantissa, o número (0.1) 10 seria armazenado como (0.000110011) 2 e este número representa exatamente (0.099609375) 10. Portanto, todas as operações que envolvem (0.1) 10 seriam realizadas com esta aproximação. Veremos na próxima seção a representação de números em aritmética de ponto flutuante com o objetivo de se entender melhor a causa de resultados imprecisos em operações numéricas.

O programa a seguir permite calcular (^01) 1

1000 . i =

∑ , sendo 100 o valor exato dessa somatória.

#include <stdio.h> int main() { int i; float x=0;

for (i=1;i<=1000; i++) x = x + 0.1; printf("x = %.20f", x); return 0; }

Quando essa somatória é efetuada utilizando o computador o valor é: 99.. Se trocarmos o tipo float para double (maior precisão) o resultado será 99..

3.3 Aritmética de Ponto Flutuante

Usa-se, rotineiramente, duas formas para fazer o armazenamento dos números em máquinas: ponto fixo (para valores inteiros) e ponto flutuante (para valores reais).

Uma máquina de calcular, ou um computador digital, representa um número real no sistema denominado aritmética de ponto flutuante. Neste sistema, o número x é representado na forma:

x = ±^ β β β β β

e t

d d d d t

1 2 3 ....

1 2 3

onde: β: é a base em que a máquina opera; d i: são números inteiros contidos no intervalo 0 ≤ d i ≤ (β - 1); i = 1, 2, ..., t ; d 1 ≠ 0; e : representa o expoente de β e assume valores entre IeS ; I , S : limite inferior e limite superior, respectivamente, para a variação do expoente.

d d d dt

t

1 2 3

β 1 +^ β 2 +^ β^3 +^ + β

...  é chamada de mantissa e é a parte do número que representa

os seus dígitos significativos e t é o número de dígitos significativos do sistema de representação, comumente chamado de precisão da máquina.

Exemplo 1: No sistema de base β = 10 (decimal), tem-se:

1 +^2 + 3 100

.

1 +^2 +^3 +^4 + 5 101

.

Os números assim representados estão normalizados, isto é, a mantissa é um valor entre 0 e 1. A forma normalizada é utilizada nas operações envolvendo ponto flutuante em computadores digitais.

No sistema de base β = 2 (binário), tem-se:

1 +^2 + 3 24

.

410 = 100 2 = 0.1 * 2^3 =
* 2^3

Exemplo 2: Numa máquina de calcular cujo sistema de representação utilizado tenha β=2, t = 10, I = − 15 e S = 15, o número 25 10 e 3.5 10 é, assim representado:

Considere, por exemplo, uma máquina que opera no sistema:

β = 10; t = 3; e ∈ [-5,5].

Os números serão representados da seguinte forma nesse sistema:

  1. d 1 d 2 d 3 * 10e, 0 ≤ dj ≤ 9, d 1 ≠ 0, e ∈ [−5, 5]

O menor número ( m ), em valor absoluto, representado nesta máquina é:

m = 0.100 * 10-5^ = 10-

e o maior número ( M ), em valor absoluto, é:

M = 0.999 * 10^5 = 99900

Considere o conjunto dos números reais R e o seguinte conjunto:

G = { x ∈ R | m ≤ | x | ≤ M }

Dado um número real x , várias situações poderão ocorrer:

  1. xG : por exemplo, x = 235.89 = 0.23589 * 10^3. Observe que este número possui 5 dígitos na mantissa. Estão representados exatamente nesta máquina os números: 0.23510^3 e 0.23610^3. Se for usado o truncamento, x será representado por 0.23510^3 e, se for usado o arredondamento, x será representado por 0.23610^3. Na próxima seção, sobre erros, estudaremos o truncamento e o arredondamento;
  2. | x | < m : por exemplo, x = 0.345*10-7. Este número não pode ser representado nesta máquina porque o expoente e é menor que −5. Esta é uma situação em que a máquina acusa a ocorrência de underflow ;
  3. | x | > M : por exemplo, x = 0.875*10^9. Neste caso o expoente e é maior que 5 e a máquina acusa a ocorrência de overflow.

Algumas linguagens de programação permitem que as variáveis sejam declaradas em precisão dupla. Neste caso, esta variável será representada no sistema de aritmética de ponto flutuante da máquina, mas com aproximadamente o dobro de dígitos disponíveis na mantissa. É importante observar que, neste caso, o tempo de execução e requerimento de memória aumentam de forma significativa.

O C fornece três tipos para números de ponto flutuante. Cada tipo tem um intervalo e uma precisão especificada:

Tipo Nº de bits Intervalo Inicio Fim float (^32) 3.4E− 38 3.4E+ double (^64) 1.7E− 308 1.7E+ long double (^80) 3.4E− 4932 3.4E+

O tipo long double é o tipo de ponto flutuante com maior precisão. É importante observar que os intervalos de ponto flutuante, na tabela acima, estão indicados em faixa de expoente, mas os números podem assumir valores tanto positivos quanto negativos.

3.4 Propagação de Erros

Durante as operações aritméticas de um método, os erros dos operandos produzem um erro no

resultado da operação; sendo A , a , B , b os valores exatos e aproximados, respectivos, e E a e E b, os erros dos operandos.

A + B = (a + Ea) + (b + Eb) = a + b + Ea + Eb ∴ EAA+B = Ea + Eb A − B = (a + Ea) − (b + Eb) = a − b + Ea − Eb ∴ EAA-B = Ea − Eb A * B = (a + Ea) (b + Eb) = ab + aEb + bEa + EbEa ∴ EAAB = aEb + bEa + Eb*Ea

Vejamos através de um exemplo, como os erros descritos anteriormente podem influenciar o desenvolvimento de um cálculo.

Exemplo: Suponha-se que as operações abaixo sejam processadas em uma máquina com 4 dígitos significativos e fazendo-se: x 1 = 0.349110^4 e x 2 = 0.234510^0 tem-se:

( x 2 + x 1 ) − x 1 = (0.234510^0 + 0.349110^4 ) − 0.349110^4 = 0.349110^4 − 0.3491*10^4 = 0.

x 2 + ( x 1 − x 1 ) = 0.234510^0 + (0.349110^4 − 0.3491*10^4 ) = 0.2345 + 0. = 0.

Os dois resultados são diferentes, quando não deveriam ser, pois a adição é uma operação distributiva. A causa desta diferença foi um arredondamento feito na adição ( x 2 + x 1 ), cujo resultado tem 8 dígitos. Como a máquina só armazena 4 dígitos, os menos significativos foram desprezados.

Ao se utilizar máquinas de calcular deve-se estar atento a essas particularidades causadas pelo erro de arredondamento, não só na adição mas também nas outras operações.

É importante salientar, que normalmente, os métodos iterativos são mais precisos quando executados em um computador que permite agilizar os cálculos matemáticos, obtendo assim uma melhor precisão.

Exercício: Calcular 4 e de 2 usando o Método de Newton definido por:

1 1

− −

n n n

x x

x

x , para n = 1, 2, 3, ...

onde: x : o número a ser calculado a raiz x 0 : uma atribuição inicial qualquer diferente de zero (por exemplo, x 0 = 1).

Como vimos anteriormente, o cálculo das duas raízes de uma equação do segundo grau, colocada sob a forma ax^2 + bx + c = 0, são facilmente obtidas pela fórmula de Baskara. Entretanto, se colocarmos uma expressão em que apareça uma equação transcendente, a solução já não é tão simples, como demonstram os exemplos abaixo:

ex^ + x = 0 cos ( x ) – x = 0 ln ( x ) + x – 2 = 0

Mesmo um polinômio de grau maior que três já não tem uma solução algébrica simples como a da equação do segundo grau, a não ser em casos particulares. Vamos analisar como enfrentar esse problema, tão comum em diversas áreas da engenharia, da economia, das ciências, da física, entre tantas outras.

Essas equações, com enorme freqüência, nos levam a raízes reais não racionais que, ao serem representadas no computador, necessariamente, o serão de forma aproximada, pelas razões já expostas no capítulo anterior, tendo em vista que necessitariam de infinitos dígitos, em suas mantissas, para serem representadas.

Além disso, em geral, estamos interessados em obter esses valores, essas raízes, com uma determinada precisão, com um erro tolerável, com algumas casas decimais, sem a pretensão de obter valores exatos. Isso é mais do que suficiente, para a maioria dos problemas práticos encontrados.

Os métodos numéricos a serem apresentados, partindo de valores inicialmente propostos, buscam aprimorar esses valores, diminuindo os erros, aproximando-se, assim, dos valores das raízes procuradas, até que os erros sejam aceitáveis, podendo-se garantir que sejam erros inferiores a valores pré-definidos.

Para se calcular uma raiz duas etapas devem ser seguidas:

  • Isolar a raiz, ou seja, achar um intervalo [a, b], o menor possível, que contenha uma e somente uma raiz da equação f(x) = 0;
  • Melhorar o valor da raiz aproximada, isto é, refiná-la até o grau de exatidão requerido. Com a abordagem iterativa precisamos determinar um intervalo inicial para construirmos a seqüência { x i} e teremos que a raiz x ' será dada por:

x ' = (^) i lim →∞ x i

Além disto, temos que estipular critérios de parada, pois na pratica não calcularemos infinitos termos, mas apenas o suficiente para atingirmos a exatidão desejada.

4.1.3 Isolamento de Raízes

Nesta fase é feita uma análise teórica e gráfica da função f (x). Para tal fim, usa-se freqüentemente um importante teorema da álgebra.

Teorema : Se uma função f ( x ) contínua num intervalo [a, b] assume valores de sinais opostos nos pontos extremos deste intervalo, isto é, f ( a ). f (b) < 0, então o intervalo conterá, no mínimo, uma raiz da equação f ( x ) = 0; em outras palavras haverá, no mínimo, um número ξ ∈ (a, b) tal que f (ξ) = 0.

4.1.3.1 Número de Raízes Reais

Na seção anterior vimos como delimitar as raízes reais de F ( x ) = 0. Agora iremos verificar quantas raízes existem no intervalo delimitado. Os métodos a seguir dão uma boa indicação sobre o número de raízes do intervalo.

Teorema de Bolzano : Seja F ( x ) = 0 uma equação algébrica com coeficientes reais e x ∈ (a, b):

  • Se F ( a ). F ( b ) < 0, então existe um número impar de raízes reais (contando suas multiplicidades) no intervalo (a, b).
  • Se F ( a ). F ( b ) > 0, então existe um número par de raízes reais (contando suas multiplicidades) ou não existe raízes reais no intervalo (a, b).

A determinação do número de raízes de equações transcendentes geralmente é quase impossível, pois algumas equações podem ter um número infinito de raízes.

Não faremos maiores considerações sobre este importante tópico, por não ser o objeto de estudo neste momento, e por merecer um trabalho a parte, devido a extensão de seu conteúdo. Entretanto, podemos salientar que o problema de isolar raízes constitui-se da enumeração , localização e separação das mesmas.

4.1.3.2 Refinamento

Depois de isolar a raiz no intervalo [a, b], passa-se a calculá-la através de métodos numéricos. Como veremos adiante, estes métodos devem fornecer uma seqüência {xi} de aproximação, cujo limite é a raiz exata ξ. Em cada aproximação xn , da raiz exata ξ, usa-se um destes critérios e compara-se o resultado com a tolerância ε pré-fixada.

A verificação, de que xn está "suficientemente" próxima da raiz, pode ser feita de dois modos diferentes (que podem levar a resultados diferentes):

| f ( xn ) | ≤ ε ( abordagem pelo eixo y)

| xnxn -1 | ≤ ε (abordagem pelo eixo x)

Observa-se que dependendo dos números envolvidos é aconselhável usar os testes de erro relativo:

1

1 −

n

n n x

x x ≤ ε

4.1.4 Classificação dos métodos

Métodos de quebra: Os métodos de quebra são os mais intuitivos geometricamente; contudo, são os que convergem mais lentamente. Estes métodos são assim chamados porque a partir de um intervalo que contenha uma raiz da função, vai-se particionando este intervalo em outros menores, que ainda contenham a raiz. Dependendo da escolha do ponto de quebra do intervalo, poderemos ter diferentes métodos, tais como.

  • Método da Bisseção;