Você está na página 1de 376

Sobre os autores

Selma Helena de Vasconcelos r\renales

Pnifrssor;1 do llepart.1mcntl1 dr Matf­

rn;ít ic;1 d;1 llnivrrsidadc írdrr;1l de S.lo Cir­ it1s-LIFS(;1r. Cr;1du;1d;1 cm Matl'm;ític;1 pda llniwrsid;1dc Estadual Júlio l'vksquit;1 filho (llncsp) r mcstrr em Matemática r\plicada peb Universidade Estadual de Crn1pinas (Llnil";1mp). Possui experiência na <ÍrTa de

111atl'111;1tica

;1plicada, ;1tu;1 11do cm p rojetos de pesquisa e oricnt1ç;'io de alunos nas áre;1s de Otimiza­ \'<'io e 1\nálisc Numfrica, com enfoques na nllldd;1gem de p rnhlrmas e métodos numé­ rin1s de resol.lo . Tem puhlic;1do trabalhos cm rongn·ssos cm ensino de M;1temática,

principalmente no ensino de Cálculo Numl�­ rico com ferramentas computacion;1is.

M;llcm;ítir;1,

com

ênfase

em

Artur Darezzo Filho

Licrnciado cm Matcmátira pela íanrl­

d<tdc

liam - SP (1971 ), mestre cm Ciências da Cl1111pu t aç.10 e Estatística - opç.lo computa­ ç;fo - pela Universidade de S.lo Paulo - LISP, S;'ill Carlos (197B), doutor cm Engenharia Civil pda Universidade de S.lo Paulo - LISP, S.lo Carlos (1996). Desde 1972 é professor

Rio

de

Filosofia,

Cirnrias

e

Lrtras

de

vinculado ao Departamento de Matemática da Universidade Federal de S.lo Carlos, onde exerceu as funções de docente, pesquisador

de Modrlagcm Matr rnátirn e Méto­

na área

l'\uméricos e coordenador do curso de

dos

Matemática . A partir do ano de 2001, como pnikssor aposentado, passou <1 ser professor n1nvidado voluntário no mesmo Departa­

mento de Matemátim até a

foi também professor e coordenador do

curso de Matrm<Íl ie<1 Aplic;ida e Com puta­ cional do Centro Llnivcrsit<'irio Centrnl Pau­

lista - Linicrp - S<'io Carlos (SP). Atualmente

presente

data.

exerce

as

furn,;(ks
furn,;(ks

de

Diretor

Acadêmico

da

Esrol;1

Superior de

Tecnologia e

Rio Claro, Rio Claro

SI�

Educaç;'io

de

Dados

Internacionais

(c&mara

ci.

Cataloqação

Livro,

Brasileira

do

na

SP,

Publicação

Brasil)

(CIP)

Arenales, Selma Cálculo numérico : aprendizagem com apoio de software I Selma Arenales, Artur Darezzo.
Arenales,
Selma
Cálculo
numérico
:
aprendizagem
com
apoio
de
software
I
Selma
Arenales,
Artur
Darezzo.
SAo
Paulo
:
Thomson
Learning,
2008.
Bibliografia
ISBN
978-85-221-0602-8
1.
Cálculo
numérico
2.
Cálculo
numérico
-
Problemas,
exercicios
etc.
I.
Darezzo,
Artur.
II.
Titulo.
07-6796
CDD-515.07
exercicios etc. I. Darezzo, Artur. II. Titulo. 07-6796 CDD-515.07 1. Cálculo numérico : Estudo e ensino

1.

Cálculo

numérico

:

Estudo

e

ensino

515. 07

Cálculo Numérico Apren d izagem com Apoio de Software Selma Arenales Artur Darezzo THOMSON •

Cálculo Numérico

Apren d izagem com Apoio de Software

Selma Arenales Artur Darezzo

THOMSON

•

Austrália

Brasil

Canadá

Cingapura

Espanha

Estados Unidos

México

Reino Unido

Gerente Editorial:

Patricia La Rosa-

Editora de

Desenvolvimento:

Ligia Cosmo Cantarelli

Supervisor de Produção Editorial:

Fábio Gonçalves

Copyright © 2008 de Thomson Learning Edições Ltda., uma divisão da Thomson Learning, lnc. Thomson Learning™ é uma marca registrada aqui utilizada sob licença.

Impresso no Brasil

Printed in Brazil.

1 2 3 4

10 09 08

Condomínio E-Business Park Rua Werner Siemens, 111 Prédio 20 - Espaço 03 Lapa de Baixo - CEP 05069-900 São Paulo - SP Tel.: (11) 3665-9900 Fax: (11) �665-9901 sac@thomsonlearning.com.br www.thomsonlearning.com.br

THOMSON

•

Produtora Editorial:

Renata Siqueira Campos

Supervisora de Produção Gráfica:

Fabiana Alencar Albuquerque

Copidesque:

Sueli Bossi da Silva

Todos os direitos reservados. Nenhuma parte deste livro poderá ser reproduzida, sejam quais forem os meios empregados, 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 nQ 9.610, de 19 de fevereiro de 1998.

Revisão:

Gisele Múfalo

Composição:

Segmento & Co. Produções Gráficas Ltda.

Capa:

Eduardo Bertolini

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 I Seima Arenales, Artur Darezzo. -- São Paulo :

Thomson Learning, 2008. Bibliografia ISBN 978-85-221-0602-8

1. Cálculo numérico 2. Cálculo

numérico - Problemas, exercícios etc. 1. Darezzo, Artur. li. Título. 07-6796 CDD-515.07

lndice para catálogo sistemático:

1. Cálculo numérico : Estudo e

ensino 515.07

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ácío Agradecímentos IX X Capítulo 1 Erros em processos numéricos 1.1 Introdução 1 1.2

Sumário

Prefácío

Agradecímentos

IX

X

Capítulo 1 Erros em processos numéricos

1.1 Introdução 1

1.2 Erros na fase da modelagem

2

1

1

1.3 Erros na fase de resolução

2

1.4 Erros de representação

5

1.5 Erro de arredondamento

10

1.6 10

Erro relativo

1.7 11

Erro absoluto

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

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

3.3 Métodos numéricos para resolução de equações

3.4 Equações polinomiais

3.5 Sistemas de equações não lineares

3.6 Trabalhando com o software numérico

Exercícios

74

96

106

121

124

76

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.5 F ó r m u l a interpolatória de Newton 141 4.6 Interpolação inversa 148

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 Tr abalhando com o software numérico 182

Exercícios

185

Capítulo 5

Inte g raçã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)

6.3 Discretização 241

6.4 Métodos baseados em série de Taylor

6.5 Métodos de Runge-Kutta

6.6 Métodos previsor-corretor

6.7 Trabalhando com o Software Numérico

Exercícios

236

6.7 Trabalhando com o Software Numérico Ex ercícios 236 242 278 251 269 2 8 2

242

278

251

269

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

Prefácio Este livro foi projetado e escrito com o objetivo de oferecer aos estudantes de

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. Originada a partir de uma apostila, Notas de Cálculo Numérico, escrita pelos autores e pelos professores que ministravam a disciplina de Cálculo Numé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 Tecnologia da Universidade Fe­ deral de São Carlos - UFSCar. O livro é composto de sete capítulos contendo os principais tópicos abordados numa disciplina básica de Cálculo Numérico nas universidades, apresentando os métodos numéricos com desenvolvimento teórico e os res­ pectivos 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, conside­ rando 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 conceitos 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

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 Nu mérico, que contém um Arqu ivo 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 Soft ware Nu mé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 CentroUniversitá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 ProfessorDr.Marcos NereuArenales, 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

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íficopassa inicialmente por uma fase deobservaçãoeentendimento 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

2

Cálculo Numérico

Fase da Modelagem Fase da Resolução
Fase da Modelagem
Fase da Resolução

Solução para o Modelo Matemático

Problema Real

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

erros absolutos e relativos. 1.2 Erros na fase da modelagem São os erros decorrentes de simplificações,

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 errosprovenientes da utilização de algum equipamento, como, por exem­ plo, um computador, para processarmos os cálculosnecessá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:

de base e erros de representação, apresentados a seguir: Erros na mudança da base A maioria

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

onde a i E { o, 1, 2, 3,

Base binária

m

,(b-1)},

N 2 = Lªi x2 i , a i E {0,1} i=n

Nb = L ªi xb i i=n comnem inteiros.

Exemplo 1.1

a)(1011h = 1X2° + 1X2 1 + 0X22 + 1X2 3 Neste caso, o binário só tem a parte inteira, isto é, i = O, l, 2, 3, e temos:

a0 = l, a 1 = 1, a 2 = O, a 3 = 1 b)(111.01) 2 = 1X2 -2 + 0X2 -l + 1X2 º + 1X2 1 + 1X22 Neste 'Caso, o binário tem parte inteira e parte fracionária, isto é, n = -2 e m = 2, e portanto:

fracionária, isto é, n = - 2 e m = 2, e portanto: Base decimal m

Base decimal

m

N 10 = L ªi xlO i , ai E {O, 1, i=n

, 9 }, com nem inteiros.

Exemplo 1.2

a)( 231 ) 10 = 1X10° + 3X10 1 + 2X102 Neste caso, o número na base decimal é inteiro, i = O, 1, 2 e temos:

ª º = l, ª1 = 3, ª 2 = 2 b)(231.35) 10 = 5x10 -2 + 3x10 - 1 + lx10° + 3xl0 1 + 2x102 Neste caso, o número na base decimal tem parte inteira e parte fracionária, n = -2 e m = 2, e temos:

ª-2 = 5, ª -1 = 3, ª º = 1, ª1 = 3, ª 2 = 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­

a partir de adequação conveniente de seus coeficien­ tes ai= O, l, 2, 3, , (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) (1101h = 1X2° + o X2 1 + 1X22 + 1X2 3 = (13 ho

b) (111.011) 2 = 1X2 -3 + 1X2-2 + 0X2-l + 1X2° + 1X2 1 + 1X22 = (7.375) 1 0

Mudança decimaltem da somente base decimalpara a parte inteira) a base binária (número na base

a parte inteira) a base binária (número na base Procedimento: divisões sucessivas. O procedimento

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 (r 1 ). Desta forma, temos:

N 1 0 = (l, fn - v fn- 2 1 r n-3 1

, r 3 , rz, ri) 2

- v fn- 2 1 r n - 3 1 , r 3 , rz, ri)

Exemplol.4

a) (25)i0 = (llOOlh = 1x2° + Ox21 + Ox22 + 1x23 + 1x24, isto é:

25+2 = 12 e resto = 1,

12+2 = 6 e resto = O,

6+2 = 3 e resto = O

b)

(11) 1 0 = (1011h = 1X2° + 1 + 1X21 2 + 0X22 + 1X2 3 Mudança decimal tem da somente base decimalpara a parte fracionária) a base binária (número na base

3+2 = 1 e resto = l,

= O e resto = 1

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 multipli­ cada por 2.

d) O processo continua até que a parte fracionária seja nula.

Exemplo 1.5

a) (0.1875) 1 0 = (O.OOllh =Ox2-1 + Ox2-2 + 1x2-3 + 1x2-4 = (?'i6) 1 0, isto é:

(0.1875)(2) = 0.375 parte inteira = O e parte fracionária = 0.375

(0.375)(2) = 0.75

(0.75)(2) (0.5)(2) = = 1.0 1.5

parte inteira = O e parte fracionária = 0.75 parte inteira = 1 e parte fracionária = 0.5 parte inteira = 1 e parte fracionária = O

Erros em Processos Numéricos

5

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

e) (0.2)i0 = (0.001100110011 )i

Observe que (0.2h0 é uma dízima periódica de período (0.0011). Assim,

o decimal (0.2)i0 não tem uma representação binária exata, isto é, a represen­ tação é aproximada e, portanto, apresenta erro.

1 .4

Erros de representação

Na construção de um equipamento computacional, uma questão iffiportante

a ser considerada em sua arquitetura é a forma que será adotada para repre­

sentar 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:

o seguinte sistema de armazenamento de valores numéricos: Sistema de ponto flutuante normalizado Um número no

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 = mxbe x p

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

= ±O. d 1 , d 2 1

, d n

n e N

sendo n o número máximo de dígitos na mantissa, d 11 d 2 , .••, dn, dígitos significativos da mantissa, do sistema de representação, com o primeiro

dígito satisfazendo a condição 1 :5: d 1 :5: (b-1) e os demais dígitos satisfa­

zendo O :5: d i :5: (b-1); i = 2, 3, O expoente exp varia da seguinte maneira:

expmí n :5: exp :5: expmá x

sendo expmí n :5:O 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 representação do zero, constitui o sistema de ponto flutuante normalizado, que indicamos por SPF (b, n, expmírv expmáx>·

, n.

6

Cálculo Numérico

NR+

= mantissas+

X exp p

oss íveis

2

t +

t = (1X3

t

0X3 - )X3 -

0.10X3

-

-

=

Neste sistema, o zero é representado da seguinte maneira:

zero :0.0000

0

b

e xPmín

representado da seguinte maneira: zero :0.0000 0 b e xPmín n vezes Considerando o sistema de

n vezes

Considerando o sistema de ponto flutuante normalizado dado na forma genérica por SPF (b, n, exp míw ex p máx), temos:

a) O º menor positivo exatamente representável, não nulo, é o real for­ mado pela menor mant.issa multiplicada pela base elevada ao menor expoente, isto - é:

pela base elevada ao menor expoente, isto - é: menor = (0.1000 ( n - 1

menor = (0.1000 ( n-1) vezes

0)

"-,,.--'

b e xpmín

b) O maior positivo exatamente representável é o real formado pela maior mantissa multiplicada pela base elevada ao maior expoente, isto é:

maior = (0X (b - l] [b - 1]

(b - 1]) b e xpmáx

b - l] [b - 1] (b - 1]) b e x p m á x

n vezes

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

mantissas+ = ( b - 1) b n-I

d) O número máximo de expoentes possíveis é dado por:

exp possívei s = expmáx - expmí n + 1

e) O número de elementos positivos representáveis é dado pelo produto entre o número máximo de mantissas pelo máximo de expoentes, isto é:

Se considerarmos que dado um número real nr E SPF temos que -nr E SPF e a representação do zero, podemos concluir que o número total de elementos exatamente representáveis NRt é dado por:

NR 1 = 2xNR+ +1

Exem p lo 1.6

Considere o sistema de ponto flutuante SPF (b, n, ex p míni ex p má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:

9

Erros em Processos Numéricos

7

b) O maior exatamente representável:

Numéricos 7 b) O maior exatamente representável: e) A quantidade de· reais positivos exatamente

e) 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, -

Desta forma, os 24 positivos exatamente representáveis estão listados

a seguir:

1, 2.

exatamente representáveis estão listados a seguir: 1, 2. e x p = - 1: 0.10x3 -

exp = - 1: 0.10x3 - 1 = 1/9

exp = -

1: 0.llx3-

1

=

4
4

/27

exp

exp

= O: 0.10x3° = 1 /3

=

1:

0.10x3 1

=

1

exp

exp

= O:

=

1:

0.1 1x3° 0.1 1x3 1

=

=

4/9

4/3

exp

=

2:

0.10x3 2 = 3

 

exp

=

2:

0.1 1x3 2 = 4

exp

= -1: 0.12x3- 1 =5/27

exp

= - 1:

0.20x3 - 1 = 2/9

exp = O: 0.12x3°

= 5/9

exp =

O:

0.20x3°

= 2/3

exp

=

1:

0.12x3 1 =5/3

exp=

1:

0.20

X 3 1

=2

exp

=

2:

0.12x3 2 =5

exp=

2:

0.20

X

3 2

=6

exp = - 1: 0.21x3 - 1 = 7 / 27

exp = - 1:

0.22

X 3- l = 8/27

exp

exp

= O: 0.21x3°

=

1:

=

=

7 /9

7 /3

exp= O:

exp =

1:

0.22

0.22

X 3 0

X 3 1

= 8/9

= 8/3

exp =

2:

0.21x3 1 0.21x3 2 = 7

exp=

2:

0.22

X

3 2

=8

Observe que o menor real positivo representável é e o maior positivo representável é o real 8. Por outro lado, sabemos que se um real x E SPF então -x E 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:

mos que os representáveis de SPF pertencem ao conjunto: R = { x; x E [�

R = {x; x E [� , 8] u [- 8, - �J u { o }}

8

Cálculo Numérico

+oo)}

= {x; x

E (--oo,

U (8,

-8)

Over

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 anteriores constitui-se em uma mensagem de erro, isto é, Erro de Underflow, se a tentativa de representação satisfizer:

Under = { x; x e (- , o )u( o, )}

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 afasta­ mos da origem e que, aparentemente, não existe uma uniformidade na sua distribuição, como acontece com os representáveis do sistema de ponto fixo. 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.10X3-l, 0.11X3-l, 0.12X3-l, 0.20X3-l, 0.21X3-l, 0.22X3-l

0.10X3-l, 0.11X3-l, 0.12X3-l, 0.20X3-l, 0.21X3-l, 0.22X3-l são igualmente espaçados por h 3 = J 7 .

são igualmente espaçados por h 3 = J 7 . Os reais

0.10X3°, 0.11X3°, 0.12X3°, 0.20X3°, 0.21X3°, 0.22X3°

são igualmente espaçados por h 2 = �. Enquanto os reais

0.10X31, 0.11X31, 0.12X31, 0.20X31, 0.21X31, 0.22X31

são espaçados por h 1 = �. E os reais representados por

0.10x32, O.llx32, 0.12x32, 0.20x32, 0.21x32, 0.22x32

são igualmente espaçados por ho = 1. De modo geral, podemos representar o espaçamento entre os represen­ táveis exatamente da seguinte maneira:

entre os represen­ táveis exatamente da seguinte maneira: h i = � i ; i =

h i = i ; i = o, l, 2, 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:

(2, 3, -1, 2) pode ser visualizada através da Figura 1.2: o 1/4 5/8 718 1

o

1/4 5/8

718 1

5/4

7/4

2

5/2

3

7/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:

X = = (0.lOh X 3 -l e Y = 5 = (Q.12h X 32

são exatamente representáveis, no entanto, (x + y) = (0.0001 0h x32 + (0.12h x

32 = (0.1201h x32 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� e o sistema de ponto flutuante normalizado SPF (3, 2, -1, 2), temos:

de ponto flutuante normalizado SPF (3, 2, -1, 2), temos: Se X = � = (Q.12h

Se X = = (Q.12h X 3 1 , Y = ; 7 = (Q.21h X 3 -l e Z = = (Q.22h X 30

temos:

x+(y + z)= 0.22x3 1 e (x + y) + z = 0.21 x3 1

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 pontoflutuante 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.

Exem p lo 1.10

Consideremos um equipamento com o sistema de ponto flutuante normali­

zado SPF (b, n, ex p míw ex pmáx) = SPF (10, 4, -5, 5) .

= S P F ( 1 0 , 4 , - 5 , 5 ) .

a) Se a = 0.5324x10 3 e b = 0.4212x10 - 2 , então a x b = 0.22424688x10 1 , que é arredondado e armazenado como (a x b)a = 0. 2242x10 1

b) Se a= 0.5324x10 3 e b = 0.1237x10 2 , então a + b = 0. 54477x10 3 , que é arredondado e armazenado como (a + b)ª = 0. 5448x10 3 .

1.6 Erro absoluto

Definimos erro absoluto como

3 . 1.6 Erro absoluto Definimos erro absoluto como onde aex é o valor exato da

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:

tante superior para o erro, isto é, escrevê-lo na forma: onde E é um limitante conhecido.

onde E é um limitante conhecido. A desigualdade anterior pode ser entendida da seguinte maneira:

anterior pode ser entendida da seguinte maneira: ou ainda isto é, aa p rox é o

ou ainda

anterior pode ser entendida da seguinte maneira: ou ainda isto é, aa p rox é o

isto é, aa p rox é o valor aproximado da grandeza aex com erro absoluto não superior a E.

1.7 Erro relativo

Definimos erro relativo como:

E re l = 1�1= 1 a ex

a ex

- a ap rox 1

1 a ex 1

onde aex é o valor exato da grandeza considerada e aa p rox é 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:

E
E

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.

Exem p lo 1.11

a) Consideremos o valor exato ªex = 2345.713 e o valor aproximado aa p rox = 2345.000

Então,

Ea b s = 0.713

Erel

=

0.00030396

12

Cálculo Numérico

b) Consideremos o valor exato ª ex = 1.713 e o valor aproximado

aa p rox = 1.000

Então,

Er E a e bs l = = 0.416229 0.713

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.

Exem p lo 1.12

Para resolver a equação f(x) = x2 -a=O, com a > O, podemos utilizar o se­ guinte processo iterativo:

X n+l = �(Xn + �) n = O, l, 2,

Assim, dado o valor XQ, podemos, através da expressão anterior, gerar a seqüência de soluções aproximadas x11 x2, ••• Dado que a propriedade de convergência da seqüência de aproxi­ mações esteja estabelecida e uma tolerância pré-fixada E foi definida pará o cálculo de uma raiz da equação f(x) = O, podemos verificar, de forma absoluta, se a seqüência de aproximações atingiu a precisão anterior E, realizando o seguinte teste:

Se lxn+l -xnl �E for verdadeiro, dizemos que X n+l é a raiz da equação f(x) = O com tolerância E; caso contrário, devemos calcular outro elemento da seqüência e, de forma relativa, realizar o seguinte teste:

+ 1 é a raizda equação

com a tolerância E e, em caso contrário, devemos proceder ao cálculo de outro termo da seqüência.

j '
j
'

x " i Xn+ - l 1 x .j � E for verdadeiro, concluímos que

Se

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, conside­ rarmos apenas um número finito de termos, dizemos que estamos cometen­ do um erro de truncamento.

Erros em Processos Numéricos

13

f<I>( _ )

f( ) = f( -

)

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-x) + X i f<2>( _ ) (x-x)2 1 l . . 2
(x-x)
+
X
i
f<2>( _ ) (x-x)2
1
l .
.
2

+

+ f< >( _ )

n

X

(x -x t

I

n.

+···

onde t< n >(x) é o valor da n-ésima derivada da função f(x) no ponto x. Quando truncamos a série no 3Q 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:

f(x) = f(x)+f( l>(x)

(x -x)

(x - x)2

+t<2>(x)--
+t<2>(x)--

l

!

2!

b) Consideremos o desenvolvimento de f(x) =ex em Série de Taylor, isto é:

x2

x3

ex=l+x+-+-+

2!

3!

+-+ x n

n!

ou, de forma compacta:

� n � X e X
� n
X
e
X

= n=o �- 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 é:

somente dados referentes aos 4 primeiros termos, isto é: Neste caso, desprezamos todos os termos de

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:

1

ex = (; (x3+3 X2+6 X+6)+

n !
n
!

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 aso­ 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çãodoproblemaqueestamostratando, massim,énecessário analisarcomo 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:

Erro

Erro ilimitado o
Erro
ilimitado
o

iterações

a)

Erro

o
o

iterações

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 = L (xi + Yi), sendo xi = 0.46709 e Y i = 3.5678

i = 1

Para i = 1, na aritmética definida, realizamos inicialmente a operação que resulta no seguinte valor aproximado:

51 = (x1 + Y1 ) = 0.4034x10 1

Calculando o erro absoluto, temos:

Eabs l = j 4.03569 - 4.034j = 0.00169 = 0.169X10 - 2

Erros em Processos Numéricos

15

+ y2) = 0.8068x10 1 ,

+ y1 )

5 2 =

+

Parai = 2, realiz.amosaoperaçãoqueresultanoseguintevaloraproximado:

cujoerroabsolutoédadopor:

Eabs2 = 1 8.07138 - 8.068 1 = 0.00338 = 0.338X10 - 2

cometemosumerroabsolutosignificativamentemaior. Observeque,aorealizarmosamesmaoperaçãodeadiçãoporduasvezes, Parai= 3,realizamosaoperaçãoqueresultanoseguinte:

53 = (x1 + Y1) + (x2 + y2) + (x3 + y3) = 0.1210x10 2

cujoerroabsolutoédadopor:

Eabs3 = 1 12.10707 - 12.10 1 = 0.00707 = 0.707x10 - 2

0 . 0 0 7 0 7 = 0 . 7 0 7 x 1 0

paraasoma: Parai = 4, repetindoomesmoprocedimento,obtemososeguintevalor queapresentaoseguinteerroabsoluto:

Eabs3 = 1 16.14276 - 16.13 1 = 0.01276 = 0.12767X10 -l

mente,aumentamostambémoerroabsolutocometidonasomafinal.Desta parcelasnaoperaçãodeadição,considerandoaaritméticadefinidaanterior­ naFigura forma,aseqüênciadeoperaçõespodetomar-seinstável,conformegráfico Comopodemosobservar,namedidaemqueaumentamosonúmerode 1.3 a). seguinteprocessoiterativo: Pararesolveraequação f( x) = x 2 - a = O , coma > O,podemosutilizaro

Exemplo 1.15

a = O , coma > O, podemos utilizar o Exemplo 1.15 Xn+I .!.(xn + �J,paran

Xn+I .!.(xn + �J,paran

=

2

= O, l, 2,

deadição,multiplicaçãoedivisão,quesãorepetidasatéquesecalculeovalor aproximado Nesteprocedimento,emcadaiteraçãoestãoenvolvidasasoperações Destaforma,seovalorfinal Xn parasoluçãodaequaçãocomumaprecisão Xn Xn estásujeitoaumdeterminadotipode E desejada.

erro,acadaiteraçãorealizadaesteerropodesepropagaraolongodopro­ cesso. doserroscometidos,temosqueaseqüênciadeoperaçõessetomaestável, Se esteprocedimentoconvergirparaasolução x daequação,apesar conformegráficodaFigura 1.3 b).

16

Cálculo Numérico

Exercícios

1. Representarnabasebináriaosseguintesnúmerosdecimais:

a) 13

b) 29.75

c) 17.6

d) 0.46875

2. Representeonúmerodecimal (0.2) na basebináriacom 4, 8, 12e 16dígitos.

3. 4, Considerandoqueabase 5, 6, 7, 8, 9, A, B, C,D, E, 16 F,represente: érepresentadaatravésdosdígitos O, l, 2, 3,

b) c) a) (27 (27Dh (32.E.32h 0.9) 6 1 nabasedecimal 6 nabasedecimal 6 nabasedecimal

4. Representarosseguintesnúmerosnaformanormalizada

a) (100ho

b) (0.0158h0

c) (101h

5. Representarosseguintesnúmerosnabasebinárianaformanormalizada

a) (0.1875h0

b) (25.75h0

c) (437) 8

6. Representenaretaospositivosexatamenterepresentáveisdosistemade

'

7. pontoflutuantenormalizadoSPF(3, debase ConsidereosistemadepontoflutuantenormalizadoSPF Paraestesistema: 2, 4 dígitosnamantissa,menorexpoente 2, -1, 2). -1 emaiorexpoente = SPF (2, 4, -1, 2) 2.

b) a) c) Qualéomaiorpositivoexatamenterepresentável? Qualéomenorpositivoexatamenterepresentável? Quantossãoosexatamenterepresentáveispositivos?

d)Qualéonúmerototaldereaisexatamenterepresentáveis?

e) f) Definaasregiõesdeoverflowedeunderflow. Representenaretatodosospositivosexatamenterepresentáveis.

8. emcadacaso,ovalorarredondadoeoarredondadoporcorte(truncado) NosistemadepontoflutuantenormalizadoSPF (2, 3, -1, 2), represente,

dasseguintesoperações:

0.101X2º

a) +

0.110X2 -l

0.101 X2º

b) + 0.1 11 X2 1

Erros em Processos Numéricos

17

9.

base ConsidereosistemadepontoflutuantenormalizadoSPF 3, 2dígitosnamantissa,menorexpoenteiguala-1emaiorexpoen­ (3, 2,-1,2),de te2.Paraestesistema,temosque: exatamenterepresentávelemSPF. x = _!_ e y = 5 sãoexatamenterepresentáveis.Verifiquese x + y é

tambémexatamenterepresentávelemSPF. x = 4 e y = 1 sãoexatamenterepresentáveis.Verifiquese x + y é

10. zadoéSPF(2, poente Considere -15emaiorexpoente um 10, equipamentocujosistemadepontoflutuantenormali­ -15, 15),debase2,10dígitosnamantissa,menorex­ 15.Paraestesistema:

a)

b)

9

3

a)

Qualéopróximopositivo,depoisdomenorpositivorepresentável? Qualomenorpositivoexatamenterepresentável? Transformeomenorpositivoeopróximoparaabasedecimal. f) Quantossãoosexatamenterepresentáveispositivos? Qualomaiorpositivoexatamenterepresentável?

b)

c)

d)Verifique se existem reaisentreomenoreopróximopositivo.Comente.

e)

Capítulo 2 Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas 2.1 Introdução Apresentamos

Capítulo 2

Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas

2.1 Introdução

de Equações Lineares e Matrizes Inversas 2.1 Introdução Apresentamos neste capítulo o desenvolvimento de algoritmos

Apresentamos neste capítulo o desenvolvimento de algoritmos computacio­ nais para calcular a solução única de sistemas de equações lineares através de métodos diretos de decomposição e eliminação, métodos iterativos e es­ quemas numéricos para o cálculo de matrizes inversas através da aplicação de métodos diretos. Posteriormente, apresentamos noções sobre condiciona­ mento de sistemas. Finalmente, apresentamos algumas aplicações que envolvem a resolu­ ção de um sistema de equações lineares.

2.2 Sistemas de equações lineares

Considere o sistema linear Ax = b, onde A = (ai j ) i, j = 1,

, Representamos o sistema da seguinte forma:

b = (bi)t i = 1,

, n x = (xi)t j = 1,

n e det (A) '*O (garantia de solução única).

ª11 X1 + ª12 X + + 2 = b 1 ··· ª21 X1 +
ª11 X1
+
ª12
X
+
+
2
=
b 1
···
ª21 X1
+ ª22 X 2
+
ª1n Xn
+ ª2n Xn
=
b 2

Na forma matricial:

a11 a1 2 a 2 1 ª2 2 ··· a ln ••• ª2 n X1
a11
a1 2
a 2 1
ª2 2
··· a ln
••• ª2 n
X1
b1
X 2
b 2

, n

20

Cálculo Numérico

L

i = b i

i = 1, 2,

a ii x

, n

Ainda, pode ser escrito de forma compacta, da seguinte maneira:

n

j=l

Resolver o sistema dado consiste em determinar um vetor x = (xv x21 •••, xn)t que satisfaça todas as equações simultaneamente. Graficamente, no 9t 2 , podemos representar a solução de um sistema considerando o seguinte exemplo:

{-X1 +2X 2 = 3

X 2 =3

X1 +

det(A):;t:O

Observe que a solução x = (1, 2) encontra-se na intersecção das duas retas, conforme Figura 2.1:

3
3

Figura 2.1

Definição 2.1

Dizemos que o sistema Ax = b, onde A = (ai j ) i, j = l,

e b = (bi)t i = 1,

contrário dizemos que o sistema é inconsistente.

, n

, n é consistente se apresenta pelo menos uma solução, caso

, n x = (x i )t j = l,

Definição 2.2

Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas

21

Observação

Um sistema homogêneo é sempre consistente uma vez que o vetor nulo é sempre solução deste sistema. Procuraremos resolver sistemas consistentes através de métodos diretos

iterativos cuja solução seja não nula. Para isso, consideramos sempre o vetor dos termos independentes b = (bi)t * O i = 1,

e

, n.

2.3 Métodos diretos

Consideramos Ax = b um sistema de equações lineares onde matriz dos

coeficientes é A=(ai i ) i,j

Xn)t

é caracterizado por fornecer a solução exata para o sistema dado, não fossem

os erros provenientes do processamento do algoritmo em um equipamento

computacional.

= 1,

,n

b

= (bi) t

i = l,

, n e det(A) * O.

Um método direto ou exato para calcular o vetor solução x = (xv x0

,

2.3.1 Sistema triangular inferior

, n,

um sistema de equações lineares onde a matriz dos coeficientes é triangular

inferior, isto é, os seus coeficientes (li i ) =O sempre que i < j e com lii '# O

Considere Lx = b com L = (li j ) i,

j = 1,

,

n

b = (bi) t i = l,

, n e x = (Xj)t j = 1,

i = 1,

,

n.

Podemos escrever:

= ( Xj ) t j = 1, i = 1, , n. Podemos escrever: Para

Para construir o algoritmo que calcula a solução do sistema destacamos

a linha genérica ( i ), isto é:

o algoritmo que calcula a solução do sistema destacamos a linha genérica ( i ), isto

Podemos, então, escrever:

o algoritmo que calcula a solução do sistema destacamos a linha genérica ( i ), isto

22

Cálculo Numérico

ou,

(i - 1)

(b i - j=l I l ijxj)

Cálculo Numérico ou, (i - 1) (b i - j=l I l i jxj) Xi =

Xi = ---'-----

l ii

Temos, assim, o seguinte algoritmo:

Algoritmo 2.1

l ii Temos, assim, o seguinte algoritmo: Algoritmo 2.1 Para i = 2, , n, faça

Para i = 2,

, n, faça

(i - 1)

(b i - I i= l ijxj)

1 Xi = --�---
1
Xi = --�---

l

ii

Exem p lo 2.1

Calcule a solução do seguinte sistema de equações lineares:

a solução do seguinte sistema de equações lineares: Usando o algoritmo anterior temos: X3 = b3
a solução do seguinte sistema de equações lineares: Usando o algoritmo anterior temos: X3 = b3

Usando o algoritmo anterior temos:

de equações lineares: Usando o algoritmo anterior temos: X3 = b3 - l3 1X1 - l3
de equações lineares: Usando o algoritmo anterior temos: X3 = b3 - l3 1X1 - l3

X3

=

b3 - l3

1X1

-

l3

2X2

_ 0-1(1)-1(-1)

133

1

=O

Portanto, temos a solução do sistema:

x =(l, -1, 0) 1

alução Numérica de Sistemas de Equações Lineares e Matrizes Inversas

23

2.3.2 Sistema triangular superior

, n,

um sistema de equações lineares onde a matriz dos coeficientes é triangular su­ perior, isto é, os seus coeficientes (uij) = O sempre que i > j e com uii -:t:- O i = l,

, n.

Considere Ux = y com U = (uii) i, j = l,

,

n

y = (yi)t i = l,

n

e

x = (xi)t j = 1

Podemos, então, escrever:

U11 X1

+

U12 X2

+

+

U1n Xn

= b1

 

= b2

 

+ U22 X2

+

+ U2n Xn

 

+ Unn Xn

= bn

Para a construção do algoritmo que calcula a solução do sistema, desta­ camos a linha genérica ( i ), isto é,

desta­ camos a linha genérica ( i ) , isto é, ou, na forma compacta, Algoritmo

ou, na forma compacta,

genérica ( i ) , isto é, ou, na forma compacta, Algoritmo 2.2 Para i =

Algoritmo 2.2

( i ) , isto é, ou, na forma compacta, Algoritmo 2.2 Para i = (n

Para i = (n - 1), (n - 2),

, 1 faça

(bi -

n

L

u ii x i )

j = (i+l)

(n - 2), , 1 faça (bi - n L u i i x i )

(bi -

n

L

j = (i+l)

u

ii

x i )

- n L u i i x i ) j = (i+l) (bi - n L

Exem p lo 2.2

Calcule a solução do seguinte sistema de equações lineares:

= (i+l) (bi - n L j = (i+l) u i i x i ) Exem

24

Cálculo Numérico

Usando o algoritmo anterior, temos:

4 Cálculo Numérico Usando o algoritmo anterior, temos: x 2 = b2 - u2.3x3 U22 2-(-1)(0)

x2 = b2 - u2.3x3

U22

2-(-1)(0)

2

1

anterior, temos: x 2 = b2 - u2.3x3 U22 2-(-1)(0) 2 1 Portanto, temos a solução

Portanto, temos a solução do sistema:

x = (1, 1, O)t

Observação

Sabemos que o Esforço Computacional Ec de um algoritmo é a quantidade de operações elementares necessárias para calcular a solução do problema para o qual foi desenvolvido. No caso da solução de um sistema triangular superior ou inferior de or­ dem (n), o esforço computacional dos Algoritmos 2.1 e 2.2 é Ec = n 2 operações

de ad"1çao-

e ementares sen o n

n ( n - l)

2

1

d

(

)

-

operaçoes

d

e

d" 1v1sao,

·

-

operaçoes-

.

(

ou su traçao e

b

-

)

n ( n - l)

2

operaçoes- de multi"pl"1caçao-

.

Assim, por exemplo, na resolução de um sistema de equações lineares de ordem n = 10, cuja matriz dos coeficientes é triangular superior ou infe­

rior, estão envolvidas 10 operações de divisão, 45 operações de multiplicação

e outras 45 operações de adição ou subtração, sugerindo um esforço compu­

tacional de 100 operações elementares. Experiências computacionais demonstram que o tempo computacional envolvido nessas operações é pequeno, tornando os sistemas triangulares bastante atrativos.

2.3.3 Métodos de decomposição

Como observamos anteriormente, sistemas de equações lineares cuja ma­ triz dos coeficientes possui a característica triangular inferior ou superior apresentam um "pequeno" esforço computacional para a obtenção de sua solução.

Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas

25

Este fato nos motiva a buscar formas para que um sistema de equações lineares Ax = b possa ser resolvido através da solução de sistemas com caracte­ rística triangular permitindo, assim, a utilização dos Algoritmos 2.1 e 2.2.

Definição 2.3

Denomina-se "menores principais" de ordem k de uma matriz A=(ai i ),

i, j = 1,

, n por:

d k = det(A k ), onde Ak = (ai j ) i, j = l, linhas e k primeiras colunas de matriz A.

,

k é formada pelas k primeiras

Exemplo 2.3

Considere a seguinte matriz:

pelas k primeiras Exemplo 2.3 Considere a seguinte matriz: Cálculo dos menores principais: Ó 1 =

Cálculo dos menores principais:

Ó 1

= 2

ô 2 = 6

Ó 3 = o

menores principais: Ó 1 = 2 ô 2 = 6 Ó 3 = o Método de

Método de decomposição LU

Te orema 2.1

Considere A= (ai i ) i, j = l,

, n. Se os menores principais de A, ói * O,

, matriz triangular inferior L=( li j ) i, j = 1,

i = 1, 2, n - l, então A se decompõe, de maneira única, no produto de uma

, n, com lii = 1, por uma matriz

triangular superior U = (ui j ) i, j = l,

, n. Além disso, det (A) = det (U) = IJ ufr i = l

n

Prova: indução finita

a)

Para n = 1

= l, temos

que u11 é univocamente determinado, isto é, u 11 = a 11 Logo A= L U, de maneira única.

b) Suponhamos que a decomposição seja verdadeira para uma matriz A

Te mos que A =

[ a 11

], L

=

[ 111 ]

e

U =

[ u

11

]. Como

1

11

que A = [ a 11 ], L = [ 111 ] e U = [

de ordem n = (k - 1), isto é, A

k-l

=

L

k-1

U

k-1

·

e) Provaremos que a decomposição é verdadeira para uma matriz A de ordem n = k.

26

Cálculo Numérico

Particionamos a matriz A em submatrizes da seguinte maneira:

a matriz A em submatrizes da seguinte maneira: o n d e A k - 1

onde A k-1 k-I é uma matriz de ordem (k - 1 x k - 1), s é um vetor coluna com (k-1) componentes e r é um vetor linha também com (k - 1) componentes. De modo análogo, particionamos as matrizes L e U, isto é:

modo análogo, particionamos as matrizes L e U, isto é: u = [ u k-1 O
modo análogo, particionamos as matrizes L e U, isto é: u = [ u k-1 O

u

= [ u k-1

O

Y

u kk

]

O produto da matriz L pela matriz U resulta na seguinte matriz:

LxU =

[ L k - 1 U k-1

X

U k-1

na seguinte matriz: LxU = [ L k - 1 U k-1 X U k-1 Para

Para provar que a decomposição é verdadeira para a matriz A de ordem

n = k, isto é, que A = LU, univocamente, é necessário determinar x, y e ukk de maneira única. Para isso basta considerar a igualdade entre as matrizes

[ ] A k-1 s = [ L k-1 U k-1 r akk X U
[
]
A k-1
s
= [ L k-1 U k-1
r
akk
X
U k-1

temos, assim, o seguinte sistema de equações:

A k-1

s

r

akk

=

L k-1 U k-1

= L k-1

y

=

X = x y +

u k-1

u kk

Como A k -l = L k -l U k _ 1 , por hipótese da indução e A k- l é não singular, então L k -l e U k -l são também não singulares. Assim, temos a seguinte solução:

também não singulares. Assim, temos a seguinte solução: = LIL 1 s = r Uk: �

= LIL 1 s

= r Uk: � 1

= akk - x y

e os valores para x, y e ukk são determinados de maneira única.

Solução Numérica de Sistemas de Equações Lineares e Matrizes Inversas

27

) i, j =

= (ui j

U

1,

, n

a ii - L

i :s;

j