Você está na página 1de 30

Cálculo Numérico

Sobre os autores Outras Obras

Selma Helena de Vasconcelos Arenales Álgebra Linear


Professora do Departamento de Mate- David Poole
mática da Universidade Federal de São Car-
los-UFSCar. Graduada em Matemática pela
Análise Numérica
Universidade Estadual Júlio Mesquita Filho
(Unesp) e mestre em Matemática Aplicada Richard L. Burden e

Cálculo J. Douglas Faires


pela Universidade Estadual de Campinas
(Unicamp). Possui experiência na área de
Matemática, com ênfase em matemática
Selma Arenales
aplicada, atuando em projetos de pesquisa e
orientação de alunos nas áreas de Otimiza-
ção e Análise Numérica, com enfoques na
Numérico Artur Darezzo
Cálculo – Volumes I e II –
5ª edição
James Stewart

Aprendizagem com apoio de software


modelagem de problemas e métodos numé- Aprendizagem com apoio de software
ricos de resolução. Tem publicado trabalhos
em congressos em ensino de Matemática, Pré-Cálculo
principalmente no ensino de Cálculo Numé- Este livro foi projetado e escrito com o objetivo de oferecer aos estudan-
rico com ferramentas computacionais. tes de ciências exatas um material didático, simples e de fácil entendimento Valéria Zuma Medeiros (Coord.)
dos tópicos de um curso básico de Cálculo Numérico, de um semestre, nas
instituições de ensino superior. Vetores e Matrizes: Uma

Cálculo
Artur Darezzo Filho Os métodos numéricos são desenvolvidos para resolução de sistemas introdução à álgebra linear –
lineares e não-lineares, equações, interpolação polinomial, ajuste de fun- 4ª edição revista e ampliada
Licenciado em Matemática pela Facul-
dade de Filosofia, Ciências e Letras de Rio ções, integração numérica e equações diferenciais ordinárias, acompanha- Nathan Moreira dos Santos,
Claro – SP (1971), mestre em Ciências da dos de exemplos resolvidos em detalhes. Exercícios são propostos no final de Doherty Andrade e
Computação e Estatística – opção computa- cada capítulo com diversos graus de dificuldade para fixação do conteúdo. Nelson Martins Garcia

Numérico
ção – pela Universidade de São Paulo – USP,
O livro é acompanhado de um CD com o Software Numérico, desen-
São Carlos (1978), doutor em Engenharia
Civil pela Universidade de São Paulo – USP, volvido pelos autores, que serve de apoio ao ensino/aprendizagem de tópi-
São Carlos (1996). Desde 1972 é professor cos básicos de Cálculo Numérico, no qual conceitos e resultados dados em
vinculado ao Departamento de Matemática sala de aula são reforçados em aulas de exercícios nos laboratórios compu-

Artur Darezzo
Selma Arenales
da Universidade Federal de São Carlos, onde
exerceu as funções de docente, pesquisador
tacionais.
na área de Modelagem Matemática e Méto-
dos Numéricos e coordenador do curso de Aplicações
Matemática. A partir do ano de 2001, como
professor aposentado, passou a ser professor Livro-texto para as disciplinas de cálculo numérico nos cursos de gra-
Aprendizagem com apoio de software
convidado voluntário no mesmo Departa- duação das áreas de ciências exatas e tecnológicas.
mento de Matemática até a presente data.
Foi também professor e coordenador do
curso de Matemática Aplicada e Computa-
cional do Centro Universitário Central Pau-
lista – Unicep – São Carlos (SP). Atualmente
exerce as funções de Diretor Acadêmico da
Escola Superior de Tecnologia e Educação de
Rio Claro, Rio Claro – SP. Para suas soluções de curso e aprendizado,
visite www.cengage.com.br
Cálculo Numérico
Aprendizagem com Apoio de Software
Dados Internacionais de Catalogação na Publicação (CIP)
(Câmara Brasileira do Livro, SP, Brasil)

Arenales, Selma
Cálculo numérico : aprendizagem com apoio de
software / Selma Arenales, Artur Darezzo. --
São Paulo: Cengage Learning, 2010.

1ª reimpr. da 1ª ed. de 2008.


Bibliografia.
ISBN 

1. Cálculo numérico 2. Cálculo numérico – Problemas,


exercícios etc. I. Darezzo, Artur. II. Título.

07-6796 CDD-515.07

Índices para catálogo sistemático:

1. Cálculo numérico : Estudo e ensino 515.4092


Cálculo Numérico
Aprendizagem com Apoio de Software

Selma Arenales
Artur Darezzo

Austrália • Brasil • Japão • Coréia • México • Cingapura • Espanha • Reino Unido • Estados Unidos
Cálculo Numérico: Aprendizagem com apoio © 2008 Cengage Learning Edições Ltda.
de software
Todos os direitos reservados. Nenhuma parte deste livro po-
Selma Arenales
derá ser reproduzida, sejam quais forem os meios empregados,
Artur Darezzo
sem a permissão, por escrito, da Editora.
Aos infratores aplicam-se as sanções previstas nos artigos
102, 104, 106 e 107 da Lei no 9.610, de 19 de fevereiro de 1998.
Gerente Editorial: Patricia La Rosa

Editora de Desenvolvimento: Ligia Cosmo Cantarelli


Para informações sobre nossos produtos, entre em
Supervisor de Produção Editorial: Fábio Gonçalves contato pelo telefone 0800 11 19 39

Para permissão de uso de material desta obra, envie


Produtora Editorial: Renata Siqueira Campos
seu pedido para direitosautorais@cengage.com

Supervisora de Produção Gráfica: Fabiana Alencar

Albuquerque © 2008 Cengage Learning. Todos os direitos reservados.

Copidesque: Sueli Bossi da Silva


ISBN-13: 
Revisão: Gisele Múfalo

Diagramação: Segmento & Co. Produções Gráficas


Cengage Learning
Ltda. Condomínio E-Business Park
Rua Werner Siemens, 111 – Prédio 20 – Espaço 04
Capa: Eduardo Bertolini Lapa de Baixo – CEP 05069-900 – São Paulo – SP
Tel.: (11) 3665-9900 – Fax: (11) 3665-9901
SAC: 0800 11 19 39

Para suas soluções de curso e aprendizado, visite


www.cengage.com.br

Impresso no Brasil.
Printed in Brazil.
1 2 3 4 5 6 7 11 10 09 08
Ao Marcos Arenales, meu esposo,
aos meus pais Maria e Sebastião Vasconcelos e
à minha família de amigos.

Com carinho para minha esposa Regina,


companheira de todas as jornadas e
aos meus filhos Helga, Fabiana e João Paulo.
Sumário

Prefácio IX
Agradecimentos X

Capítulo 1 Erros em processos numéricos 1


1.1 Introdução 1
1.2 Erros na fase da modelagem 2
1.3 Erros na fase de resolução 2
1.4 Erros de representação 5
1.5 Erro de arredondamento 10
1.6 Erro absoluto 10
1.7 Erro relativo 11
1.8 Erro de truncamento 12
1.9 Propagação dos erros 14
Exercícios 16
Capítulo 2 Solução numérica de sistemas de equações lineares e
matrizes inversas 19
2.1 Introdução 19
2.2 Sistemas de equações lineares 19
2.3 Métodos diretos 21
2.4 Matrizes inversas 46
2.5 Condicionamento de sistemas lineares 49
2.6 Métodos iterativos 49
2.7 Trabalhando com o Software Numérico 65
Exercícios 68
Capítulo 3 Solução numérica de equações 73
3.1 Introdução 73
3.2 Localização das raízes: métodos gráficos 74
3.3 Métodos numéricos para resolução de equações 76
3.4 Equações polinomiais 96
3.5 Sistemas de equações não lineares 106
3.6 Trabalhando com o Software Numérico 121
Exercícios 124
vii
viii Cálculo Numérico

Capítulo 4 Aproximação de funções 127


4.1 Introdução 127
4.2 Interpolação polinomial 127
4.3 Fórmula interpolatória de Lagrange 132
4.4 Interpolação linear 138
4.5 Fórmula interpolatória de Newton 141
4.6 Interpolação inversa 148
4.7 Fórmula interpolatória de Newton-Gregory 153
4.8 Aproximação de funções – o método dos mínimos quadrados 157
4.9 Trabalhando com o Software Numérico 182
Exercícios 185

Capítulo 5 Integração numérica 189


5.1 Introdução 189
5.2 Fórmulas de quadratura de Newton-Cotes 191
5.3 Erro cometido na integração numérica 192
5.4 Regra dos trapézios 193
5.5 Regra 1/3 de Simpson 200
5.6 Regra 3/8 de Simpson 208
5.7 Fórmula de quadratura de Gauss 216
5.8 Integração dupla 223
5.9 Trabalhando com o Software Numérico 227
Exercícios 229

Capítulo 6 Solução numérica de equações diferenciais ordinárias 233


6.1 Introdução 233
6.2 Problema de valor inicial (PVI) 236
6.3 Discretização 241
6.4 Métodos baseados em série de Taylor 242
6.5 Métodos de Runge-Kutta 251
6.6 Métodos previsor-corretor 269
6.7 Trabalhando com o Software Numérico 278
Exercícios 282

Capítulo 7 Manual do Software Numérico 285


7.1 Introdução 286
7.2 Objetivos 286
7.3 Software Numérico – Módulos desenvolvidos 286
7.4 Abertura do Software Numérico 287
7.5 Descrição dos módulos do Software Numérico 288
Referências bibliográficas 361
Índice remissivo 363
Prefácio

Este livro foi projetado e escrito com o objetivo de oferecer aos estudantes de
ciências exatas um material didático simples e de fácil entendimento dos tópi­
cos de um curso básico de Cálculo Numérico, de um semestre, nas instituições
de ensino superior.
Originado a partir de uma apostila, Notas de Cálculo Numérico, escrita pe­
los autores e pelos professores que ministravam a disciplina de Cálculo Nu­
mérico e publicada pelo Departamento de Matemática, conforme Darezzo, A. F.;
Arenales, S. H. V. et al. (1992), esta obra reflete a experiência de muitos anos dos
autores, no ensino da disciplina Cálculo Numérico para diferentes cursos do
Centro de Ciências Exatas e de Tecno­logia da Universidade Federal de São
Carlos – UFSCar.
O livro é composto de sete capítulos contendo os principais tópicos abor­
dados numa disciplina básica de Cálculo Numérico nas universidades, apre­
sentando os métodos numéricos com desenvolvimento teórico e os respectivos
algoritmos descritos de forma simples, com exemplos e listas de exercícios para
fixação do conteúdo.
Alguns resultados do Cálculo Diferencial Integral, da Álgebra Linear e da
Geometria Analítica foram utilizados no decorrer dos capítulos, considerando
que os alunos tenham estes conhecimentos.
Juntamente com este livro desenvolvemos o Software Numérico de apoio
ao ensino/aprendizagem de tópicos básicos de Cálculo Numérico, no qual con­
ceitos e resultados dados em sala de aula são reforçados em aulas de exercícios
nos laboratórios computacionais. O Software Numérico relaciona cinco módulos:
Sistemas Lineares, Raízes de Funções, Interpolação e Aproxi­mação de Funções,
Integração Numérica e Equações Diferenciais Ordinárias.
Este software foi desenvolvido inicialmente durante o Projeto de Rees­
truturação do Ensino de Engenharia – Projeto Reenge (1996), em seguida foi
aperfeiçoado e tem sido utilizado como ferramenta metodológica, em aulas
ix
x Cálculo Numérico

de exercícios, para todas as turmas de Cálculo Numérico no Laboratório de


Ensino do Departamento de Matemática da UFSCar.
Acreditamos, também, que este material possa ser aplicado em cursos na
modalidade Ensino a Distância, o qual o professor, com listas de exercícios
bem elaboradas, reforça e melhora a aprendizagem desses assuntos, com
a aplicação do Software Numérico, que contém um Arquivo de Correção, o
qual armazena todas as etapas de execução dos exercícios feitos pelos alunos.
Posteriormente, o professor pode acessá-lo, analisá-lo e realizar comentários
sobre tentativas, erros e acertos dos alunos estabelecendo uma interação pro-
fessor/aluno a distância, que pode ser encontrado para download no site da
Editora Thomson (www.thomsonlearning.com.br).
O Manual do Software Numérico, no qual o usuário possui, de forma
simples e clara, um resumo sobre os métodos numéricos desenvolvidos nos
capítulos anteriores deste livro com exemplos ilustrativos, além de infor-
mações sobre o uso, sintaxe, entrada de dados e todos os esclarecimentos
à disposição no Help On Line pode ser encontrado no CD que acompanha
este livro.
O usuário pode instalar o software de maneira simples utilizando a
senha 6028.
Este software também foi usado, numa experiência de ensino na dis-
ciplina de Cálculo Numérico, integrado com o uso de Mapas Conceituais.
Com esta metodologia de ensino/aprendizagem foi possível observar efeitos,
influências, benefícios e dificuldades, tanto nas atividades em sala de aula
como em aulas de laboratório, conforme publicação Salvador, J. A.; Arenales,
S. H. V. et al. (2003).

Agradecimentos
Aos estudantes da UFSCar e do Centro Universitário Central Paulista – Unicep,
pelo retorno positivo nas versões preliminares que nos incentivou a publi-
car este livro.
Aos colegas do Departamento de Matemática da UFSCar que de alguma
forma acompanharam este trabalho e acreditaram no seu desenvolvimento,
através do incentivo diário e de sugestões para que os objetivos propostos
fossem alcançados.
Em especial, ao Professor Dr. Marcos Nereu Arenales, docente do Depar-
tamento de Matemática Aplicada e Estatística – ICMC-USP-São Carlos, pela
leitura e pelas sugestões pertinentes nos diversos capítulos deste livro.
Selma Arenales
Artur Darezzo
Capítulo 1

Erros em Processos Numéricos

1.1 Introdução
De uma maneira geral, a resolução de um problema de qualquer área do conhe-
cimento científico passa inicialmente por uma fase de observação e entendimento
do fenômeno físico envolvido na qual, usando conhecimentos já estabelecidos,
buscamos, através de simplificações, quando necessárias, a construção de
um modelo matemático que represente, com a maior fidelidade possível,
o problema que desejamos tratar. Esta etapa é caracterizada como fase da
modelagem do modelo matemático.
Com o problema representado através de um modelo matemático, bus-
camos, para a sua resolução, um método exato quando possível, ou, quando
não, um método numérico aproximado.
Mesmo quando utilizamos na resolução do modelo matemático um mé-
todo exato, isto é, um método que apresenta a solução exata para o modelo,
pelo fato de este envolver um número muito grande de operações elemen-
tares (adição, multiplicação, subtração e divisão) e, sendo estas processadas
em equipamento com capacidade limitada para armazenar dados, podemos
cometer erros.
Por outro lado, quando optamos, em razão da complexidade do modelo
matemático, pela resolução através de um método numérico, além dos erros
no processamento anteriormente mencionados, podemos também cometer
erros provenientes do fato de utilizarmos, para a resolução do modelo mate-
mático, um algoritmo aproximado. Esta etapa é caracterizada como fase de
resolução do modelo matemático.
Podemos entender as duas fases descritas anteriormente através do es-
quema representado na Figura 1.1.
Neste capítulo apresentamos os principais erros que podem ocorrer na
fase da resolução de um problema. Os erros cometidos devido à mudança
1
2 Cálculo Numérico

Figura 1.1

da base de processamento, os erros de representação, devido ao sistema uti-


lizado pelos computadores para armazenar dados numéricos; os erros de
arredondamento e truncamento; e erros absolutos e relativos.

1.2 Erros na fase da modelagem


São os erros decorrentes de simplificações, muitas vezes necessárias, para
que o fenômeno da natureza que estivermos observando possa ser repre-
sentado por um modelo matemático e que tenha condições de ser tratado
com as ferramentas matemáticas disponíveis.

1.3 Erros na fase de resolução


São erros provenientes da utilização de algum equipamento, como, por exem-
plo, um computador, para processarmos os cálculos necessários à obtenção de
uma solução para o modelo matemático. Tais erros ocorrem devido ao fato
de os equipamentos terem capacidade limitada para armazenar os dígitos
significativos de valores numéricos utilizados nas operações elementares de
adição, multiplicação, subtração e divisão.
Os erros nesta fase de resolução podem ser classificados em erros na
mudança de base e erros de representação, apresentados a seguir:

Erros na mudança da base


A maioria dos equipamentos computacionais representa os valores numé-
ricos no sistema binário. Assim, quando os dados numéricos presentes nos
modelos matemáticos são lidos, estes são transformados em uma outra base
de representação.
Erros em Processos Numéricos 3

Acontece, muitas vezes, que esta transformação pode ser acometida de


erros, em razão da limitação da representação do equipamento computacio-
nal que estamos utilizando para o processamento dos dados numéricos.
Dado um número real, N, é sempre possível representá-lo em qualquer
base b, da seguinte forma:
m
Nb = ∑ a ×b
i=n
i
i

onde ai ∈ {0 , 1, 2, 3 ,...,( b − 1)}, com n e m inteiros.

Base binária
m
N2 = ∑ a ×2 , a ∈{0,1}
i=n
i
i
i

Exemplo 1.1
a) (1011)2 = 1 × 20 + 1 × 21 + 0 × 22 + 1 × 23
Neste caso, o binário só tem a parte inteira, isto é, i = 0, 1, 2, 3, e temos:
a0 = 1, a1 = 1, a2 = 0, a3 = 1
b) (111.01)2 = 1 × 2−2 + 0 × 2−1 + 1 × 20 + 1 × 21 + 1 × 22
Neste caso, o binário tem parte inteira e parte fracionária, isto é, n = –2 e
m = 2, e portanto:
a −2 = 1, a −1 = 0, a0 = 1, a1 = 1, a2 = 1

Base decimal
m
N10 = ∑ a ×10 , a ∈{0, 1, ..., 9}, com n e m inteiros.
i=n
i
i
i

Exemplo 1.2
a) ( 231)10 = 1 × 100 + 3 × 101 + 2 × 102
Neste caso, o número na base decimal é inteiro, i = 0, 1, 2 e temos:
a0 = 1, a1 = 3, a2 = 2
b) (231.35)10 = 5 × 10−2 + 3 × 10−1 + 1 × 100 + 3 × 101 + 2 × 102
Neste caso, o número na base decimal tem parte inteira e parte fracionária,
n = –2 e m = 2, e temos:
a −2 = 5, a −1 = 3, a0 = 1, a1 = 3, a2 = 2

Assim, dado um número real qualquer numa base b, podemos escrevê-lo


em uma outra base b’, a partir de adequação conveniente de seus coeficien-
tes ai = 0, 1, 2, 3, ..., (b – 1) e de uma potência adequada na nova base b’.
4 Cálculo Numérico

Mudança da base binária para a base decimal


Procedimento: multiplicar o dígito binário por uma potência adequada de 2.
Exemplo 1.3
a) (1101)2 = 1 × 20 + 0 × 21 + 1 × 22 + 1 × 23 = (13 )10
b) (111.011)2 = 1 × 2−3 + 1 × 2−2 + 0 × 2−1 + 1 × 20 + 1 × 21 + 1 × 22 = (7.375)10

Mudança da base decimal para a base binária (número na base


decimal tem somente a parte inteira)
Procedimento: divisões sucessivas.
O procedimento consiste na divisão do número na base decimal sucessi-
vamente por 2, armazenando, a cada passo, o algarismo do resto (r), até que o
quociente da divisão seja igual a 1. O binário é constituído pelo quociente 1
e pelos coeficientes do resto da divisão, a partir do resto mais significativo
(rn – 1) para o menos significativo (r1). Desta forma, temos:
N10 = (1 rn – 1 rn – 2 rn – 3 ... r3 r2 r1)2
Exemplo 1.4
a) ( 25)10 = (11001)2 = 1 × 20 + 0 × 21 + 0 × 22 + 1 × 23 + 1 × 24 , isto é:
25 ÷ 2 = 12 e resto = 1, 12 ÷ 2 = 6 e resto = 0, 6 ÷ 2 = 3 e resto = 0
3 ÷ 2 = 1 e resto = 1.

b) (11)10 = (1011)2 = 1 × 20 + 1 × 21 + 0 × 22 + 1 × 23

Mudança da base decimal para a base binária (número na base


decimal tem somente a parte fracionária)
Procedimento: multiplicações sucessivas.
O procedimento é constituído dos seguintes passos:
a) Multiplicamos o número fracionário por 2.
b) Do resultado do passo a), a parte inteira é o primeiro dígito binário.
c) Do resultado do passo b), a parte fracionária é novamente multiplicada
por 2.
d) O processo continua até que a parte fracionária seja nula.
Exemplo 1.5
a) ( 0.1875)10 = ( 0.0011)2 = 0 × 2−1 + 0 × 2−2 + 1 × 2−3 + 1 × 2−4 = ( 3 16)10 , isto é:
(0.1875)(2) = 0.375 → parte inteira = 0 e parte fracionária = 0.375
(0.375)(2) = 0.75 → parte inteira = 0 e parte fracionária = 0.75
(0.75)(2) = 1.5 → parte inteira = 1 e parte fracionária = 0.5
(0.5)(2) = 1.0 → parte inteira = 1 e parte fracionária = 0
Erros em Processos Numéricos 5

b) (13.25)10 = (13)10 + (0.25)10 = (1101)2 + (0.01)2 = (1101.01)2


c) ( 0.2)10 = ( 0.001100110011...)2
Observe que (0.2)10 é uma dízima periódica de período (0.0011). Assim, o
decimal (0.2)10 não tem uma representação binária exata, isto é, a representação
é aproximada e, portanto, apresenta erro.

1.4 Erros de representação


Na construção de um equipamento computacional, uma questão importante a
ser considerada em sua arquitetura é a forma que será adotada para represen-
tar os dados numéricos. Basicamente, na memória de um equipamento, cada
número é armazenado em uma posição que consiste de um sinal que identifica
se o número é positivo ou negativo e um número fixo e limitado de dígitos
significativos.
De maneira geral, destacamos o seguinte sistema de armazenamento de
valores numéricos:

Sistema de ponto flutuante normalizado


Um número no sistema de ponto flutuante é caracterizado por uma base b, um
número de dígitos significativos n e um expoente exp.
Dizemos que um número real nr está representado no sistema de ponto
flutuante se for possível escrevê-lo da seguinte maneira:
nr = m × bexp
onde m é a mantissa do número, b ≥ 2 é a base e exp é o expoente da base.
Neste sistema de ponto flutuante, as seguintes condições devem ser
verificadas:
m = ± 0. d1 d2 ... dnMn ∈ N
sendo n o número máximo de dígitos na mantissa, d1, d2, ..., dn, dígitos sig-
nificativos da mantissa, do sistema de representação, com o primeiro
dígito satisfazendo a condição 1 ≤ d1 ≤ (b − 1) e os demais dígitos satisfazendo
0 ≤ di ≤ (b − 1) ; i = 2, 3, ..., n.
O expoente exp varia da seguinte maneira:
expm í n ≤ exp ≤ expm áx
sendo expm í n ≤ 0 e expm áx ≥ 1 com expmín e expmáx inteiros.
A união de todos os números em ponto flutuante, juntamente com a re-
presentação do zero, constitui o sistema de ponto flutuante normalizado, que
indicamos por SPF (b, n, expmín, expmáx).
6 Cálculo Numérico

Neste sistema, o zero é representado da seguinte maneira:


zero :0.0000.......0 bexpmín


n vezes

Considerando o sistema de ponto flutuante normalizado dado na forma


genérica por SPF (b, n, expmín, expmáx), temos:
a) O menor positivo exatamente representável, não nulo, é o real formado
pela menor mantissa multiplicada pela base elevada ao menor expoen-
te, isto é:
menor = (0.1000.......0) bexpmín

(n–1) vezes

b) O maior positivo exatamente representável é o real formado pela maior


mantissa multiplicada pela base elevada ao maior expoente, isto é:
maior = (0 . [b ⫺ 1][b ⫺ 1] ... [b ⫺ 1]) bexpmáx
冦 n vezes

c) O número máximo de mantissas positivas possíveis é dado por:


mantissas + = ( b − 1 ) b n − 1
d) O número máximo de expoentes possíveis é dado por:
exppossíveis = expm áx − expm í n + 1

e) O número de elementos positivos representáveis é dado pelo produto en-


tre o número máximo de mantissas pelo máximo de expoentes, isto é:
NR + = mantissas+ × exppossíveis

Se considerarmos que dado um número real nr ∈ SPF temos que


− nr ∈ SPF e a representação do zero, podemos concluir que o número total
de elementos exatamente representáveis NRt é dado por:
NR t = 2 × NR + + 1

Exemplo 1.6
Considere o sistema de ponto flutuante SPF (b, n, expmín, expmáx) = SPF (3, 2,
–1, 2), isto é, de base 3, 2 dígitos na mantissa, menor expoente igual a –1 e maior
expoente 2. Para este sistema temos:
a) O menor exatamente representável:
1
0.10 × 3− 1 = (1 × 3− 1 + 0 × 3− 2 ) × 3 − 1 =
9
Erros em Processos Numéricos 7

b) O maior exatamente representável:

0.22 × 32 = (2 × 3− 1 + 2 × 3− 2 ) × 32 = 8

c) A quantidade de reais positivos exatamente representáveis:

Temos que a quantidade de reais positivos exatamente representáveis é


dada pelo produto entre todas as mantissas possíveis de dois dígitos, formadas
com os dígitos da base 3, isto é, 0.10, 0.11, 0.12, 0.20, 0.21, 0.22, e todas as pos-
sibilidades de expoentes, que no caso são –1, 0, 1, 2.
Desta forma, os 24 positivos exatamente representáveis estão listados
a seguir:

exp = − 1: 0.10 × 3−1 = 1/9 exp = − 1: 0.11 × 3−1 = 4/27


exp = 0 : 0.10 × 30 = 1/3 exp = 0 : 0.11 × 30 = 4/9
exp = 1: 0.10 × 31 = 1 exp = 1: 0.11 × 31 = 4/3
exp = 2: 0.10 × 32 = 3 exp = 2: 0.11 × 32 = 4

exp = − 1: 0.12 × 3−1 = 5/27 exp = − 1: 0.20 × 3−1 = 2/9


exp = 0 : 0.12 × 30 = 5/9 exp = 0 : 0.20 × 30 = 2/3
exp = 1: 0.12 × 31 = 5/3 exp = 1: 0.20 × 31 = 2
exp = 2: 0.12 × 32 = 5 exp = 2: 0.20 × 32 = 6

exp = − 1: 0.21 × 3−1 = 7/27 exp = − 1: 0.22 × 3−1 = 8/27


exp = 0 : 0.21 × 30 = 7/9 exp = 0 : 0.22 × 30 = 8/9
exp = 1: 0.21 × 31 = 7/3 exp = 1: 0.22 × 31 = 8/3
exp = 2: 0.21 × 32 = 7 exp = 2: 0.22 × 32 = 8

1
Observe que o menor real positivo representável é e o maior positivo
9
representável é o real 8.
Por outro lado, sabemos que se um real x ∈ SPF então –x ∈SPF e, como
no sistema de ponto flutuante normalizado o zero é uma representação, te-
mos que os representáveis de SPF pertencem ao conjunto:


R = x; x ∈ ⎡ , 8⎤ ∪ ⎡− 8, − ⎤ ∪ {0}
1
⎣⎢9 ⎦⎥ ⎢⎣
1
9⎦⎥ 冧
8 Cálculo Numérico

Todos os reais que não pertencem à união dos intervalos anteriores não
são representáveis e qualquer tentativa de representação fora dos intervalos an-
teriores constitui-se em uma mensagem de erro, isto é,
Erro de Underflow, se a tentativa de representação satisfizer:

Erro de Overflow, se a tentativa de representação satisfizer:

Se marcarmos os reais exatamente representáveis na reta real, verifica-


remos, num primeiro momento, uma maior concentração de representáveis nas
proximidades do zero e uma menor concentração à medida que nos afastamos da
origem e que, aparentemente, não existe uma uniformidade na sua distribuição.
No entanto, é possível observar que os representáveis definidos através do
produto de cada uma das mantissas multiplicada pela base elevada ao mesmo
expoente são igualmente espaçados na representação sobre a reta.
Assim, os reais

0.10 × 3− 1, 0.11 × 3− 1, 0.12 × 3− 1, 0.20 × 3− 1, 0.21 × 3− 1 , 0.22 × 3− 1


1
são igualmente espaçados por h3 = .
27
Os reais

0.10 × 30 , 0.11 × 30, 0.12 × 30 , 0.20 × 30 , 0.21 × 30 , 0.22 × 30


1
são igualmente espaçados por h2 = .
9
Enquanto os reais

0.10 × 31, 0.11 × 31, 0.12 × 31, 0.20 × 31, 0.21 × 31, 0.22 × 31
1
são espaçados por h1 = .
3
E os reais representados por

0.10 × 32 , 0.11 × 32 , 0.12 × 32 , 0.20 × 32 , 0.21 × 32 , 0.22 × 32

são igualmente espaçados por h0 = 1.


De modo geral, podemos representar o espaçamento entre os representá-
veis exatamente da seguinte maneira:
1
hi = i ; i = 0, 1, 2, 3
3
Exemplo 1.7
Considere o sistema de ponto flutuante SPF (2, 3, –1, 2), isto é, de base 2, 3
dígitos na mantissa, menor expoente igual a –1 e maior expoente 2.
Erros em Processos Numéricos 9

Para este sistema temos 16 reais positivos exatamente representáveis


além do zero.
A representação na reta real de alguns dos reais positivos do sistema
SPF (2, 3, –1, 2) pode ser visualizada através da Figura 1.2:

Figura 1.2

Observe que o menor positivo exatamente representável é 1/4 e o


maior é 7/2.

Exemplo 1.8
Considere o sistema de ponto flutuante normalizado SPF (3, 2, –1, 2), de base
3, 2 dígitos na mantissa, menor expoente igual a –1 e maior expoente 2.
Para este sistema, temos que:
1
x= = ( 0.10 )3 × 3− 1 e y = 5 = ( 0.12)3 × 32
9
são exatamente representáveis, no entanto,(x + y ) = (0.00010)3 × 32 + (0.12)3 ×
× 32 = (0.1201)3 × 32 não é exatamente representável em SPF, uma vez que no
sistema de ponto flutuante considerado a mantissa é de 2 dígitos.
Observação
Pode ocorrer de outras propriedades consagradas no conjunto dos números
reais não serem verdadeiras, no sentido da exatidão da representação, no
sistema de ponto flutuante normalizado, como as propriedades comuta-
tiva e associativa na adição, e as propriedades comutativa e distributiva na
multiplicação.

Exemplo 1.9
Dados x , y , z ∈ℜ e o sistema de ponto flutuante normalizado SPF (3, 2, –1, 2),
temos:
5 7 8
Se x = = (0.12)3 × 31 , y = = (0.21)3 × 3−1 e z = = (0.22)3 × 3 0
3 27 9
temos:

x + (y + z) = 0.22 × 31 e (x + y) + z = 0.21 × 31
10 Cálculo Numérico

Podemos observar que:


x +(y + z) ≠ (x + y) + z

1.5 Erro de arredondamento


Quando estamos utilizando um equipamento computacional para proces-
sar uma determinada operação aritmética, se o número obtido não pertencer
às regiões de Underflow ou de Overflow e este não é representável exata-
mente no sistema de ponto flutuante SPF o mesmo será representado de forma
aproximada por nra.
Esta aproximação será caracterizada como um arredondamento do
real nr, para que sua representação seja possível no SPF.
Assim, dizemos que um número na base decimal nr foi arredondado
na posição k se todos os dígitos de ordem maior que k forem descartados
segundo o seguinte critério:
a) O dígito de ordem k é acrescido de uma unidade se o de ordem (k + 1)
for maior que a metade da base. Caso contrário, o número nr é repre-
sentado com os k dígitos iniciais.
b) Se o dígito de ordem (k + 1) é exatamente a metade da base e o de
ordem k é par, então o número nr é representado com k dígitos e,
se o dígito de ordem k é ímpar, então o de ordem k é acrescido de
uma unidade.
c) O arredondamento por corte considera que, para obter um número
com k dígitos, simplesmente trunca-se na posição k.
Exemplo 1.10
Consideremos um equipamento com o sistema de ponto flutuante normali-
zado SPF (b, n, expmín, expmáx) = SPF (10, 4, –5, 5).
a) Se a = 0.5324 × 103 e b = 0.4212 × 10− 2, então a × b = 0.22424688 × 101,
que é arredondado e armazenado como (a x b)a = 0.2242 × 101.
b) Se a = 0.5324 × 103 e b = 0.1237 × 102, então a + b = 0.54477 × 103, que
é arredondado e armazenado como (a + b)a = 0.5448 × 103.

1.6 Erro absoluto


Definimos erro absoluto como
Eabs = aex − aaprox
onde aex é o valor exato da grandeza considerada e aaprox é o valor aproxi-
mado da mesma grandeza.
Erros em Processos Numéricos 11

Como na maioria das vezes o valor exato não é disponível, a definição


anterior fica sem sentido. Assim, é necessário trabalharmos com um limi-
tante superior para o erro, isto é, escrevê-lo na forma:
aex − aaprox ≤ ε
onde ε é um limitante conhecido.
A desigualdade anterior pode ser entendida da seguinte maneira:
–ε ≤ 冢aex – aaprox冣 ≤ ε
ou ainda
aaprox − ε ≤ aex ≤ aaprox + ε
isto é, aaprox é o valor aproximado da grandeza aex com erro absoluto não
superior a ε.

1.7 Erro relativo


Definimos erro relativo como:
E aex − aaprox
Erel = =
aex aex
onde aex é o valor exato da grandeza considerada e aaprox é o valor aproxi-
mado da mesma grandeza.
Como na maioria das vezes o valor exato não é disponível, a definição
anterior fica sem sentido. Dessa forma, é preciso trabalharmos com um limi-
tante superior para o erro relativo, isto é, escrevê-lo na forma:
ε
δ≤
aaprox
onde δ, é um limitante conhecido.
Podemos observar que o erro relativo nos fornece mais informações sobre
a qualidade do erro que estamos cometendo num determinado cálculo, uma vez
que no erro absoluto não é levada em consideração a ordem de grandeza do
valor calculado, enquanto no erro relativo esta ordem é contemplada.
Exemplo 1.11
a) Consideremos o valor exato aex = 2345.713 e o valor aproximado
aaprox = 2345.000
Então,
Eabs = 0.713
Erel = 0.00030396
12 Cálculo Numérico

b) Consideremos o valor exato aex = 1.713 e o valor aproximado


aaprox = 1.000
Então,
Eabs = 0.713
Erel = 0.416229
Observe que nos exemplos a) e b) o erro absoluto é o mesmo, embora o
erro cometido pela aproximação seja muito mais significativo no exemplo b). No
exemplo a), o erro relativo é da ordem de 0.03%, e no exemplo b), é da ordem
de 41.6%.
Observação
Em geral, nos procedimentos numéricos geramos uma seqüência de soluções
aproximadas que convergem ou não para a solução desejada do problema.
Os erros absolutos e relativos serão usados como critério de parada nestas
seqüências de aproximações. Em geral, o erro relativo é preferível, devido às
observações nos exemplos anteriores.
Exemplo 1.12
Para resolver a equação f(x) = x2 − a = 0, com a > 0, podemos utilizar o seguinte
processo iterativo:
1⎛ a⎞
x n + 1 = ⎜ xn + ⎟ n = 0, 1, 2, ...
2⎝ xn ⎠
Assim, dado o valor x0, podemos, através da expressão anterior, gerar a
seqüência de soluções aproximadas x1, x2, ...
Dado que a propriedade de convergência da seqüência de aproxi-
mações esteja estabelecida e uma tolerância pré-fixada ε foi definida para o
cálculo de uma raiz da equação f(x) = 0, podemos verificar, de forma absolu-
ta, se a seqüência de aproximações atingiu a precisão anterior ε, realizando
o seguinte teste:
Se xn + 1 − xn ≤ ε for verdadeiro, dizemos que xn+1 é a raiz da equação
f(x) = 0 com tolerância ε; caso contrário, devemos calcular outro elemento da
seqüência. Podemos de forma alternativa realizar o seguinte teste:
xn + 1 − xn
Se ≤ ε for verdadeiro, concluímos que xn+1 é a raiz da equação
xn + 1
com a tolerância ε e, em caso contrário, devemos proceder ao cálculo de outro
termo da seqüência. No primeiro teste, usamos Eabs e no segundo Erel.

1.8 Erro de truncamento


Quando representamos uma função através de uma série infinita e, por limi-
tações do sistema de armazenamento de dados do equipamento, considerar-
mos apenas um número finito de termos, dizemos que estamos cometendo um
erro de truncamento.
Erros em Processos Numéricos 13

Exemplo 1.13
a) Consideramos a representação de uma função f(x) utilizando a Série
de Taylor, nas vizinhanças do ponto x:
(x − x ) ( x − x )2 ( x − x )n
f(x) = f(x) + f(1) (x) + f(2) (x) + ... + f(n) (x) + ...
1! 2! n!
onde f(n) (x) é o valor da n-ésima derivada da função f(x) no ponto x.
Quando truncamos a série no 3o termo, isto é, considerando apenas
os termos até a derivada de ordem 2, na expressão anterior, temos um
erro cometido nesta aproximação, como segue:
(x − x ) ( x − x )2
f(x) ≅ f(x) + f(1) (x) + f(2) (x)
1! 2!
b) Consideremos o desenvolvimento de f(x) = ex em Série de Taylor,
isto é:
x2 x3 xn
ex = 1 + x + + + ... + + ...
2! 3! n!
ou, de forma compacta:

xn
ex = ∑
n=0
n!
Suponha que o equipamento utilizado para trabalhar numericamente
com a série seja capaz de armazenar somente dados referentes aos 4 primeiros
termos, isto é:
x2 x3
ex ≅ 1 + x + +
2! 3!
Neste caso, desprezamos todos os termos de potência maiores que 4,
isto é, truncamos a série no termo de potência de ordem 3.
Destacando os quatro primeiros termos da série, podemos escrevê-la
da seguinte maneira:

ex = (
1 3
6
x + 3 x2 + 6 x + 6) +
xn
n! ∑
n=4

Vamos supor que desejamos calcular o valor de ex para x = 2 usando


apenas os quatro primeiros termos da série, isto é, a série truncada.
Neste caso, temos e2 = 6.33333, que é um valor com erro absoluto bem
significativo quando comparado com o valor e2 = 7.38906 obtido numa calcu-
ladora científica que armazena uma quantidade maior de termos da série.
14 Cálculo Numérico

1.9 Propagação dos erros


Quando desenvolvemos ou utilizamos um processo numérico para buscar a so-
lução de um determinado problema, normalmente o processamento envolve um
número muito grande de operações elementares. Assim, na maioria das vezes, o
erro cometido em uma operação isolada pode não ser muito significativo para a
solução do problema que estamos tratando, mas sim, é necessário analisar como os
erros se propagam quando tratamos com muitas operações no processamento.
Neste caso, é fundamental termos o conhecimento da forma com que
estes erros estão se propagando, isto é, caso estejam se acumulando a uma
taxa crescente, dizemos que o erro é ilimitado, e a seqüência de operações é
considerada instável.
Se, por outro lado, os erros estão se acumulando a uma taxa decres-
cente, dizemos que o erro é limitado e, portanto, a seqüência de operações
é considerada estável.
Podemos visualizar, através da Figura 1.3, as situações de erros ilimi-
tado e limitado:

a) b)

Figura 1.3

Exemplo 1.14
Usando aritmética de ponto flutuante de 4 dígitos, base decimal e arredon-
damento por corte, calcule o valor da seguinte soma:
4
S= ∑ (x
i=1
i + yi ), sendo xi = 0.46709 e yi = 3.5678

Para i = 1, na aritmética definida, realizamos inicialmente a operação


que resulta no seguinte valor aproximado:
S1 = (x1 + y1 ) = 0.4034 × 101
Calculando o erro absoluto, temos:
Eabs1 = 4.03569 − 4.034 = 0.00169 = 0.169 × 10−2
Erros em Processos Numéricos 15

Para i = 2, realizamos a operação que resulta no seguinte valor aproximado:


S2 = (x1 + y1 ) + (x2 + y2 ) = 0.8068 × 101,
cujo erro absoluto é dado por:
Eabs 2 = 8.07138 − 8.068 = 0.00338 = 0.338 × 10−2
Observe que, ao realizarmos a mesma operação de adição por duas vezes,
cometemos um erro absoluto significativamente maior.
Para i = 3, realizamos a operação que resulta no seguinte:
S3 = (x1 + y1 ) + (x2 + y2 ) + (x3 + y3 ) = 0.1210 × 102
cujo erro absoluto é dado por:
Eabs 3 = 12.10707 − 12.10 = 0.00707 = 0.707 × 10−2
Para i = 4, repetindo o mesmo procedimento, obtemos o seguinte valor
para a soma:
S4 = 0.1613 × 10 2,
que apresenta o seguinte erro absoluto:
Eabs 3 = 16.14276 − 16.13 = 0.01276 = 0.12767 × 10−1
Como podemos observar, na medida em que aumentamos o número de
parcelas na operação de adição, considerando a aritmética definida anterior-
mente, aumentamos também o erro absoluto cometido na soma final. Desta
forma, a seqüência de operações pode tornar-se instável, conforme gráfico
na Figura 1.3 a).
Exemplo 1.15
Para resolver a equação f ( x ) = x 2 − a = 0 , com a > 0, podemos utilizar o
seguinte processo iterativo:
1⎛ a ⎞
x n +1 = x + , para n = 0, 1, 2, ...
2 ⎜⎝ x n ⎟⎠
n

Neste procedimento, em cada iteração estão envolvidas as operações


de adição, multiplicação e divisão, que são repetidas até que se calcule o valor
aproximado xn para solução da equação com uma precisão ε desejada.
Desta forma, se o valor final xn está sujeito a um determinado tipo de
erro, a cada iteração realizada este erro pode se propagar ao longo do pro-
cesso. Se este procedimento convergir para a solução x da equação, apesar
dos erros cometidos, temos que a seqüência de operações se torna estável,
conforme gráfico da Figura 1.3 b).
16 Cálculo Numérico

Exercícios
1. Representar na base binária os seguintes números decimais:
a) 13
b) 29.75
c) 17.6
d) 0.46875

2. Represente o número decimal (0.2) na base binária com 4, 8, 12 e 16 dígitos.

3. Considerando que a base 16 é representada através dos dígitos 0, 1, 2, 3,


4, 5, 6, 7, 8, 9, A, B, C, D, E, F, represente:
a) (27D)16 na base decimal
b) (27D.9)16 na base decimal
c) (32.E.32)16 na base decimal

4. Representar os seguintes números na forma normalizada


a) (100)10
b) (0.0158)10
c) (101)2

5. Representar os seguintes números na base binária na forma normalizada


a) (0.1875)10
b) (25.75)10
c) (437)8

6. Represente na reta os positivos exatamente representáveis do sistema de


ponto flutuante normalizado SPF(3, 2, –1, 2).

7. Considere o sistema de ponto flutuante normalizado SPF = SPF (2, 4, –1, 2)


de base 2, 4 dígitos na mantissa, menor expoente –1 e maior expoente 2.
Para este sistema:
a) Qual é o menor positivo exatamente representável?
b) Qual é o maior positivo exatamente representável?
c) Quantos são os exatamente representáveis positivos?
d) Qual é o número total de reais exatamente representáveis?
e) Represente na reta todos os positivos exatamente representáveis.
f) Defina as regiões de overflow e de underflow.

8. No sistema de ponto flutuante normalizado SPF (2, 3, –1, 2), represente,


em cada caso, o valor arredondado e o arredondado por corte (truncado)
das seguintes operações:
a) 0.101 × 2 0 + 0.110 × 2 − 1
b) 0.101 × 2 0 + 0.111 × 21
c) 0.111 × 2 0 × 0.110 × 2 − 1
Erros em Processos Numéricos 17

9. Considere o sistema de ponto flutuante normalizado SPF (3, 2, –1, 2), de


base 3, 2 dígitos na mantissa, menor expoente igual a –1 e maior expoen-
te 2. Para este sistema, temos que:
1
a) x = e y = 5 são exatamente representáveis. Verifique se x + y é
9
exatamente representável em SPF.
4
b) x = e y = 1 são exatamente representáveis. Verifique se x + y é
3
também exatamente representável em SPF.
10. Considere um equipamento cujo sistema de ponto flutuante normali-
zado é SPF (2, 10, –15, 15), de base 2, 10 dígitos na mantissa, menor ex-
poente –15 e maior expoente 15. Para este sistema:
a) Qual o menor positivo exatamente representável?
b) Qual é o próximo positivo, depois do menor positivo representável?
c) Transforme o menor positivo e o próximo para a base decimal.
d) Verifique se existem reais entre o menor e o próximo positivo. Comente.
e) Qual o maior positivo exatamente representável?
f) Quantos são os exatamente representáveis positivos?
Cálculo Numérico
Sobre os autores Outras Obras

Selma Helena de Vasconcelos Arenales Álgebra Linear


Professora do Departamento de Mate- David Poole
mática da Universidade Federal de São Car-
los-UFSCar. Graduada em Matemática pela
Análise Numérica
Universidade Estadual Júlio Mesquita Filho
(Unesp) e mestre em Matemática Aplicada Richard L. Burden e

Cálculo J. Douglas Faires


pela Universidade Estadual de Campinas
(Unicamp). Possui experiência na área de
Matemática, com ênfase em matemática
Selma Arenales
aplicada, atuando em projetos de pesquisa e
orientação de alunos nas áreas de Otimiza-
ção e Análise Numérica, com enfoques na
Numérico Artur Darezzo
Cálculo – Volumes I e II –
5ª edição
James Stewart

Aprendizagem com apoio de software


modelagem de problemas e métodos numé- Aprendizagem com apoio de software
ricos de resolução. Tem publicado trabalhos
em congressos em ensino de Matemática, Pré-Cálculo
principalmente no ensino de Cálculo Numé- Este livro foi projetado e escrito com o objetivo de oferecer aos estudan-
rico com ferramentas computacionais. tes de ciências exatas um material didático, simples e de fácil entendimento Valéria Zuma Medeiros (Coord.)
dos tópicos de um curso básico de Cálculo Numérico, de um semestre, nas
instituições de ensino superior. Vetores e Matrizes: Uma

Cálculo
Artur Darezzo Filho Os métodos numéricos são desenvolvidos para resolução de sistemas introdução à álgebra linear –
lineares e não-lineares, equações, interpolação polinomial, ajuste de fun- 4ª edição revista e ampliada
Licenciado em Matemática pela Facul-
dade de Filosofia, Ciências e Letras de Rio ções, integração numérica e equações diferenciais ordinárias, acompanha- Nathan Moreira dos Santos,
Claro – SP (1971), mestre em Ciências da dos de exemplos resolvidos em detalhes. Exercícios são propostos no final de Doherty Andrade e
Computação e Estatística – opção computa- cada capítulo com diversos graus de dificuldade para fixação do conteúdo. Nelson Martins Garcia

Numérico
ção – pela Universidade de São Paulo – USP,
O livro é acompanhado de um CD com o Software Numérico, desen-
São Carlos (1978), doutor em Engenharia
Civil pela Universidade de São Paulo – USP, volvido pelos autores, que serve de apoio ao ensino/aprendizagem de tópi-
São Carlos (1996). Desde 1972 é professor cos básicos de Cálculo Numérico, no qual conceitos e resultados dados em
vinculado ao Departamento de Matemática sala de aula são reforçados em aulas de exercícios nos laboratórios compu-

Artur Darezzo
Selma Arenales
da Universidade Federal de São Carlos, onde
exerceu as funções de docente, pesquisador
tacionais.
na área de Modelagem Matemática e Méto-
dos Numéricos e coordenador do curso de Aplicações
Matemática. A partir do ano de 2001, como
professor aposentado, passou a ser professor Livro-texto para as disciplinas de cálculo numérico nos cursos de gra-
Aprendizagem com apoio de software
convidado voluntário no mesmo Departa- duação das áreas de ciências exatas e tecnológicas.
mento de Matemática até a presente data.
Foi também professor e coordenador do
curso de Matemática Aplicada e Computa-
cional do Centro Universitário Central Pau-
lista – Unicep – São Carlos (SP). Atualmente
exerce as funções de Diretor Acadêmico da
Escola Superior de Tecnologia e Educação de
Rio Claro, Rio Claro – SP. Para suas soluções de curso e aprendizado,
visite www.cengage.com.br