Calculo Numerico Para Controle e Automacao UFSC

374
UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE AUTOMAC ¸ ˜ AO E SISTEMAS C ´ ALCULO NUM ´ ERICO PARA CONTROLE E AUTOMAC ¸ ˜ AO Vers˜aopreliminar Eduardo Camponogara Eugˆ enio de Bona Castelan Neto Florian´ opolis, Agosto de 2008

Transcript of Calculo Numerico Para Controle e Automacao UFSC

UNIVERSIDADE FEDERAL DE SANTA CATARINADEPARTAMENTO DE AUTOMACAO E SISTEMAS

CALCULO NUMERICO PARA CONTROLE E AUTOMACAOVersao preliminar

Eduardo CamponogaraEugenio de Bona Castelan Neto

Florianopolis, Agosto de 2008

Agradecimentos

Agradeco os academicos Tiago Villaca Vianna Ferreira (Engenharia deControle e Automacao Industrial) e Maurıcio Rangel Guimaraes Serra (Mes-trado em Engenharia Eletrica) pelo auxılio na transcricao das notas de aulaem LATEX. Augusto Marasca de Conto (Mestrado em Engenharia Eletrica) re-alizou estagio de docencia em Calculo Numerico, deixando suas contribuicoesna parte de fatoracao LU de matrizes.

Agradecimentos especiais vao para os monitores Felipe Lucci e ViniciusStrey que muito se empenharam na disciplina, contribuindo ao texto, auxili-ando os alunos e nao medindo esforcos para facilitar a aprendizagem.

i

ii

Sumario

1 Introducao ao Estudo da Matematica Numerica 1

1.1 Natureza e Objetivos da Matematica Numerica . . . . . . . . 1

1.2 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 O Problema da Ordenacao . . . . . . . . . . . . . . . . 2

1.3 Algoritmos Numericos . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Inexistencia do Erro Logico . . . . . . . . . . . . . . . 5

1.3.2 Inexistencia do Erro Operacional . . . . . . . . . . . . 6

1.3.3 Quantidade Finita de Calculos . . . . . . . . . . . . . . 6

1.3.4 Existencia de um Criterio de Exatidao . . . . . . . . . 8

1.3.5 Independencia da Maquina . . . . . . . . . . . . . . . . 8

1.3.6 Com Precisao Infinita, os Limites de Erro Devem Con-vergir para Zero . . . . . . . . . . . . . . . . . . . . . . 8

1.3.7 Eficiencia . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Passos para a Resolucao de um Problema . . . . . . . . . . . . 9

1.4.1 Referencias . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Introducao a Aritmetica de Maquina 11

2.1 O Sistema de Ponto Flutuante . . . . . . . . . . . . . . . . . . 11

2.1.1 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Arredondamentos . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4 Dıgitos Significativos Exatos . . . . . . . . . . . . . . . . . . . 20

2.4.1 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.5 Precisao e Exatidao de Maquinas Digitais . . . . . . . . . . . 21

2.6 Instabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.6.1 Instabilidade dos Algoritmos . . . . . . . . . . . . . . . 23

2.7 Instabilidade de Problemas . . . . . . . . . . . . . . . . . . . . 27

2.8 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

iii

3 Resolucao de Equacoes Nao-Lineares 333.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.1 Exemplo de Aplicacao . . . . . . . . . . . . . . . . . . 343.2 Ordem de Convergencia . . . . . . . . . . . . . . . . . . . . . 363.3 Metodos Iterativos para Resolucao de Equacoes . . . . . . . . 373.4 Metodos de Quebra . . . . . . . . . . . . . . . . . . . . . . . . 38

3.4.1 Metodo da Biseccao . . . . . . . . . . . . . . . . . . . 383.4.2 Metodo da Falsa Posicao . . . . . . . . . . . . . . . . . 44

3.5 Metodos de Ponto Fixo . . . . . . . . . . . . . . . . . . . . . . 483.5.1 Metodo da Iteracao Linear . . . . . . . . . . . . . . . . 523.5.2 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.6 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 563.6.1 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . 573.6.2 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . 573.6.3 Detalhes do Metodo de Newton . . . . . . . . . . . . . 583.6.4 Convergencia do Metodo de Newton . . . . . . . . . . 593.6.5 Problemas com o Metodo de Newton . . . . . . . . . . 613.6.6 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.7 Metodos de Multiplos Passos . . . . . . . . . . . . . . . . . . . 623.7.1 Metodo das Secantes . . . . . . . . . . . . . . . . . . . 623.7.2 Breve Introducao a Interpolacao Polinomial . . . . . . 653.7.3 Metodo de Muller . . . . . . . . . . . . . . . . . . . . . 68

3.8 Aceleracao de Aitken . . . . . . . . . . . . . . . . . . . . . . . 693.9 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4 Resolucao de Sistemas de Equacoes Lineares 774.1 Revisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.2 Erros Computacionais na Solucao de Ax = b . . . . . . . . . . 84

4.2.1 Tipos de Algoritmos . . . . . . . . . . . . . . . . . . . 844.2.2 Tipos de Erros Computacionais nos Algoritmos . . . . 85

4.3 Etapas da Solucao de Sistemas Lineares . . . . . . . . . . . . 854.3.1 Primeira Etapa: Descomplexificacao . . . . . . . . . . 864.3.2 Segunda Etapa: Os Algoritmos e Suas Estruturas . . . 89

4.4 Metodo de Eliminacao de Gauss . . . . . . . . . . . . . . . . . 894.4.1 Exemplo 1 (Metodo de Gauss) . . . . . . . . . . . . . . 924.4.2 Exemplo 2 (Metodo de Gauss) . . . . . . . . . . . . . . 944.4.3 Exemplo 3 (Metodo de Gauss) . . . . . . . . . . . . . . 95

4.5 Instabilidade Numerica . . . . . . . . . . . . . . . . . . . . . . 964.5.1 Exemplo de Instabilidade Numerica . . . . . . . . . . . 96

4.6 Algoritmo de Gauss com Pivotamento . . . . . . . . . . . . . . 974.7 Condicionamento de uma Matriz . . . . . . . . . . . . . . . . 99

iv

4.7.1 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . 994.7.2 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . 994.7.3 Exemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . 1004.7.4 Visao Geometrica do Condicionamento . . . . . . . . . 1004.7.5 Calculo do Condicionamento de uma Matriz . . . . . . 1004.7.6 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 1044.7.7 Propriedades da Condicionamento de Matrizes . . . . . 104

4.8 Refinamento da Solucao para o Metodo de Gauss . . . . . . . 1054.8.1 Descricao do Metodo . . . . . . . . . . . . . . . . . . . 1054.8.2 Geracao de Aproximacoes . . . . . . . . . . . . . . . . 1054.8.3 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 1084.8.4 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 1084.8.5 Analise do Condicionamento Atraves do Refinamento . 109

4.9 Equacionamento Matricial: Eliminacao Gaussiana de FormaCompacta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

4.10 Decomposicao LU . . . . . . . . . . . . . . . . . . . . . . . . . 1144.10.1 Substituicao Direta . . . . . . . . . . . . . . . . . . . . 1144.10.2 Retrosubstituicao . . . . . . . . . . . . . . . . . . . . . 1154.10.3 Obtendo LU sem Permutacoes . . . . . . . . . . . . . . 1164.10.4 Problemas do Nao-Pivoteamento . . . . . . . . . . . . 1184.10.5 Representando as Matrizes LU em Uma Matriz . . . . 1184.10.6 O Vetor de Pivoteamento . . . . . . . . . . . . . . . . 1184.10.7 Decomposicao LU com Pivoteamento . . . . . . . . . . 1194.10.8 Metodo de Crout . . . . . . . . . . . . . . . . . . . . . 121

4.11 Decomposicao de Cholesky . . . . . . . . . . . . . . . . . . . . 1234.12 Metodo de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . 1254.13 Metodo de Gauss-Jordan . . . . . . . . . . . . . . . . . . . . . 1274.14 Singular Value Decomposition (SVD) . . . . . . . . . . . . . . 128

4.14.1 SVD de uma Matriz Quadrada . . . . . . . . . . . . . 1294.14.2 Determinando o Espaco Gerado e o Espaco Nulo . . . 1304.14.3 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . 1304.14.4 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . 1314.14.5 Consideracoes Finais sobre Decomposicao SVD . . . . 1324.14.6 Visao Geometrica da Decomposicao SVD . . . . . . . . 1324.14.7 Analise dos Componentes Principais . . . . . . . . . . 135

4.15 Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . 1404.15.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . 1414.15.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . 1434.15.3 Visao Geometrica do Metodo Iterativo . . . . . . . . . 1444.15.4 Condicoes de Convergencia dos Metodos Iterativos . . 147

4.16 Metodo do Gradiente Conjugado . . . . . . . . . . . . . . . . 147

v

4.17 Aplicacoes de Sistemas de Equacoes Lineares . . . . . . . . . . 1514.17.1 Interpolacao com Polinomios . . . . . . . . . . . . . . . 1514.17.2 Estruturas Elasticas Lineares . . . . . . . . . . . . . . 1524.17.3 Exemplo: n=1 . . . . . . . . . . . . . . . . . . . . . . 153

4.18 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1564.19 Excercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5 Sistemas de Equacoes Nao-Lineares, Otimizacao e MınimosQuadrados 1655.1 Sistemas de Equacoes Nao-Lineares . . . . . . . . . . . . . . . 165

5.1.1 Matriz de Derivadas . . . . . . . . . . . . . . . . . . . 1665.1.2 Linearizacao . . . . . . . . . . . . . . . . . . . . . . . . 1665.1.3 Aplicacao: Circuito Estatico Nao-Linear . . . . . . . . 1675.1.4 Algoritmo de Newton . . . . . . . . . . . . . . . . . . . 1695.1.5 Convergencia do Metodo de Newton . . . . . . . . . . 171

5.2 Minimizacao Irrestrita . . . . . . . . . . . . . . . . . . . . . . 1725.2.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . 1735.2.2 Condicoes de Otimalidade para Problemas com uma

Variavel . . . . . . . . . . . . . . . . . . . . . . . . . . 1735.3 Minimizacao de Funcoes de uma Variavel: Metodo de Newton 178

5.3.1 Interpretacao de uma Iteracao . . . . . . . . . . . . . . 1785.3.2 Uma Segunda Interpretacao . . . . . . . . . . . . . . . 179

5.4 Metodo de Newton com Retrocesso (“Backtracking”) paraFuncoes Convexas . . . . . . . . . . . . . . . . . . . . . . . . . 1805.4.1 Convergencia do Metodo de Newton com Retrocesso . 181

5.5 Algoritmo de Newton para Minimizacao de Funcoes Nao Con-vexas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

5.6 Mınimos Quadrados e Ajuste de Curvas . . . . . . . . . . . . . 1825.6.1 Solucao por Mınimos Quadrados . . . . . . . . . . . . 1835.6.2 Ajuste de Curvas . . . . . . . . . . . . . . . . . . . . . 1845.6.3 Ajuste de Curvas: Um Problema de Mınimos Quadrados1855.6.4 Exemplo: Ajuste de Polinomios . . . . . . . . . . . . . 1855.6.5 Exemplo: Ajuste de Curva . . . . . . . . . . . . . . . . 1865.6.6 Identificacao de Sistemas . . . . . . . . . . . . . . . . . 1865.6.7 Estimacao por Meio de Mınimos Quadrados . . . . . . 1905.6.8 Identificacao do Sistema Motor Taco-Gerador . . . . . 1905.6.9 Resolucao de Problemas de Mınimos Quadrados . . . . 195

5.7 Sistemas de Equacoes Lineares Sub-Dimensionados . . . . . . 2015.7.1 Interpretacao Geometrica . . . . . . . . . . . . . . . . 2025.7.2 Calculando a Solucao de Menor Norma . . . . . . . . . 2025.7.3 Problemas de Minimizacao de Normas . . . . . . . . . 203

vi

5.7.4 Sistemas com Mais Variaveis do que Equacoes . . . . . 204

5.8 Mınimos Quadrados Nao-linear . . . . . . . . . . . . . . . . . 210

5.9 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

5.10 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

6 Revisao de Polinomios 219

6.1 Enumeracao de Raızes . . . . . . . . . . . . . . . . . . . . . . 221

6.1.1 Enumeracao das Raızes de Uma Equacao Polinomial . 221

6.1.2 Enumeracao das Raızes Complexas . . . . . . . . . . . 222

6.2 Localizacao das Raızes . . . . . . . . . . . . . . . . . . . . . . 225

6.2.1 Localizacao das Raızes Reais de Uma Equacao Polinomial225

6.3 Localizacao das Raızes Complexas de Uma Equacao Polinomial227

6.4 Separacao das Raızes de Uma Equacao Polinomial . . . . . . . 229

6.5 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

7 Integracao Numerica 233

7.1 O Problema da Integracao Numerica . . . . . . . . . . . . . . 233

7.2 Objetivo da Integracao Numerica . . . . . . . . . . . . . . . . 234

7.2.1 Filosofias Basicas . . . . . . . . . . . . . . . . . . . . . 234

7.3 Formulas Newtonianas . . . . . . . . . . . . . . . . . . . . . . 236

7.3.1 Consideracoes Iniciais . . . . . . . . . . . . . . . . . . . 236

7.3.2 Regra dos Retangulos . . . . . . . . . . . . . . . . . . . 236

7.3.3 Regra dos Trapezios . . . . . . . . . . . . . . . . . . . 238

7.3.4 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . 239

7.3.5 Formula Geral das Regras Newtonianas . . . . . . . . . 241

7.3.6 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.3.7 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . 243

7.3.8 Exemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . 244

7.4 Estimativas de Erros . . . . . . . . . . . . . . . . . . . . . . . 244

7.4.1 Erro de Truncamento na Regra dos Trapezios Simples . 245

7.4.2 Erro de Truncamento na Regra dos Trapezios Composta246

7.4.3 Estimacao Numerica do Erro de Truncamento da Re-gra dos Trapezios . . . . . . . . . . . . . . . . . . . . . 248

7.5 Quadratura Gaussiana . . . . . . . . . . . . . . . . . . . . . . 249

7.5.1 Regra de Gauss de Primeira Ordem . . . . . . . . . . . 251

7.5.2 Regra de Gauss de Segunda Ordem . . . . . . . . . . . 251

7.5.3 Exemplo de Aplicacao . . . . . . . . . . . . . . . . . . 252

7.5.4 Quadratura de Ordem Superior . . . . . . . . . . . . . 254

7.6 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

7.7 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

vii

8 Resolucao Numerica de Equacoes Diferenciais Ordinarias 2618.1 Modelagem com Equacoes Diferenciais . . . . . . . . . . . . . 262

8.1.1 Circuito RC . . . . . . . . . . . . . . . . . . . . . . . . 2628.1.2 Circuito RLC . . . . . . . . . . . . . . . . . . . . . . . 2638.1.3 Supensao de Automovel (Simplificada) . . . . . . . . . 2668.1.4 Sistema de Massas Acopladas . . . . . . . . . . . . . . 2688.1.5 Motor de Corrente Contınua . . . . . . . . . . . . . . . 2698.1.6 Satelite em Orbita . . . . . . . . . . . . . . . . . . . . 2708.1.7 Pendulo Invertido . . . . . . . . . . . . . . . . . . . . . 272

8.2 Exemplos de Equacoes Diferenciais . . . . . . . . . . . . . . . 2778.3 Problema de Valor Inicial . . . . . . . . . . . . . . . . . . . . 2788.4 Sistemas de Equacoes Diferenciais . . . . . . . . . . . . . . . . 2798.5 Equacoes de Diferencas . . . . . . . . . . . . . . . . . . . . . . 2808.6 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 280

8.6.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 2828.6.2 O Algoritmo de Euler . . . . . . . . . . . . . . . . . . . 283

8.7 Metodo de Euler para Sistemas de Equacoes . . . . . . . . . . 2838.8 Metodos Baseados na Serie de Taylor . . . . . . . . . . . . . . 284

8.8.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 2858.9 Metodo de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 286

8.9.1 Metodo de Runge-Kutta de Segunda Ordem . . . . . . 2868.10 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

A Fundamentos Matematicos 297A.1 Limites e Continuidade . . . . . . . . . . . . . . . . . . . . . . 297A.2 Diferenciacao . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

A.2.1 Aplicacao de Diferenciacao . . . . . . . . . . . . . . . . 302A.3 Teorema do Valor Medio . . . . . . . . . . . . . . . . . . . . . 303A.4 Maximos e Mınimos . . . . . . . . . . . . . . . . . . . . . . . 304A.5 Introducao a Equacoes Diferenciais . . . . . . . . . . . . . . . 304A.6 Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

A.6.1 Produto Interno . . . . . . . . . . . . . . . . . . . . . . 312A.6.2 Projecoes . . . . . . . . . . . . . . . . . . . . . . . . . 314A.6.3 Produto Cruzado . . . . . . . . . . . . . . . . . . . . . 316

A.7 Calculo Vetorial . . . . . . . . . . . . . . . . . . . . . . . . . . 317A.8 Funcoes de Multiplas Variaveis . . . . . . . . . . . . . . . . . 319

A.8.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . 319A.8.2 Superfıcies . . . . . . . . . . . . . . . . . . . . . . . . . 319A.8.3 Elipsoide . . . . . . . . . . . . . . . . . . . . . . . . . . 319A.8.4 Derivadas Parciais . . . . . . . . . . . . . . . . . . . . 320A.8.5 Diferenciacao e Gradiente . . . . . . . . . . . . . . . . 321

viii

A.9 Conversao Entre Bases . . . . . . . . . . . . . . . . . . . . . . 321A.9.1 Conversao de Numeros Inteiros . . . . . . . . . . . . . 321A.9.2 Conversao de Numeros Puramente Fracionarios . . . . 322A.9.3 Conversao de Numeros com Parte Fracionaria e Parte

Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . 323A.9.4 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . 324

A.10 Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

B Exemplos de Codigo Matlab 325B.1 Capıtulo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

B.1.1 Figura 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . 325B.1.2 Metodo de Ponto Fixo para Funcao f(x) = x2/10−x+1326B.1.3 Algoritmo da Biseccao . . . . . . . . . . . . . . . . . . 326

C Exercıcios Resolvidos 329

ix

x

Lista de Figuras

1.1 Algoritmo de Ordenacao . . . . . . . . . . . . . . . . . . . . . 31.2 Exemplo de funcao para a qual o algoritmo de Newton pode

iterar indefinidamente . . . . . . . . . . . . . . . . . . . . . . 71.3 Sequencia de iterandos gerados pelo algoritmo de Newton. . . 81.4 Passos para solucao de um problema. . . . . . . . . . . . . . 10

2.1 Elementos do sistema de ponto flutuante F = F (2, 3,−1, 2). . 152.2 Ilustracao de equilıbrio estavel e instavel. . . . . . . . . . . . 28

3.1 Circuito eletrico com componente nao-linear. . . . . . . . . . 353.2 Numero de zeros para varias funcoes. . . . . . . . . . . . . . . 353.3 Dificuldades com criterios de convergencia. . . . . . . . . . . 383.4 Ilustracao do comportamento do algoritmo da biseccao . . . . 393.5 Funcao f(x) = e−x − x. . . . . . . . . . . . . . . . . . . . . . . 413.6 Dificuldade na obtencao do intervalo inicial . . . . . . . . . . . 413.7 Raızes do polinomio caracterıstico p(λ) = λ4−λ3+λ−5λ2+4

de A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.8 Ilustracao do metodo da falsa posicao . . . . . . . . . . . . . . 453.9 Grafico da funcao f(x) = x4 − 14x2 + 24x− 10 . . . . . . . . . 473.10 Iteracoes 1, 2, 3 e 4 do metodo da falsa posicao . . . . . . . . 473.11 Iteracoes 5, 6, 7 e 8 do metodo da falsa posicao . . . . . . . . 483.12 Convergencia oscilante. . . . . . . . . . . . . . . . . . . . . . . 523.13 Convergencia monotonica. . . . . . . . . . . . . . . . . . . . . 533.14 Divergencia oscilante. . . . . . . . . . . . . . . . . . . . . . . . 533.15 Divergencia monotonica. . . . . . . . . . . . . . . . . . . . . . 543.16 Exemplo de sequencia de iterandos de um processo iterativo. . 553.17 Metodo de ponto fixo para raiz de f(x) = x− 2 sin(x). . . . . 563.18 Ilustracao do metodo de Newton . . . . . . . . . . . . . . . . . 583.19 Exemplo onde o metodo de Newton entre em laco infinito. . . 613.20 Exemplo onde ocorre divergencia do metodo de Newton. . . . 623.21 Ilustracao do metodo das secantes. . . . . . . . . . . . . . . . 633.22 Iteracoes 1, 2, 3 e 4 do metodo das secantes . . . . . . . . . . 65

xi

3.23 Iteracoes 5, 6, 7 e 8 do metodo das secantes . . . . . . . . . . 663.24 Ilustracao de interpolacao polinomial . . . . . . . . . . . . . . 673.25 Interpolacao da curva f(x) com um polinomio de 2o grau p2(x)

que atravessa os pontos (x0, f(x0)), (x1, f(x1)) e (x2, f(x2)) . . 703.26 Porta semi-circular . . . . . . . . . . . . . . . . . . . . . . . . 743.27 Reservatorio tipo semiesfera. . . . . . . . . . . . . . . . . . . . 75

4.1 Ilustracao dos conceitos de espaco gerado e espaco nulo deuma matriz A . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4.2 Ilustracao das normas ‖ · ‖∞, ‖ · ‖2 e ‖ · ‖1. . . . . . . . . . . 824.3 Calculos envolvidos na solucao de sistemas de equacoes linea-

res. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864.4 Exemplo de circuito eletrico com elementos lineares. . . . . . 884.5 Exemplo de circuito eletrico RLC. . . . . . . . . . . . . . . . 894.6 Componentes de algoritmos diretos. . . . . . . . . . . . . . . 904.7 Componentes de algoritmos iterativos. . . . . . . . . . . . . . 914.8 Ilustracao da solucao S1 do sistema (4.11) e da solucao S2 do

sistema (4.12). . . . . . . . . . . . . . . . . . . . . . . . . . . 1014.9 Sistema sem solucao. . . . . . . . . . . . . . . . . . . . . . . 1014.10 Sistema mal-condicionado. . . . . . . . . . . . . . . . . . . . 1024.11 Sistema bem-condicionado. . . . . . . . . . . . . . . . . . . . 1024.12 Algoritmo de refinamento. . . . . . . . . . . . . . . . . . . . . 1074.13 Avaliacao empırica de sistema bem-condicionado atraves do

metodo de refinamento. . . . . . . . . . . . . . . . . . . . . . . 1104.14 Avaliacao empırica de sistema mais ou menos mal-

condicionado atraves do metodo de refinamento. . . . . . . . . 1114.15 Avaliacao empırica de sistema mal-condicionado atraves do

metodo de refinamento. . . . . . . . . . . . . . . . . . . . . . . 1114.16 Transformacao de esferas em elipsoides. . . . . . . . . . . . . . 1334.17 Ilustracao da transformacao induzida por uma matriz A

simetrica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344.18 Ilustracao da transformacao induzida por uma matriz A

simetrica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344.19 Ilustracao da transformacao dada por uma matriz A que gera

rotacoes e mudancas em escala. . . . . . . . . . . . . . . . . . 1364.20 Regressao linear entre duas variaveis. . . . . . . . . . . . . . . 1374.21 Translacao do centroide para a origem. . . . . . . . . . . . . . 1384.22 Rotacao do eixo x em torno da origem. . . . . . . . . . . . . . 1394.23 Pontos amostrais para analise de componentes principais. . . . 1424.24 Visao geometrica do processo iterativo de Gauss-Seidel, caso

convergente. . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

xii

4.25 Visao geometrica do processo iterativo de Gauss-Seidel, casodivergente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

4.26 Exemplo de dados para interpolacao com polinomios. . . . . 151

4.27 Exemplo de estrutura. . . . . . . . . . . . . . . . . . . . . . . 152

4.28 Exemplo de estrutura com apenas um vertice . . . . . . . . . 153

4.29 Exemplo de estrutura com apenas um vertice e carga nao nula 154

4.30 Forcas internas as barras . . . . . . . . . . . . . . . . . . . . . 155

4.31 Forcas internas as barras . . . . . . . . . . . . . . . . . . . . . 155

4.32 Forcas que atuam no no . . . . . . . . . . . . . . . . . . . . . 156

4.33 Sistema de trelicas. O desenho nao esta em escala. (Sx, Sy) =(2,−2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

5.1 Circuito eletrico com componentes nao-lineares . . . . . . . . . 168

5.2 Ilustracao das curvas de nıvel de duas funcoes nao lineares . . 171

5.3 Ilustracao de dois radares que detectam a distancia ate umaaeronave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

5.4 Ilustracao de mınimos locais e globais de uma funcao f(x) . . 173

5.5 Ilustracao de funcao convexa: f(z) > f(x)+ f ′(x)(z−x) paratodo x, z ∈ R. . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

5.6 Visao geometrica do metodo de Newton aplicado ao problemaf ′(x) = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

5.7 Ilustracao grafica das funcoes f(x) e f ′(x) . . . . . . . . . . . 180

5.8 Interpretacao geometrica do metodo de Newton para mini-mizacao de funcoes convexas . . . . . . . . . . . . . . . . . . . 181

5.9 Problemas do metodo de Newton aplicado a minimizacao defuncoes nao convexas. . . . . . . . . . . . . . . . . . . . . . . . 183

5.10 n = 5 e m = 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

5.11 n = 15 e m = 17 . . . . . . . . . . . . . . . . . . . . . . . . . 187

5.12 n = 5 e m = 65 . . . . . . . . . . . . . . . . . . . . . . . . . . 188

5.13 n = 15 e m = 65 . . . . . . . . . . . . . . . . . . . . . . . . . 188

5.14 Exemplo de sistema caixa-preta . . . . . . . . . . . . . . . . . 189

5.15 Exemplo de entradas e saıdas de um sistema . . . . . . . . . . 189

5.16 Motor taco-gerador. . . . . . . . . . . . . . . . . . . . . . . . . 191

5.17 Motor taco-gerador. . . . . . . . . . . . . . . . . . . . . . . . . 192

5.18 Modelo de predicao y(t) obtido com a equacao (5.6) e n = 3.O vetor de erros e = y(t)− y(t) tem norma ‖e‖ = 118.5214. . 193

5.19 Modelo de predicao y(t) obtido com a equacao (5.6) e n = 10.O vetor de erros e = y(t)− y(t) tem norma ‖e‖ = 107.4303. . 194

5.20 Modelo de predicao y(t) obtido com a equacao (5.8) e n = 3.O vetor de erros e = y(t)− y(t) tem norma ‖e‖ = 0.5495. . . . 195

xiii

5.21 Modelo de predicao y(t) obtido com a equacao (5.8) e n = 10.O vetor de erros e = y(t)− y(t) tem norma ‖e‖ = 0.4778. . . . 196

5.22 Ilustracao geometrica do problema de mınimos quadrados . . . 1975.23 Ilustracao geometrica do problema de mınimos quadrados . . . 1985.24 Interpretacao geometrica do problema de minimizacao de norma2025.25 Bloco de massa . . . . . . . . . . . . . . . . . . . . . . . . . . 2055.26 Exemplo de velocidade em funcao do tempo. . . . . . . . . . . 2075.27 Deslocamento da massa . . . . . . . . . . . . . . . . . . . . . 2075.28 Velocidade da massa . . . . . . . . . . . . . . . . . . . . . . . 2085.29 Forca aplicada a massa no fim do perıodo . . . . . . . . . . . . 2085.30 Forca de menor norma aplicada a massa ao longo do intervalo 2095.31 Deslocamento da massa . . . . . . . . . . . . . . . . . . . . . 2095.32 Velocidade da massa . . . . . . . . . . . . . . . . . . . . . . . 2105.33 Sistema fısico com dois blocos sujeitos a forcas horizontais . . 2135.34 Bloco de massa . . . . . . . . . . . . . . . . . . . . . . . . . . 214

6.1 Multiplicidade de raızes . . . . . . . . . . . . . . . . . . . . . 2256.2 Localizacao de raızes . . . . . . . . . . . . . . . . . . . . . . . 226

7.1 Comportamento de integrais . . . . . . . . . . . . . . . . . . . 2577.2 Regras dos retangulos . . . . . . . . . . . . . . . . . . . . . . . 2587.3 Regra simples do trapezio . . . . . . . . . . . . . . . . . . . . 2587.4 Regra composta do trapezio . . . . . . . . . . . . . . . . . . . 2587.5 Regra de Simpsom . . . . . . . . . . . . . . . . . . . . . . . . 2597.6 Cancelamento de erros . . . . . . . . . . . . . . . . . . . . . . 259

8.1 Circuito RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2638.2 Curva de descarga do capacitor em um circuito RC . . . . . . 2638.3 Circuito RLC . . . . . . . . . . . . . . . . . . . . . . . . . . . 2658.4 Resposta do circuito RLC a entrada u(t) = 0. . . . . . . . . . 2668.5 Suspensao de automovel simplificada . . . . . . . . . . . . . . 2688.6 Sistema de duas massas acopladas . . . . . . . . . . . . . . . . 2698.7 Motor de corrente contınua (CC) controlado pela armadura . . 2708.8 Satelite em orbita . . . . . . . . . . . . . . . . . . . . . . . . . 2728.9 Veıculo com pendulo invertido . . . . . . . . . . . . . . . . . . 2728.10 Ilustracao de uma primitiva F (x) . . . . . . . . . . . . . . . . 2818.11 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 2828.12 Circuito eletrico . . . . . . . . . . . . . . . . . . . . . . . . . 2898.13 Sistema mecanico . . . . . . . . . . . . . . . . . . . . . . . . 2918.14 Sistema mecanico de dois pendulos . . . . . . . . . . . . . . . 292

A.1 Eliminando a descontinuidade de uma funcao. . . . . . . . . . 299

xiv

A.2 Funcao exemplo. . . . . . . . . . . . . . . . . . . . . . . . . . 300A.3 Secantes da funcao. . . . . . . . . . . . . . . . . . . . . . . . 300A.4 Corte facial do tanque. . . . . . . . . . . . . . . . . . . . . . 303A.5 Ilustracao do Teorema do Valor Medio. . . . . . . . . . . . . 304A.6 Pontos de maximo e mınimo de uma funcao. . . . . . . . . . 305A.7 Grafico da funcao f(z) = zp

emz , p,m > 0. . . . . . . . . . . . . 310A.8 Trajetorias para K = 0, 16. . . . . . . . . . . . . . . . . . . . 310A.9 Plano cartesiano. . . . . . . . . . . . . . . . . . . . . . . . . . 311A.10 Soma vetorial. . . . . . . . . . . . . . . . . . . . . . . . . . . 312A.11 Produto interno. . . . . . . . . . . . . . . . . . . . . . . . . . 313A.12 Produto interno. . . . . . . . . . . . . . . . . . . . . . . . . . 314A.13 A area do paralelogramo com lados a e b e precisamente ‖a×b‖.317

C.1 Trajetoria do sistema pendulo invertido. . . . . . . . . . . . . 352C.2 Trajetoria do sistema pendulo invertido. . . . . . . . . . . . . 353

xv

xvi

Lista de Tabelas

2.1 Operacoes Aritmeticas . . . . . . . . . . . . . . . . . . . . . . 122.2 Operacoes Aritmeticas . . . . . . . . . . . . . . . . . . . . . . 122.3 Elementos do sistema de ponto flutuante F (2, 3,−1, 2) . . . . 142.4 Aproximacoes do numero π . . . . . . . . . . . . . . . . . . . 222.5 Aproximacoes de ex obtidas com f(x) para x > 0 e com f(x)

e 1/f(−x) para x < 0. . . . . . . . . . . . . . . . . . . . . . . 25

3.1 Valores da funcao f(x) = e−x − x . . . . . . . . . . . . . . . . 403.2 Aplicacao do algoritmo da falsa posicao . . . . . . . . . . . . . 463.3 Sequencia de iterandos . . . . . . . . . . . . . . . . . . . . . . 553.4 Sequencia de iterandos . . . . . . . . . . . . . . . . . . . . . . 573.5 Sequencia de iterandos produzida pelo metodo de Newton . . 583.6 Sequencia de iterandos produzida pelo metodo de Newton . . 59

4.1 Conjunto de pontos de um experimento . . . . . . . . . . . . . 1414.2 iterandos obtidos pelo processo iterativo de Jacobi . . . . . . . 1434.3 Iterandos obtidos pelo processo iterativo de Gauss-Seidel . . . 1444.4 iterandos produzidos pelo metodo do gradiente conjugado . . . 1504.5 direcoes conjugadas . . . . . . . . . . . . . . . . . . . . . . . . 150

7.1 Ponderacoes e pontos de amostragem para quadratura Gaussiana2547.2 Pontos da funcao f(x) . . . . . . . . . . . . . . . . . . . . . . 2557.3 Pontos da funcao f(x) . . . . . . . . . . . . . . . . . . . . . . 255

A.1 Exemplo de conversao de base: (283)10 = (100011011)2 . . . . 322A.2 Exemplo de conversao de base: (0.283)10 = (0.01001)2 . . . . . 323

xvii

xviii

Notacao

xix

xx

Capıtulo 1

Introducao ao Estudo daMatematica Numerica

1.1 Natureza e Objetivos da Matematica

Numerica

Antes do advento dos computadores eletronicos, nos anos quarenta,metodos numericos eram impraticaveis. Mesmo antes dos anos quarenta, dis-positivos mecanicos tinham sido desenvolvidos para executar calculos como,por exemplo, as maquinas desenvolvidas pela IBM para serem usadas nocenso americano. No inıcio dos anos quarenta, durante a Segunda GuerraMundial, computadores eletronicos foram desenvolvidos nos E.U.A., permi-tindo o calculo automatico de tabelas para artilharia naval e solucao de ou-tros problemas logısticos e militares. Nasce, portanto, o interesse cientıfico etecnologico por metodos numericos.

A necessidade de um tratamento particular para os metodos numericosse refere ao fato de que as propriedades basicas da aritmetica real nao valemmais quando executadas no computador. Numeros com infinito dıgitos como,por exemplo, π = 3.1415 . . ., e representado por um numero finito de dıgitosna aritmetica computacional—o computador tem precisao finita.

A matematica computacional e a area da matematica que se preocupacom o desenvolvimento, emprego e estudo de metodos numericos, podendoser subdivida em:

Matematica Computacional: estudo da matematica do ponto de vistacomputacional.

Matematica Numerica: parte da matematica computacional que se preo-cupa com o desenvolvimento de algoritmos para resolucao aproximada

2 1. Introducao ao Estudo da Matematica Numerica

de problemas, a qual utiliza como sistema de operacoes o conjunto+,−, /, ∗ de operadores matematicos.

Matematica Simbolica: busca a solucao analıtica de problemas ma-tematicos, por exemplo, a solucao analıtica da integral:

x2 · dx =x3

3

Matematica Grafica: trabalha com modelos graficos buscando solucao naforma grafica.

Matematica Intervalar: trata dados na forma de intervalos, buscandocontrolar os limites de erro da matematica numerica.

Nesta disciplina nos concentramos na matematica numerica, onde estu-damos processos numericos para a resolucao de problemas visando a maximaeconomia e confiabilidade em termos de fatores envolvidos, tais como:

• tempo de execucao

• memoria utilizada

• erros de arredondamento

1.2 Algoritmos

Informalmente, um algoritmo e um procedimento computacional bem de-finido que toma um valor (ou sequencia de valores) como entrada e produz umvalor (ou sequencia de valores) como saıda. Um algoritmo pode ser visto comouma ferramenta para resolver um problema computacional bem-definido, ouseja, um problema cuja especificacao nos da em termos gerais a relacao de-sejada entre entrada e saıda. Se espera que os passos de um algoritmo sejamexecutados no maximo um numero finito de vezes, mas por questoes praticas,se deseja que este numero seja o menor possıvel e bem-comportado.

1.2.1 O Problema da Ordenacao

Ilustraremos aqui as nocoes de problema computacional e algoritmoatraves do problema de ordenacao.

Entrada ou Instancia do Problema: uma sequencia de n numeros(a1, a2, . . . , an)

1. Introducao ao Estudo da Matematica Numerica 3

Saıda: a permutacao (reordenacao) (a′1, a′2, . . . , a

′n) da entrada tal que: a′1 6

a′2 6 . . . 6 a′n.

Dada uma sequencia de entrada (31, 41, 59, 26, 41, 58) um algoritmo deordenacao produz a saıda (26, 31, 41, 41, 58, 59).

Um algoritmo e dito correto se, para toda a instancia, o algoritmo terminacom a saıda correta.

Algoritmo de Ordenacao

(a1, a2, . . . , an)→ SORT → (a′1, a′2, . . . , a

′n)

A implementacao do algoritmo de ordenacao pode ser definida como:

Insertion Sort(A)

1: for j ← 2 to length[A] do2: key ← A[j]3: i← j − 14: while i > 0 & A[i] > key do5: A[i+ 1]← A[i]6: i← i− 17: end while8: A[i+ 1]← key9: end for

Abaixo, a demonstracao de seu funcionamento, considerando a entrada(5,2,4,6,1,3):

5 2 6 14 3

2 5 4 6 1 3

2 6 1 34 5

2 4 5 6 1 3

1 2 4 5 6 3

1 2 4 53 6

Figura 1.1: Algoritmo de Ordenacao

4 1. Introducao ao Estudo da Matematica Numerica

Analise do Algoritmo de Ordenacao: Tempo deExecucao

O tempo de execucao de um algoritmo (“running time”) para uma entradaparticular consiste do numero de operacoes primitivas ou passos executados.O tempo de execucao do algoritmo de ordenacao depende da entrada:

• A ordenacao de 1000 numeros leva mais tempo do que a ordenacao de10 numeros.

• O tempo de ordenacao de duas entradas pode variar de acordo com ograu de ordenacao das entradas.

Para calcular o tempo de execucao T (n) para uma entrada de tamanho n,somamos todas as partes (linhas de 1 a 7), onde tj e o numero de vezes queo laco while e executado para aquele valor j.

Insertion Sort(A)

Linha Codigo Custo Repeticoes1 for j ← 2 to length[A] c1 n2 key ← A[j] c2 n− 13 i← j − 1 c3 n− 1

4 while i > 0 & A[i] > A[j] c4n∑

j=2

tj

5 A[i+ 1]← A[i] c5n∑

j=2

(tj − 1)

6 i← i− 1 c6n∑

j=2

(tj − 1)

7 A[i+ 1]← key c7 n− 1

Quanto tempo leva para ordenar as sequencias abaixo?

s1 = (1, 2, 3, 4, 5, 6)s2 = (6, 5, 4, 3, 2, 1)

Melhor Caso: percebe-se que a entrada s1 ja esta ordenada portantotj = 1, caracterizando o melhor caso. O tempo de execucao no melhor casopode ser expresso por:

T (n) = an+ b

Pior Caso: ja a entrada s2 esta no maior grau de desordem possıvel parao tipo de entrada em questao sendo tj = j, o pior caso. O tempo de execucaono pior caso pode ser expresso por:

T (n) = an2 + bn+ c

1. Introducao ao Estudo da Matematica Numerica 5

Caso Medio: ha tambem o caso medio, que pode ser encontrado sendoa media em uma distribuicao das probabilidades de entrada.

Analise do Algoritmo de Ordenacao: Ordem de Cresci-mento

A ordem de crescimento pode ser vista como a taxa de crescimento dotempo de execucao em relacao ao tamanho da entrada. Logo, consideramoso termo dominante da formula T (n) = an2 + bn+ c, uma vez que os termosde menor ordem sao insignificantes para entradas grandes. Dizemos que otempo de execucao e Θ(n2).

1.3 Algoritmos Numericos

Da mesma forma que a solucao numerica de equacoes lineares e funda-mental a solucao de equacoes nao-lineares, algoritmos numericos sao funda-mentais a solucao de diversos problemas encontrados em engenharia, como aidentificacao de sistemas, tratamento de sinais e simulacao. Abaixo seguemas caracterıticas desejadas dos algoritmos.

1.3.1 Inexistencia do Erro Logico

Um algoritmo nao apresenta erro logico se este sempre produz o resultadocorreto. Considere o exemplo abaixo.

Problema: procura-se a solucao x∗ de ax = b

Algoritmo ingenuo: x∗ = ba

Algoritmo correto:

Equacao-Linear(a, b)

1: if a = 0 then2: if b = 0 then3: Imprima “identidade”4: else5: Imprima “contradicao”6: end if7: else8: Retorne x∗ = b

a

9: end if

6 1. Introducao ao Estudo da Matematica Numerica

1.3.2 Inexistencia do Erro Operacional

O algoritmo pode falhar por violar restricoes fısicas da maquina. No quesegue desenvolvemos um exemplo ilustrativo. Seja T o conjunto de numerospossıveis de serem representados por uma maquina onde:

a) ∀x ∈ T,−x ∈ T

b) t1 = infx : x ∈ T ∧ x > 0c) t2 = supx : x ∈ T ∧ x > 0

Se temos valores y tais que |y| < t1 dizemos que ocorreu “underflow” ou se|y| > t2 dizemos que ocorreu “overflow”.

Considere o problema computacional no qual procuramos |z| =√

x2 + y2.Se implementarmos diretamente a formula acima dependendo dos valores xou y, podemos ter overflow em x2 ou y2, embora valha

x2 + y2 < t2.O algoritmo abaixo procura contornar estes problemas de “overflow”.

Norma-Vetorial(x, y)

1: if x = y = 0 then2: z = 03: else4: if |x| > |y| then5: z = |x|

1 +(

yx

)2

6: else

7: z = |y|√

1 +(

xy

)2

8: end if9: end if10: Retorne z

1.3.3 Quantidade Finita de Calculos

Em algoritmos iterativos, e necessario que se estabeleca um criterio deparada e se prove convergencia. Um algoritmo nao pode executar indefini-damente e quando ele para se espera que este tenha produzido o resultadoesperado.

Considere o problema de determinar, pelo metodo de Newton, uma raizda equacao f(x) = sign(x) ·

‖x‖ = 0, onde:

sign(x) = 1 se x > 0sign(x) = 0 se x = 0sign(x) = −1 se x < 0

1. Introducao ao Estudo da Matematica Numerica 7

Um algoritmo problematico e dado por:

Newton(f, x0, γ)

1: j ← 02: while |f(xj)| > γ do3: if f ′(xj) 6= 0 then

4: xj+1 = xj − f(xj)

f ′(xj)

5: else6: Pare e imprima “indefinicao”7: end if8: j ← j + 19: end while

10: Retorne j, xj

O grafico da funcao e iterandos consecutivos gerados pelo algoritmo acimasao ilustrados na Figura 1.2. A sequencia de iterandos gerados a partir dex0 = 0.8 e dada na Figura 1.3.

−20 −15 −10 −5 0 5 10 15 20−10

−8

−6

−4

−2

0

2

4

6

8

10

x

y

Gráfico da Função f(x) = sqrt(x) / x > 0 e f(x) = −sqrt(−x) / x < 0

x(0)=x(2)=x(n)

x(1) = x(n−1) = x(n+1)

f(x) = sqrt(x)

f(x) = −sqrt(−x)

Figura 1.2: Exemplo de funcao para a qual o algoritmo de Newton podeiterar indefinidamente

8 1. Introducao ao Estudo da Matematica Numerica

2 4 6 8 10 12 14 16 18 20−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Iteracao

Rai

z A

prox

imad

a

Figura 1.3: Sequencia de iterandos gerados pelo algoritmo de Newton.

1.3.4 Existencia de um Criterio de Exatidao

E fundamental que o algoritmo forneca, de antemao, um criterio de exa-tidao em funcao das limitacoes de precisao das maquinas. Ou seja, se desejaque o algoritmo forneca:

Resultado = Valor Aproximado + Erro

1.3.5 Independencia da Maquina

E desejavel que o algoritmo produza o mesmo resultado quando executadoem diferentes maquinas. A constante de Euler e = 2.718281828 . . ., porexemplo, tera representacao distinta em diferentes maquinas. Assim, nao sedeve utilizar o valor, mas sim a representacao e = exp(1) que corresponde aovalor adotado pelo compilador.

1.3.6 Com Precisao Infinita, os Limites de Erro DevemConvergir para Zero

Esta exigencia estabelece a dependencia entre a solucao ideal em R e asolucao de maquina. Considere o problema de determinar sin(α) = x dadoα ∈ R. Um algoritmo que nao satisfaz a condicao de erro nulo com precisaoinfinita e dado abaixo.

1. Introducao ao Estudo da Matematica Numerica 9

sin(α)

1: x = 0± 12: Retorne α, x

O algoritmo acima e insensıvel a precisao da maquina e, portanto, naosatisfaz o criterio desejado.

1.3.7 Eficiencia

Quando se deseja encontrar a solucao para um problema, sempre visamosobter economia de rescursos envolvidos. Alguns fatores relevantes sao:

• tempo de execucao;

• exatidao;

• volume de dados;

• dificuldade de representacao; e

• eficacia.

Fazer contas com os dedos da mao, por exemplo, e eficaz mas nao eeficiente para calculos aritmeticos nao triviais.

Outro exemplo se refere ao algoritmo de Cramer para a solucao de siste-mas de equacoes lineares: Ax = b, com A ∈ R

n×n. Os passos do algoritmosao:

1) calcule o determinante ∆ da matriz dos coeficientes;

2) calcule os n determinantes ∆xj resultantes da substituicao da coluna jda matriz dos coeficientes pelo vetor b; e

3) a solucao x = (x1, x2, . . . , xn) e dada por xj =∆xj

∆, j = 1, . . . , n.

O algoritmo de Cramer acima executara (n+1)!(n+1) operacoes aritmeticasmas, por outro lado, o algoritmo de Gauss termina apos n3 operacoes.

1.4 Passos para a Resolucao de um Problema

Os passos recomendados para resolucao de um problema atraves demetodos numericos, ilustrados na Figura 1.4, sao:

10 1. Introducao ao Estudo da Matematica Numerica

a) Modelo matematico do problema

b) Necessidade de simplificacao

c) Uso de valores ja conhecidos

d) Parametros de equacoes termodinamicas

e) Escolha ou desenvolvimento do algoritmo

f) Definicao de parametros do algoritmo

– tolerancia

– solucao inicial

g) Como a maioria dos problemas nao tem solucao direta e precisa, faz-seo uso de metodos iterativos.

– criterio de parada

– numero de iteracoes

Problema

Modelagem

Simplificacao

Resultados deCiencias Vizinhas

Medicoes

Resultado

Numerico

Truncamento das

Iteracoes

Escolha de

Escolha deParametros

Metodos

a

b

c

d

e

f

g

Figura 1.4: Passos para solucao de um problema.

1.4.1 Referencias

O texto deste capıtulo e um sumario do Capıtulo 1 do Texto de Claudioe Marins [1]. O leitor pode consultar este texto para uma discussao maisampla sobre Matematica Numerica.

Capıtulo 2

Introducao a Aritmetica deMaquina

Neste capıtulo trataremos da representacao aproximada de numeros reaisem notacao digital nas maquinas computacionais. Serao definidos sistemade ponto flutuante, funcoes de arredondamento e tipos de erros que surgemcom arredondamentos. Discutiremos a diferenca entre precisao e exatidao.Tambem serao apresentadas questoes relativas a instabilidade de algoritmose de problemas.

2.1 O Sistema de Ponto Flutuante

Numeros reais sao aproximados por numeros racionais em maquinas di-gitais de precisao finita (numero de dıgitos limitados), incorrendo erros quepodem ser amplificados a medida que operacoes aritmeticas sao executadas.Devemos, portanto, entender como numeros sao representados no computa-dor e a maneira com que as operacoes sao executadas. Tal conhecimentoservira de base para analise e depuracao de algoritmos, bem como validacaode resultados obtidos atraves de metodos numericos.

12 2. Introducao a Aritmetica de Maquina

Exemplo:

Vamos utilizar varias maquinas para calcular a expressao abaixo:

H = 1/2

X = 2/3−H

Y = 3/5−H

E = (X +X +X)−H

F = (Y + Y + Y + Y + Y )−H

G = F/E (2.1)

Os resultados destas operacoes nas maquinas HP-25, SR-50, PCRII, IBM-4341, e Matlab (IBM-PC) aparecem na Tabelas 2.1 e 2.2. Podemos observarque os resultados variam significativamente, dependendo da capacidade derepresentacao destas maquinas.

Tabela 2.1: Operacoes AritmeticasHP 25 SR50 PCRIIH = 0.5 H = 0.5 H = 0.5X = 0.166666667 X = 0.166666667 X = 0.166666667Y = 0.1 Y = 0.1 Y = 0.1E = 10−10 E = 2 · 10−13 E = 10−10

F = 0 F = 0 F = 0G = nd G = nd G = nd

Tabela 2.2: Operacoes AritmeticasIBM4341 MatlabH = 0.5 H = 0.5X = 0.16666666 X = 0.16666666666667Y = 0.1 Y = 0.1E = −0.119209 · 10−6 E = −1.110223024625157 · 10−16

F = −0.178813 · 10−6 F = −1.110223024625157 · 10−16

G = 0.6666 . . . G = 1

Abaixo sao dadas definicoes fundamentais e a especificacao de sistema deponto flutuante.

2. Introducao a Aritmetica de Maquina 13

Definicao 2.1 Um x ∈ R e dito numero de ponto flutuante normalizado sevalerem:

1) x = m · be

2) m = ±0 · d1d2 . . . dn, n ∈ N

3) 1 6 d1 6 b− 1 e 0 6 dj 6 b− 1, j = 2, . . . , n

4) e1 6 e 6 e2, sendo e1 6 0, e2 ≥ 1, e1, e2 ∈ Z

onde:

• b e chamado de base, b ≥ 2

• e e chamado de expoente, e1 e o menor expoente e e2 e o maior expoente

• m e chamado de mantissa

• n e o numero maximo de dıgitos usados na representacao do numero

• dj, j = 1, . . . , n, sao os dıgitos do numero

Definicao 2.2 A uniao de todos os numeros de ponto flutuante com oZERO, que e representado na seguinte forma: 0 = 0.0000 . . . 0 · be1 e cha-mado de sistema de ponto flutuante. Usualmente, procuramos representarum sistema de ponto flutuante por F = F (b, n, e1, e2), onde e1 e e2 sao res-pectivamente o menor e o maior expoente, b e a base e n e a precisao.

Alguns exemplos de sistemas de ponto flutuante:

1) HP25, F (10, 9,−98, 100)

2) IBM 360/370, F (16, 6,−64, 63)

3) B6700, F (8, 13,−51, 77)

Algumas propriedades de sistemas de ponto flutuante sao:

Menor numero em modulo: 0.1 · be1

Maior numero: 0.[b− 1][b− 1] . . . [b− 1] · be2

Cardinalidade de F = F (b, n, e1, e2) : #F = 2(b−1)(bn−1)(e2−e1+1)+1,que pode ser obtido adicionando-se as parcelas:

• O numero de mantissas positivas e dado por (b− 1)(bn−1)

14 2. Introducao a Aritmetica de Maquina

Tabela 2.3: Elementos do sistema de ponto flutuante F (2, 3,−1, 2)mantissa m

e be 0.100 0.101 0.110 0.111-1 1/2 1/4 5/16 3/8 7/160 1 1/2 5/8 3/4 7/81 2 1 5/4 3/2 7/42 4 2 5/2 3 7/2

• Como cada uma dessas mantissas pode ter um dos (e2 − e1 +1) expoentes possıveis, temos ao todo (b − 1)(bn−1)(e2 − e1 + 1)numeros possıveis

• Logo, incluindo os negativos e o zero, obtemos #F = 2(b −1)(bn−1)(e2 − e1 + 1) + 1

Para qualquer mantissa m, vale b−1 6 |m| < 1, pois:

• |m| < 1, pois toda a mantissa tem como primeiro dıgito o ZERO

• |m| ≥ b−1, pois se |m| < b−1, nao terıamos um numero normalizado,pois o primeiro dıgito apos o ponto nao e nulo.

Exemplo:

Seja F = F (2, 3,−1, 2). Para este sistema, as mantissas sao: 0.100, 0.101,0.110, e 0.111. Por outro lado, os expoentes admissıveis sao -1, 0, 1 e 2. Assimtemos os seguintes numeros positivos:

• (0.100× 2−1)2 = (0.01)2 = 0× 20 + 0× 2−1 + 1× 2−2 = 1/4

• (0.100× 20)2 = (0.1)2 = 0× 20 + 1× 2−1 = 1/2

• (0.100× 21)2 = (1)2 = 1

• (0.100× 22)2 = (10)2 = 21 = 2

• e assim sucessivamente, obtendo a Tabela 2.3 que tambem sao apre-sentados na Figura 2.1.

Outras nocoes importantes se referem aos limites de representacao de umsistema de ponto flutuante.

2. Introducao a Aritmetica de Maquina 15

722

5322

−12−1

2−5

4−5

21

4−7

8−5

8−7

8−3

43

45

47

85

83

87

167

165

4−3

16−5

16−7

41

41

−72 0−2−3 3 4−4 −1 21

Figura 2.1: Elementos do sistema de ponto flutuante F = F (2, 3,−1, 2).

Regiao de Underflow: regiao situada entre o maior numero de ponto flu-tuante negativo e o ZERO e, simetricamente, entre o menor numero deponto flutuante positivo e o ZERO.

Regiao de Overflow: regioes situadas aquem do menor numero de pontoflutuante negativo e alem do maior numero de ponto flutuante positivo.

Exemplo:

Seja F = F (2, 3,−1, 2) um sistema de ponto flutuante. Tomemos emF , x = 5

4e y = 3

8. Note que z = x + y = 5

4+ 3

8= 13

8e tal que z /∈ F ,

pois 138

= (0.1101 × 21)2 que possui um dıgito a mais na mantissa do queo permitido. Na realidade, podemos escolher entre 3

2= (0.110 × 21)2 ou

74= (0.111× 21)2, o que da origem a diferentes tipos de arredondamentos—

erros sao cometidos ao se aproximar o numero z = x + y com um elementode F .

Notacao: Seja ⊕,⊗,⊖,⊘ o conjunto de operacoes executados por um algo-ritmo de ponto flutuante equivalentes as operacoes do conjunto +,−, /,×.Podemos verificar facilmente que: x⊕ y 6= x+ y e x⊗ y 6= x× y.

Considere o sistema F = F (2, 5,−98, 100) e os numeros:

(0.1)10 = (0.0001110110011 . . .)2 /∈ F

(0.1)10 ≃ (0.11101× 2−3)2 ∈ F.

Somando (0.11101 × 2−3) sucessivamente dez vezes, teremos (0.11111)2 =(0.96875)10 6= (1.0)10.

Exemplo:

Para um sistema de ponto flutuante F = F (2, 3,−1, 2), seja:

x =5

8, y =

3

8, e z =

3

4,

16 2. Introducao a Aritmetica de Maquina

entao:

(x⊕ y)⊕ z = ((0.101× 20)⊕ (0.110× 2−1))⊕ (0.110× 20)

= (0.101⊕ 0.011)⊕ 0.110

= 1.0⊕ 0.110 = 1.11

x⊕ (y ⊕ z) = 0.101⊕ (0.011⊕ 0.110)

= 0.101⊕ 1.001

= 1.101

= 1.10

Logo (x⊕ y)⊕ z = x⊕ (y ⊕ z)

Exemplo:

Para o sistema de ponto flutuante F = F (2, 3,−1, 2), seja

x =7

8, y =

5

4, e z =

3

8,

entao, podemos verificar que:

x⊗ (y ⊕ z) = 0.111⊗ (1.01⊕ 0.011)

= 0.111⊗ 1.101

= 0.111⊗ 1.10

= 0.111⊕ 0.0111

= 1.0101

= 1.01

(x⊗ y)⊕ (x⊗ z) = (0.111⊗ 1.01)⊕ (0.111⊗ 0.011)

= 1.00011⊕ 0.010101

= 1.00011⊕ 0.010101

= 1.00⊕ 0.0101

= 1.0101

= 1.01

Contudo, neste caso x⊗ (y ⊕ z) = (x⊗ y)⊕ (x⊗ z).

2.1.1 Exercıcios

i. Qual e o valor exato da expressao (2.1)?

2. Introducao a Aritmetica de Maquina 17

ii. Considere os sistemas de ponto flutuante abaixo:

(a) HP25, F (10, 9,−98, 100);(b) IBM 360/370, F (16, 6,−64, 63); e(c) B6700, F (8, 13,−51, 77).

Questoes:

(a) Qual e cardinalidade de cada um destes sistemas?

(b) Qual e o menor numero em modulo que pode ser representado?

(c) Qual e o maior numero em modulo?

(d) Qual e a regiao de overflow?

(e) Qual e a regiao de underflow?

iii. Em um sistema de ponto flutuante F = F (2, 3,−1, 2), seja x = 0.110×21, y = 0.101× 2−1 e z = 0.100× 21. Calcule (x⊕ y)⊖ z e (x⊖ z)⊕ y,utilizando o sistema F e truncamento.

iv. Para o sistema de ponto flutuante F = F (2, 3,−1, 2), encontre x, y, z ∈F tal que x⊗ (y ⊕ z) 6= (x⊗ y)⊕ (x⊗ z).

2.2 Arredondamentos

Conforme visto na discussao acima, ha diferentes maneiras de se aproxi-mar um numero real para um numero de ponto flutuante. Surge a questaode como se realizar tal aproximacao.

Definicao 2.3 Seja F (b, n, e1, e2) um sistema de ponto flutuante. Umafuncao 2 : R → F e considerada um arredondamento se valer: ∀x ∈F,2(x) = x

Tipos de arredondamento

• Arredondamento para cima ou por excesso: ∆x

• Arredondamento para baixo ou por falta: ∇x

• Arredondamento para o numero de maquina mais proximo: ox

18 2. Introducao a Aritmetica de Maquina

Exemplo

Seja F = F (2, 3,−1, 2) o sistema de ponto flutuante. O numero 98/∈ F ,

pois:9

8= (1.125)10 = (0.1001× 21)2.

Podemos arredondar 98para (0.100× 21)2 = (1.0)10 ou para (0.101× 21)2 =

(54)10 = (1.25)10. No primeiro caso, temos ∇(9

8) = (0.100×21), ja no segundo

caso temos ∆(98) = (0.101× 21)

Exemplo:

Seja F = F (10, 4,−98, 10) o sistema de ponto flutuante, e sejam:

x = 0.333333

y = 0.348436

z = 0.666666

Entao obtemos os seguintes numeros para os diferentes arredondamento:

∇(x) = 0.3333 ∇(y) = 0.3484 ∇(z) = 0.6666∆(x) = 0.3334 ∆(y) = 0.3485 ∆(z) = 0.6667

ox = 0.3333 oy = 0.3484 oz = 0.6667

Definicao 2.4 Um arredondamento 2 : R → F e dito por falta se valer:∀x ∈ R,2(x) 6 x.

Definicao 2.5 Um arredondamento 2 : R→ F e dito por excesso se valer:∀x ∈ R,2(x) ≥ x.

Definicao 2.6 Um arredondamento e dito monotonico se valer: ∀x, y ∈R, x 6 y ⇒ 2(x) 6 2(y).

Note que ∇(x) e um arredondamento monotonico por falta, enquanto∆(x) e um arredondamento monotonico por excesso.

2.3 Erros

Toda vez que executamos um arredondamento que nao admite uma re-presentacao exata em F , cometemos um erro. Ha varias causas de erro. Aquivamos estudar tres tipos de erro:

2. Introducao a Aritmetica de Maquina 19

Erros Inerentes: aparecem na criacao ou simplificacao de um modelo ma-tematico de determinado sistema (erros na medicao, identificacao).

Erros de Discretizacao: erros cometidos quando se substitui qualquerprocesso infinito por um processo finito ou discreto como, por exemplo:

e =∞∑

i=0

1

i!

e aproximado com a serie finita

e =T∑

i=0

1

i!

Erros de Arredondamento: surgem quando trabalhamos com maquinasdigitais para representar os numeros reais. Em geral trabalhamos comarredondamento para o numero de ponto flutuante mais proximo oucom o arredondamento por falta.

A diferenca entre o valor arredondado e o valor exato pode ser medidapelo erro absoluto ou pelo erro relativo, cujas definicoes sao dadas a seguir.

Definicao 2.7 O erro absoluto EA e dado por: EA = |2(x)− x|.

Definicao 2.8 O erro relativo ER e dado por ER = |2(x)−x||x| ou ER = |2(x)−x|

|2(x)|

Erros relativos sao mais usados que os erros absolutos. Um exemplo deerro absoluto e erro relativo e dado abaixo:

x = 0.00006

2(x) = 0.00005

EA = 0.00001

ER =0.00001

0.00005= 0.2

Alguns resultados teoricos podem ser estabelecidos sobre limites de erroslevando em consideracao propriedades do sistema de ponto flutuante.

Teorema 2.1 Seja F = F (b, n, e1, e2) um sistema de ponto flutuante. Entaovale:

∀x ∈ R, be1−16 |x| 6 B∗ ⇒ |2(x)− x|

|2(x)| 6 µ,

20 2. Introducao a Aritmetica de Maquina

onde: B∗ e o maior numero em modulo do sistema de ponto flutuante F , e

µ =

12b1−n, no caso de x = ox

b1−n, no caso de 2x = ∇xO teorema acima so e valido quando x esta dentro do espectro de repre-sentacao de F , ou seja, be1−1 6 |x| 6 B∗. No caso de underflow |x| < be1−1

ou overflow |x| > B∗, nao e possıvel de se obter cotas acima para erro relativo.

2.4 Dıgitos Significativos Exatos

Na pratica, quando obtemos um resultado de uma expressao numericaavaliada numa maquina e nao podemos saber o valor exato, torna-se im-possıvel calcular o erro relativo ou absoluto.

Definicao 2.9 Em um sistema decimal, um dıgito e significativo se for1, 2, . . . , 9. O dıgito 0 e significante, exceto quando for usado para fixar avırgula, ou o ponto decimal, ou preencher o lugar de dıgitos descartados.

Exemplo0.008735 → 4 dıgitos significativos30.357 → 5 dıgitos significativos23.000 → 2 dıgitos significativos

Definicao 2.10 Um dıgito significativo e exato se, arredondando-se onumero aproximado para uma posicao imediatamente apos aquela posicaodo dıgito, isso fizer com que o erro absoluto nao seja maior do que a meiaunidade naquela posicao do dıgito. Abreviamos o dıgito significativo exatopor DIGSE.

Exemplo Os numeros 0.66667 e 0.666998 sao aproximacoes para 23. No

entanto, todos os dıgitos significativos do primeiro sao exatos, enquanto nosegundo so os tres primeiros. Abaixo calculamos os dıgitos significativosexatos de cada aproximacao.

Primeiro Caso: 0.66667

primeiro dıgito |0.66− 0.6666 . . . | = | − 0.006666 . . . | < 0.05segundo dıgito |0.666− 0.6666 . . . | = | − 0.0006666 . . . | < 0.005terceiro dıgito |0.6666− 0.6666666 . . . | = | − 0.00006666 . . . | < 0.0005

...quinto dıgito |0.666670− 0.666666 . . . | = |+ 0.00000333 . . . | < 0.000005

2. Introducao a Aritmetica de Maquina 21

Logo todos os dıgitos sao significativos exatos.

Segundo Caso: 0.666998 Para o primeiro dıgito 9 temos

|0.66699− 0.66666 . . . | = |0.000323 . . . | 6< 0.00005

logo, o primeiro dıgito 9 ja nao e exato.

Teorema 2.2 Se ER 6 12b−m, entao o numero e correto em m dıgitos sig-

nificativos exatos.

2.4.1 Exercıcios

i. No sistema F (2, 3,−1, 2), represente a = 5/7 e b = 2/3, utilizando osarredondamentos ∇(x), ∆(x) e o(x).

ii. Para o item anterior, calcule o erro absoluto e relativo cometido ao seaproximar a com 2(a), e b com 2(b), para cada funcao de arredonda-mento.

iii. Calcule o numero de dıgitos significativos exatos das aproximacoes x =3.14169 e y = 3.141412 para π.

iv. Podemos afirmar que o arredondamento o(x) e monotonico?

2.5 Precisao e Exatidao de Maquinas Digitais

Conforme vimos, para cada maquina, calculadora ou computador ha umsistema de ponto flutuante associado. Este sistema automaticamente definea precisao da maquina.

Definicao 2.11 (Epsilon de maquina) O epsilon da maquina e o menornumero de ponto flutuante tal que:

1 + ǫ > 1.

Definicao 2.12 A precisao de uma maquina digital e definida como onumero de dıgitos da mantissa dessa maquina.

Definicao 2.13 Exatidao e uma medida de perfeicao do resultado.

22 2. Introducao a Aritmetica de Maquina

Tabela 2.4: Aproximacoes do numero πAproximacao xj DIGSE(xj, π)

3.1410 3.43.1411 3.53.1412 3.63.1413 3.73.1414 3.93.1415 4.23.1416 5.33.1417 4.23.1418 3.73.1419 3.6

A exatidao de um resultado depende da precisao da maquina e do metodoutilizado para a obtencao do resultado. Quando nao conhecemos o valorexato temos, em geral, que se x = limj→∞ xj, entao o numero de dıgitossignificativos de xj em relacao a xj+1 e dado por:

DIGSE(xj, xj+1) = −[

0.3 + log(µ+|xj+1 − xj||xj|

)

]

onde µ e a unidade de erro de arredondamento e b = 10 e a base.

Exemplo

Considere as aproximacoes para o numero π, conforme Tabela 2.4.

Embora todas as aproximacoes possuam uma precisao de cinco dıgitos,somente uma delas possue cinco dıgitos significantes exatos. Logo, exatidaode um processo depende alem da maquina, tambem do algoritmo.

Exemplo:

Seja o numero irracional√2 = 1.414213562 . . ..

a) 1.4142 e mais preciso e mais exato que 1.41, pois o primeiro tem maiornumero de casas decimais e aproxima melhor

√2;

b) 1.4149 e mais preciso que 1.414, pois tem mais casas decimais, porem,e menos exato do que 1.414, ja que o dıgito 9 do primeiro nao e exato.

2. Introducao a Aritmetica de Maquina 23

Exercıcios

i. Podemos afirmar que um resultado exato tambem e preciso? Podemosafirmar o oposto?

ii. Reproduza os valores da Tabela 2.4 utilizando uma plataforma paracomputacao numerica como, por exemplo, Octave ou Matlab.

2.6 Instabilidade

Veremos agora uma serie de problemas cujos diferentes modos de solucaopodem acarretar diferentes resultados. Quando os resultados obtidos nao saoaceitaveis, os erros podem ser causados:

a) pelos modelos ou entrada de dados (erros inerentes)

b) pelo arredondamento ou truncamento.

Instabilidade pode ser entendida como uma sensibilidade a perturbacoese pode ocorrer tanto no problema em si como no algoritmo, isto e, na maneirade resolve-lo.

2.6.1 Instabilidade dos Algoritmos

Exemplo 1: funcao ex

A instabilidade de algoritmos pode ser ilustrada atraves do exemplo de secalcular a constante de Euler. Vamos calcular e e e−5.5 pela serie de Taylor.Dado que:

ex = 1 + x+x2

2+

x3

3!+

x4

4!+ . . . (2.2)

Entao para x = 1, temos:

e ∼= 1 + 1 + 0.5 + . . . = 2.7183

Comparado a soma acima com o valor 2.718 281 828 obtido em uma calcu-ladora, verificamos um erro relativo de 6.6× 10−6, que e bem pequeno.

Por outro lado, para x = −5.5, temos:

e−5.5 ∼= 1− 5.5 + 15.125− 27.730 + . . . = 0.002 636 3.

Comparando agora com e−5.5 dado por uma calculadora, temos que:

e−5.5 = 0.004 086 714 39,

portanto, o erro relativo e 0.35 que e bem maior que o erro anterior.

24 2. Introducao a Aritmetica de Maquina

Qual a causa da diferenca?

A causa do erro e uma combinacao de dois fatores:

• somas de grandezas de diferentes ordens; e

• subtracao de grandezas quase iguais.

Tal fenomeno e dito cancelamento subtrativo ou cancelamento catastrofico,que e bastante comum em calculos. O cancelamento subtrativo nao e a realcausa do erro final da soma, ele apenas aumentou o efeito do erro final.Note que na primeira soma (para e), nao houve tal aumento. Se mudarmoso calculo de e−5.5 para 1

e5.5e utilizarmos as mesmas parcelas, obteremos

0.0040865 com erro relativo de 6.6 × 10−5. Logo podemos utilizar a seriede Taylor para argumentos positivos. Na pratica tambem devemos utilizarum criterio de parada mais cuidadoso do que o simples numero de termos daserie.

Qualidade da Aproximacao

Seja f(x) =∑T

j=0xj

j!a aproximacao de ex obtida com a expansao de

Taylor de ordem T em torno do ponto x = 0. Na Tabela 2.5 ilustramos osvalores obtidos com f(x) para x > 0 e, tambem, as aproximacoes obtidaspara ex com f(x) e 1/f(−x) quando x < 0. Na mesma tabela sao apre-sentados os valores de ex computados atraves do Matlab, seguidos dos errosrelativos induzidos por f(x) e 1/f(−x) (apenas quando x < 0) em relacao aex (Matlab). A partir dos valores apresentados na tabela podemos perceberque o erro resultante da aproximacao f(x) e elevado para x < 0.

Exemplo 2

Outro exemplo de instabilidade de algoritmo surge do calculo da integraldefinida ln =

∫ 1

0xnex−1dx para n = 1, 2, . . . Integrando por partes, temos:

ln =

∫ 1

0

xnex−1dx; u = xn e dv = ex−1dx

= [uv]10 −∫ 1

0

vdu

= [xnex−1]10 −∫ 1

0

ex−1nxn−1dx

= 1− nln−1, n = 2, 3, . . . (2.3)

2. Introducao a Aritmetica de Maquina 25

Tabela 2.5: Aproximacoes de ex obtidas com f(x) para x > 0 e com f(x) e1/f(−x) para x < 0.

x f(x) 1/f(−x) ex (Matlab) |ex − f(x)|/ex |ex − 1/f(−x)|/ex-40 50.810 4.2484e-018 4.2484e-018 10e020 5.4400e-016-20 4.1736e-009 2.0612e-009 2.0612e-009 102.48 2.0066e-016-10 4.5400e-005 4.5400e-005 4.5400e-005 7.2342e-007 2.9851e-016-5 6.7379e-003 6.7379e-003 6.7379e-003 2.1369e-011 2.5746e-016-2 0.13534 0.13534 0.13534 4.1018e-014 2.0509e-016-1 0.36788 0.36788 0.36788 3.0179e-014 1.5089e-0160 1.0000 1.0000 0.00001 2.7183 2.7183 0.00002 7.3891 7.3891 2.4040e-0145 1.4841e+002 1.4841e+002 1.9150e-01410 2.2026e+004 2.2026e+004 3.3033e-01420 4.8517e+008 4.8517e+008 2.4571e-014

Podemos calcular analiticamente o valor de l1, obtendo

l1 =

∫ 1

0

xex−1dx

= [xex−1]10 −∫ 1

0

ex−1dx

= 1 · e0 − 0 · e−1 − [ex−1]10= 1− e0 + e−1

= 1/e.

Usando F = F (10, 6,−98, 99), temos os seguintes valores:

l1 ≃ 0.367 879 l6 ≃ 0.127 120l2 ≃ 0.264 242 l7 ≃ 0.110 160l3 ≃ 0.207 274 l8 ≃ 0.118 720l4 ≃ 0.170 904 l9 ≃ −0.068 480l5 ≃ 0.145 480

Olhando o integrando x9ex−1, verificamos que e sempre positivo em [0, 1] e,no entanto, o valor computado para l9 foi negativo.

26 2. Introducao a Aritmetica de Maquina

O que causou o erro?

Notemos que so foi feito um erro de arredondamento em l1 quando 1efoi

tomado por 0.367879 em vez de 0.367879442. Como a formula esta correta,o erro final e devido apenas a este erro cometido em l1.

Observemos como tal erro ocorreu. Em l2 o erro foi multiplicado por −2,depois em l3 foi multiplicado por −3, etc. Entao o erro de l9 e exatamente(−2)(−3) . . . (−9) = 9!. Sendo

E1 = [1

e− 0.367879] = 4.412× 10−7,

teremos no final4.412× 10−7 · 9! = 0.1601

Logo, embora a formula esteja correta, ela e instavel. Com relacao aoacumulo de erros, o algoritmo gerado e de ma exatidao. Um algoritmo estavele dado por:

ln−1 =1− lnn

, n = . . . , 4, 3, 2. (2.4)

Nesta formula, a cada passo, o valor do erro em ln e decrescido por 1n(em

vez de multiplicado por n). Se comecarmos com n≫ 1 voltaremos e entao oerro inicial ou erros de arredondamento diminuirao a cada passo. Resta-nossaber qual sera o valor inicial para ln. Observamos que:

ln =

∫ 1

0

xnex−1.dx 6

∫ 1

0

xn.dx =

[

xn+1

n+ 1

]1

0

=1

n+ 1.

Portanto, ln tende a zero quando n tende ao infinito. Se aproximarmos l20para zero e o usarmos como valor inicial, teremos:

l20 ≃ 0 l14 ≃ 0.062 732 2l19 ≃ 0.050 000 0 l13 ≃ 0.066 947 7l18 ≃ 0.050 000 0 l12 ≃ 0.071 773 3l17 ≃ 0.052 777 8 l11 ≃ 0.077 352 3l16 ≃ 0.055 719 0 l10 ≃ 0.083 877 1l15 ≃ 0.059 017 6 l9 ≃ 0.091 612 3.

Majorando o erro em l20 por 121

temos:

E19 = 120× 1

21= 0.0024

E18 = 119× 1

20× 1

21= 0.00012

......

E15 = 4× 10−8.

2. Introducao a Aritmetica de Maquina 27

Continuando o algoritmo, obtemos:

l8 ≃ 0.100 932 0 l4 ≃ 0.170 893 4l7 ≃ 0.112 383 5 l3 ≃ 0.207 276 7l6 ≃ 0.126 802 4 l2 ≃ 0.264 241 1l5 ≃ 0.145 532 0 l1 ≃ 0.367 879 5

Exemplo 3

Vamos agora considerar o problema de calcular a media aritmetica dedois numeros a e b.

Algoritmo 1 Algoritmo 2 Algoritmo 31) Entrada(a, b) 1) Entrada(a, b) 1) Entrada(a, b)2) s← a+ b 2) s1 ← a

22) d1 ← a− b

3) m← s2

3) s2 ← b2

3) d1 ← d12

4) Saıda(m) 4) m← s1 + s2 4) m← d1 + b5) Saıda(m) 5) Saıda(m)

Para um dado F = F (b, n, l1, l2) podemos ter conforme os valores a, b ∈ Fos seguintes problemas:

• Algoritmo 1: overflow em 2

• Algoritmo 2: underflow em 2 e 3

No algoritmo 3 nao teremos provavelmente nenhum erro operacional, maspoderemos ter um erro no comando (2) se houver cancelamento subtrativo.

Exercıcios

i. Utilizando a expansao de Taylor de 15a para a funcao exponencial,conforme equacao (2.2), obtenha as entradas da Tabela 2.5. Utilize umaplataforma para computacao numerica tal como Matlab ou Octave.

ii. Calcule ln, n = 1, . . . , 15, utilizando as expressoes (2.3) e (2.4).

2.7 Instabilidade de Problemas

Na secao anterior investigamos a instabilidade inerente a algoritmos.Aqui, nos concentramos nos problemas que geram instabilidade intrınseca.

28 2. Introducao a Aritmetica de Maquina

Considere a tarefa de equilibrar um lapis, conforme a Figura 2.2. Asegunda tarefa (equilıbrio) e instavel pois, se o lapis ficar de pe, sera poralgumas fracoes de segundo e depois caira. Ja, no caso estavel, uma pequenaperturbacao na posicao do lapis nao acarretara a queda, voltando este aposicao de equilıbrio. Algo semelhante ocorre com problemas numericos.

Estavel Instavel

Figura 2.2: Ilustracao de equilıbrio estavel e instavel.

Exemplo

Consideremos entao o problema de encontrar as raızes do polinomio:

p(x) = x20 − 210x19 + . . .

= (x− 1)(x− 2)(x− 3) . . . (x− 19)(x− 20)

= 0. (2.5)

Obviamente as raızes sao 1, 2, 3, . . . 20 e estao bem separadas. Computandoas raızes de p(x) + 2−23x19 = 0 com Matlab1 obteremos:

R1 = 1.000 000 000 R9 = 9.147 281 378R2 = 1.999 999 999 R10 = 9.502 011 297R3 = 3.000 000 000 R11, R12 = 10.892 998 111± 1.149 333 128iR4 = 3.999 999 999 R13, R14 = 12.821 708 789± 2.123 455 162iR5 = 5.000 000 072 R15, R16 = 15.305 903 612± 2.775 365 983iR6 = 5.999 993 056 R17, R18 = 18.181 314 032± 2.548 942 153iR7 = 7.000 303 398 R19, R20 = 20.476 768 271± 1.039 017 467iR8 = 7.993 025 044

1Utilizamos as seguintes diretivas: syms x; p = (x − 1) ∗ (x − 2) ∗ (x − 3) ∗ (x − 4)∗(x− 5) ∗ (x− 6) ∗ (x− 7) ∗ (x− 8)∗ (x− 9) ∗ (x− 10) ∗ (x− 11) ∗ (x− 12)∗ (x− 13) ∗ (x−14) ∗ (x− 15) ∗ (x− 16)∗ (x− 17) ∗ (x− 18) ∗ (x− 19) ∗ (x− 20)+ 2(− 23) ∗x(19); solve(p)

2. Introducao a Aritmetica de Maquina 29

Note que um termo da equacao mudou de −210x19 para −210x19 + 2−23x19,ou seja, uma mudanca no vigesimo dıgito da base 2 de um dos coeficientes.Apesar desta pequena perturbacao, o resultado e completamente inesperadoe as mudancas nas raızes sao grandes. A razao desta mudanca drastica nao eo arredondamento nem o algoritmo e sim um problema de condicionamento.

Ha certos problemas que, quando sofrem alteracao nos dados de entrada,tem na sua resposta uma pequena diferenca proporcional, enquanto outrosmostram grande variacao no resultado mesmo com uma pequenıssima al-teracao nos dados de entrada. Os primeiros problemas sao ditos bem condi-cionados e os segundos sao ditos mal condicionados. A nocao de problemasbem e mal condicionados sera elaborada na parte de solucao de sistemas deequacoes lineares.

2.8 Exercıcios

Exercıcio 2.1 Seja P um problema, F um sistema de ponto flutuante, e Aum algoritmo numerico para resolver P . Prof. Kunz afirma que a exatidao doalgoritmo A aumenta se aumentarmos a precisao da maquina. Voce discordaou concorda com Prof. Kunz? Justifique sua resposta.

Exercıcio 2.2 Seja P um problema e F um sistema de ponto flutuante.Sejam ainda A1 e A2 dois algoritmos distintos para resolver o problema P .Sabemos que A1 e A2 resolvem P . Sem conhecer o funcionamento de A1 eA2, Prof. Gillet afirma que ha duas possibilidades:

a) A1 e mais exato e mais rapido do que A2; ou

b) A2 e mais exato e mais rapido do que A1. Se voce concorda com o Prof.Gillet, indique como que se pode descobrir qual algoritmo e melhor. Sevoce discorda, desenvolva uma justificativa.

Exercıcio 2.3 De a definicao (sucinta) de erro inerente, de discretizacao ede arredondamento. Individualmente, como se pode tratar cada um destestipos de erro?

Exercıcio 2.4 Sejam F1 = (b1, n1, e11, e21) e F2 = (b2, n2, e12, e22) dois siste-mas de ponto flutuante. Sabemos que b1 < b2. Seja x ∈ R um numero real,x1 a representacao de x em F1, e x2 a representacao de x em F2. Prof. Tellisafirma que para n1 grande o suficiente, |x1 − x| 6 |x2 − x|. Voce concordaou discorda do Prof. Tellis? Justifique a sua resposta.

30 2. Introducao a Aritmetica de Maquina

Exercıcio 2.5 Seja P um problema numerico e A um procedimento pararesolver P . O procedimento A possui erros, por isso nao e um algoritmo.Seja x = A(x0) a saıda produzida pelo procedimento quando este recebe umaestimativa inicial x0 da solucao como entrada. Seja x∗ uma solucao para P .A probabilidade de A(x0) = x∗ e dada por p = 1/3, sendo esta independentede x0. O Prof. Beans afirma que podemos utilizar o procedimento na buscade uma solucao de P? Se voce concorda, indique como utilizar A. Casocontrario, justifique a impossibilidade.

Exercıcio 2.6 Considere o sistema de ponto flutuante F = (2, 3,−5, 5).Quantas solucoes admite a equacao 1 + x = 1, onde x ∈ F? Utilize arredon-damento por falta.

Exercıcio 2.7 Assumindo precisao infinita, converta os numeros abaixo dabase binaria para a base decimal, ou da base decimal para a base binaria,conforme indicacao:

(11100.1101)2 = ( )10

(0.011011)2 = ( )10

(67)10 = ( )2

(93.125)10 = ( )2

Exercıcio 2.8 Dado o sistema de ponto flutuante F = F (10, 8,−99, 99),represente os numeros abaixo neste sistema de ponto flutuante:

x1 = (1043.625)10x2 = (0.0000415)10x3 = (213.013)4x4 = (0.00101)2

Exercıcio 2.9 E possıvel existir um sistema de ponto flutuante com e1 =−2, e2 = 5, e n = 2 com 37 elementos? Se sim, qual a base deste sistema?Caso contrario, qual e o menor numero de elementos que podemos ter comeste sistema?

Exercıcio 2.10 Considere a integral definida yn =∫ 2

0nn logn xex−1dx. Obte-

nha uma formula recursiva tal que yn seja uma funcao de yn−1: yn = f(yn−1).Calcule analiticamente y1, depois obtenha y2, y3 e y4 usando a formula re-cursiva.

Exercıcio 2.11 Seja F (b, n, e1, e2) = F (2, 3,−1, 2) um sistema de pontoflutuante.

2. Introducao a Aritmetica de Maquina 31

i. Encontre a regiao de underflow.

ii. Encontre a regiao de overflow.

iii. Qual e o menor elemento x de F?

iv. Para x = 1/3, encontre ∇x.

v. Para x = 1/3, encontre ∆x.

Exercıcio 2.12 Seja x = 0.b1b2 . . . bk a representacao ponto flutuante de umnumero y. Qual a razao para que b1 seja maior do que zero?

Exercıcio 2.13 Responda as questoes abaixo:

i. Seja x um numero real e F (b, n, e1, e2) um sistema de ponto flutuante.Seja δmax = maxx ∈ F e δmin = minx ∈ F. Suponha que x estadentro da regiao de representacao de F , ou seja, δmin 6 x 6 δmax. Seadotarmos ∇x como funcao de arredondamento, podemos afirmar queo erro absoluto |∇x− x| e limitado?

ii. Seja x um numero real e F (b, n, e1, e2) um sistema de ponto flutuante.Seja δmax = maxx ∈ F e δmin = minx ∈ F. (i) Se x esta dentroda regiao de representacao de F , ou seja, δmin 6 x 6 δmax, (ii) seadotarmos ∇x como funcao de arredondamento e (iii) se x 6= 0, entaopodemos afirmar que o erro relativo definido por |∇x−x|/x e limitado?

iii. E sempre possıvel implementar ox como uma funcao de ∇x e ∆x?

iv. Assuma que x ∈ R nao esta na regiao de overflow de um sistema deponto flutuante F (b, n, e1, e2). Considere o conjunto S = x ∈ R : x 6∈regiao de overflow, ∇x = ∆x. Podemos afirmar que S e finito?

Exercıcio 2.14 Para a funcao f(x) =√x sin(x) execute as tarefas abaixo:

a) Obtenha uma aproximacao f(x) em torno do ponto x = π/2 com umaserie de Taylor de segunda ordem. (O erro deve ser da ordem O(|∆x|3)).

b) Calcule f(π/3).

c) Calcule o erro relativo cometido ao adotarmos o valor f(π/3) em vezde f(π/3).

Exercıcio 2.15 Converta o numero (0.132)4 na base 4 para o seu corres-pondent na base 5 utilizando ate 5 dıgitos na mantissa.

32 2. Introducao a Aritmetica de Maquina

Capıtulo 3

Resolucao de EquacoesNao-Lineares

3.1 Introducao

Dada uma funcao f : R → R, um problema de grande interesse e adeterminacao da existencia e calculo de uma raiz x de f , ou seja, x tal quef(x) = 0. O primeiros estudos datam do Seculo IX quando os trabalhosde matematicos arabes que difundiram a utilizacao do sistema decimal e dozero na escrita de numeros. Com Bhaskara, tornou-se conhecida a formulapara resolucao de equacoes quadraticas: f(x) = ax2 + bx + c. Mais tarde,os matematicos Nicolo Fontana e Jeronimo Cardano desenvolveram metodospara solucao de equacoes de 3o e 4o grau. O matematico Niels Abel provouque as equacoes de quinto grau ou superior nao podem ser resolvidas de umaforma coerente.

Outro resultado relevante e o Teorema Fundamental da Algebra, enunci-ado por D’Alembert em 1746: “toda a equacao polinomial de grau n possuiexatamente n raızes” foi demonstrado por Gauss em 1799. A partir daı, ateos dias atuais, os metodos de calculo das n raızes de um polinomio de grau nsao voltados aos metodos iterativos. Tais metodos sao tambem aplicaveis asequacoes transcedentes1. Os principais metodos iterativos para calculo dasraızes de equacoes algebricas ou transcedentes sao de tres tipos:

Metodos de quebra: Para aplicarmos os metodos de quebra temos que terum intervalo [a, b] onde a funcao troca de sinal. Partimos o intervaloem dois outros intervalos e verificamos qual contem a raiz desejada eassim prosseguimos.

1Sao funcoes que nao podem ser definidas diretamente atraves de formulas algebricascomo, por exemplo, funcoes exponenciais, logarıtmicas e trigonometricas.

34 3. Resolucao de Equacoes Nao-Lineares

Metodos de ponto fixo: Comecamos de uma aproximacao inicial x0 econstruımos uma sequencia xjnj=1 na qual cada termo e dado porxj+1 = g(xj), onde g e uma funcao de iteracao. Conforme as proprie-dades de g, surgem diferentes tipos de metodos de ponto fixo.

Metodos de multiplos passos: Estes metodos constituem uma genera-lizacao do anterior onde para determinar um ponto xj+1 utilizamosvarios pontos anteriores: xj, xj−1, . . . , xj−p. Com a abordagem itera-tiva se faz necessario determinar um intervalo inicial, um ou mais pon-tos para construirmos a sequencia xj e, mediante certas condicoes,teremos que a raiz x∗ sera dada por

x∗ = limj→∞

xj

3.1.1 Exemplo de Aplicacao

Aqui ilustramos a aplicacao do problema de encontrar a raiz de umaequacao nao-linear em circuitos eletricos. O circuito eletrico exemplo, des-crito na Figura 3.1, consiste de uma fonte de tensao contınua E em serie comum resistor e um elemento nao-linear, cuja queda de tensao x e dada por umafuncao nao linear g(x) que regula a corrente y que circula na malha, sendoy uma funcao da queda de tensao no componente nao linear, i.e., y = g(x).Aplicando a lei das malhas no circuito obtemos

E = Ry + x (3.1)

= Rg(x) + x (3.2)

portanto

g(x)− E

R+

x

R= 0. (3.3)

O problema e encontrar um ponto de operacao para o sistema, ou seja, valoresde tensao ou corrente que definam um ponto de equilıbrio que nada mais edo que a solucao de (3.3). Fazendo

f(x) = g(x)− E − x

R

o problema e encontrar um zero de f(x). Para o caso do grafico dado naFigura 3.1, observamos que a funcao f(x) tem tres possıveis solucoes, cadauma delas definindo um ponto de operacao distinto para o circuito.

O numero e existencia de solucao de uma funcao nao-linear f(x) dependeintrinsecamente da funcao. Alguns exemplos sao:

3. Resolucao de Equacoes Nao-Lineares 35

++

− −

Ey = g(x)

R

x

y

(E − x)/R

g(x)

Figura 3.1: Circuito eletrico com componente nao-linear.

a) f(x) = ex nao tem zero;

b) f(x) = ex − e−x tem apenas um zero;

c) f(x) = ex − e−x − 3x tem tres zeros; e

d) f(x) = cos x− 1/2 tem um numero infinito de zeros.

Ilustracoes graficas das funcoes acima estao na Figura 3.2.

−4 −2 0 2 40

5

10

15

20

25

−4 −2 0 2 4−30

−20

−10

0

10

20

30

−4 −2 0 2 4−1.5

−1

−0.5

0

0.5

1

1.5

−5 0 5−1.5

−1

−0.5

0

0.5

f(x)=exp(x) f(x)=exp(x)−exp(−x)

f(x)=exp(x)−exp(−x)−3x

f(x)=cox(x) − 1/2

Figura 3.2: Numero de zeros para varias funcoes.

36 3. Resolucao de Equacoes Nao-Lineares

3.2 Ordem de Convergencia

O conceito de convergencia e muito importante no estudo da matematicanumerica e sera utilizado nas proximas secoes. Em geral este assume ex-pressoes como:

a) o metodo converge como 1/n;

b) o metodo converge como 1/k3.5;

c) o metodo converge como h3;

d) o erro e da ordem h4;

e) o erro decai como e−n; e

f) a taxa de convergencia e log(n)/n.

Precisamos de uma nocao sobre como o erro tende a zero a medida queos parametros variam. Isto nos permite comparar diferentes metodos.

Definicao 3.1 Uma sequencia x0, x1, . . . converge para x se dado ǫ > 0 existeum I tal que qualquer que seja i > I, |xi − x| < ǫ. Neste caso, temos:

limj→∞

xj = x

Definicao 3.2 Seja uma sequencia x0, x1, . . . que converge para x. Seja ej =|xj − x|. Se existe um numero p > 1 e uma constante c 6= 0 tal que

limj→∞

ej+1

epj= c

entao p e dito ordem de convergencia e c, constante assintotica de erro.

Se p = 1, 2, ou 3, entao a convergencia e dita linear, quadratica ou cubica.Se a sequencia x0, x1, . . . e produzida por uma funcao φ onde

xj+1 = φ(xj, xj−1, . . . , xj−m+1)

entao dizemos que φ e de ordem m. Quando a convergencia e linear, entaoisto significa que a cada passo do metodo o erro e reduzido (aproximada-mente) de um fator constante. Se a convergencia e quadratica, entao o erroe assintoticamente reduzido do quadrado do erro anterior.

3. Resolucao de Equacoes Nao-Lineares 37

Exercıcios

Considere as series:

i. xk = 1/k, k = 1, 2, . . .;

ii. xk = 1/2k, k = 1, 2, . . .; e

iii. xk+1 = αkxk + β, k = 1, 2, . . ., com α ∈ (0, 1), β ∈ R e x1 ∈ R.

Para cada serie, voce pode afirmar se ela converge? Utilize a definicao deconvergencia para responder a pergunta. Se for convergente, qual e a taxade convergencia?

3.3 Metodos Iterativos para Resolucao de

Equacoes

Qualquer metodo iterativo e formado de quatro partes:

a) Estimativa inicial: uma ou mais aproximacoes para a raiz desejada.

b) Atualizacao: uma formula que atualize a solucao aproximada.

c) Criterio de parada: uma forma de estabelecer quando parar o processoiterativo em qualquer caso.

d) Estimador de exatidao: esta associado ao criterio de parada e proveuma estimativa do erro cometido.

O item (a) e obtido via separacao das raızes, enquanto o item (b) sera ana-lisado posteriormente caso a caso conforme o metodo. Vejamos os itens (c)e (d) simultaneamente. Em princıpio, podemos parar um processo iterativode quatro maneiras:

a)|xj−xj−1|

|xj | < ǫ1

b) |f(xj)| < ǫ2

c) DIGSE(xj, xj−1) > k

d) i > L

38 3. Resolucao de Equacoes Nao-Lineares

onde: ǫ1, ǫ2 sao valores de tolerancia dados, k e o numero de dıgitos signifi-cativos exatos requeridos na aproximacao final, e L e o numero maximo deiteracoes permitido.

O criterio (a) se refere ao erro relativo entre xj e xj−1. O criterio (b) eum limite para o modulo do valor de f em xj. Pode ocorrer que um criterioseja satisfeito sem que os outros sejam, conforme e ilustrado na Figura 3.3.Para certos valores de ǫ1 e ǫ2, o segundo criterio pode ser satisfeito na Figura3.3(a) enquanto o primeiro criterio pode falhar. Na parte (b) da figura oinverso ocorre.

x∗

x∗

xjxj xj−1

xj−1xx

f(x)

(a)

(b)

Figura 3.3: Dificuldades com criterios de convergencia.

O terceiro criterio esta relacionado com o erro relativo, porem da umaideia mais clara da exatidao obtida.

3.4 Metodos de Quebra

Os metodos de quebra sao os mais intuitivos geometricamente, contudo,sao os que convergem mais lentamente. A partir de um intervalo que contenhauma raiz para f(x) = 0 se parte este intervalo em outros menores que aindacontenham pelo menos uma raiz de f(x) = 0. E necessario que f troque desinal no intervalo inicial e seja contınua dentro do intervalo.

3.4.1 Metodo da Biseccao

O metodo da biseccao, inspirado no Teorema de Bolzano, parte de umintervalo [a, b] que contenha uma raiz para f(x) = 0 onde f(a) · f(b) < 0,

3. Resolucao de Equacoes Nao-Lineares 39

ou seja, f(x) corta o eixo x em pelo menos um ponto de [a, b]. O passos doalgoritmo sao dados a seguir.

Passos Gerais do Algoritmo

1) Calcula-se f(x) no ponto medio de [a, b] : xm = a+b2

2) Se f(xm) 6= 0 (i.e., f(a) · f(xm) < 0 ou f(xm) · f(b) < 0), escolhe-se umnovo intervalo de modo que f tenha sinais opostos nas extremidades

3) Repete-se a partir de (1) ate que tenhamos chegado “suficientementeperto da raiz”

Sejam x0 = a e x1 = b dois pontos que definem um intervalo l0. DaFigura 3.4 observa-se que f(a) · f(xm) < 0 onde xm = a+b

2= x2. Portanto,

determinamos que o intervalo l1 = [x0, x2] contem uma raiz de f(x) = 0.Mais detalhadamente, o metodo da biseccao pode ser descrito conforme oalgoritmo abaixo. A Figura 3.4 ilustra o funcionamento do algoritmo.

a b x

f(x)

I0

I1

I2

Figura 3.4: Ilustracao do comportamento do algoritmo da biseccao

Biseccao(f, a, b, L, ǫ1, ǫ2)

1: x0 ← a, x1 ← b, i← 02: f0 ← f(x0), f1 ← f(x1)3: if f0 · f1 > 0 then4: Saıda “erro: nao [a, b] nao satisfaz condicoes iniciais”

40 3. Resolucao de Equacoes Nao-Lineares

5: end if6: while |f0| > ǫ2 e |f1| > ǫ2 e i ≤ L do7: if |x0 − x1| < ǫ1|x1| then8: Saıda (x0, x1);9: end if10: x2 ← (x0 + x1)/211: f2 ← f(x2)12: if f2 · f0 < 0 then13: x1 ← x2

14: f1 ← f215: else16: x0 ← x2

17: f0 ← f218: end if19: i← i+ 120: end while21: if i > L then22: Saıda “nao atingiu exatidao em L iteracoes”23: end if24: if |f0| 6 ǫ2 then25: Saıda (x0)26: else27: Saıda (x1)28: end if

A busca de um intervalo inicial [a, b] onde f(a).f(b) < 0 pode ser exem-plificada para a funcao f(x) = e−x − x que esta ilustrada na Figura 3.5.A partir dos valores de f(x) obtidos na Tabela 3.1, podemos deduzir que ointervalo inicial [a, b] = [0.5, 1.0] satisfaz a condicao necessaria para aplicacaodo metodo da biseccao. Conforme dados da tabela, podemos fazer a = 0.5 eb = 1.0 tal que [a, b] contem uma raiz para f(x).

Tabela 3.1: Valores da funcao f(x) = e−x − xx f(x)0 10.5 0.10651.0 -0.63211.5 -1.27682.0 -1.8646

3. Resolucao de Equacoes Nao-Lineares 41

x

y

y = x

y = e−x

Figura 3.5: Funcao f(x) = e−x − x.

Observacoes:

1) pode ser difıcil encontrar um intervalo inicial, conforme ilustracao daFigura 3.6; e

2) se ocorrer um erro de arredondamento, mesmo que pequeno, no mo-mento que se avalia o sinal do ponto medio, o intervalo resultante podenao conter uma raiz.

(a) (b) (c)

Figura 3.6: Dificuldade na obtencao do intervalo inicial

42 3. Resolucao de Equacoes Nao-Lineares

Ordem de Convergencia da Biseccao

Seja x a raiz de f(x). Seja ej = |xj − x| o erro da iteracao j. Uma vezque xj+1 =

xj+xj−1

2tal que f(xj)f(xj−1) < 0, temos que

ej+1 6ej2⇔ ej+1

ej6

1

2(3.4)

Logo,

limj→∞

ej+1

ej=

1

2

Portanto, fica evidenciado que o metodo da biseccao tem convergencia linear.Vamos agora relacionar a convergencia linear com o numero DIGSE,

obtido a cada iteracao:

DIGSE(xj+1, xj)−DIGSE(xj, xj−1) =

= −(

0.3 + log(

|xj+1−xj ||xj |

))

+(

0.3 + log(

|xj−xj−1||xj−1|

))

=

= log(

|xj−xj−1||xj−1|

)

− log(

|xj+1−xj ||xj |

)

Indicando ER(xj) =|xj−xj−1||xj−1| e usando (3.4), obtemos

DIGSE(xj+1, xj)−DIGSE(xj, xj−1) = logER(xj)

ER(xj+1)

> log 2

DIGSE(xj+1, xj) ≈ DIGSE(xj, xj−1) + 0.33

A velocidade de convergencia da biseccao e 0.3DIGSE/ iteracao, isto e, acada tres ou quatro iteracoes ganha-se um DIGSE, ou ainda um bit a cadaiteracao.

Exemplo: Minimizacao de Funcoes

Suponha que cada cm2 de latao custa R$ 2, 00. Qual deve ser a alturah (em cm) e o raio r (em cm) de uma lata sem tampa, de menor custopossıvel, tal que seu volume seja maior ou igual a 500cm3? Podemos expressareste problema em uma linguagem matematica conhecida como programacaomatematica:

P : Minimize f(r, h) = 2(πr2 + 2πrh)r, h

Sujeito a :πr2h > 500

3. Resolucao de Equacoes Nao-Lineares 43

Observando que h = 500/(πr2) e substituindo esta expressao em P , obtemos:

P : Minimize f(r, h) = 2(πr2 + 2πrh) = 2[

πr2 + 2πr 500πr2

]

= 2πr2 + 4×500r

r, h

Note que f e uma funcao convexa e, portanto, o ponto de mınimo pode serencontrado fazendo df

dr= 0, o que nos leva a:

df

dr= 4πr − 2000

r2= 0

portanto, o raio otimo e:

r∗ =

(

500

π

) 13

e a altura otima e:

h∗ =500

π(

500π

) 23

=500

13

π13

=

(

500

π

) 13

= r∗

Em valores numericos: (r∗, h∗) = (5.4193, 5.4193).

Tarefa: utilize o metodo da biseccao para encontrar a solucao otima (r∗, h∗).

Exemplo: Autovalores

Encontre um autovalor para a matriz A dada por:

A =

0 1 0 00 0 1 00 0 0 1−4 −1 5 1

Os autovalores de uma matriz A ∈ Rn×n sao definidos como as raızes da

equacao caracterıstica de grau n:

p(λ) = det(λI − A) = λn + an−1λn−1 + . . .+ a1λ+ a0 = 0

Assim, podemos obter a equacao caracterıstica de A como segue:

p(λ) = det

λ −1 0 00 λ −1 00 0 λ −14 1 −5 λ− 1

44 3. Resolucao de Equacoes Nao-Lineares

Fazendo uso da formula recursiva para calculo de determinante, deduzimosque:

p(λ) = λ(−1)1+1det

λ −1 00 λ −11 −5 λ− 1

+ 4(−1)4+1det

−1 0 0λ −1 00 λ −1

= λ[λ2(λ− 1) + 1− 5λ]− 4[−1]= λ4 − λ3 + λ− 5λ2 + 4

Fazendo p(λ) = 0 e obtendo as raızes, podemos verificar que σ(A) =2.5616,−1.5616,−1, 1 e o conjunto de autovalores de A. As raızes de p(λ)sao ilustradas na Figura 3.7.

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3−10

−5

0

5

10

15

20

Figura 3.7: Raızes do polinomio caracterıstico p(λ) = λ4 − λ3 + λ− 5λ2 + 4de A.

3.4.2 Metodo da Falsa Posicao

Sob as mesmas condicoes iniciais do metodo da biseccao, temos aindavarias maneiras de particionar o intervalo [a, b] que contem pelo menos umaraiz. Por exemplo, podemos particionar [a, b] na interseccao da reta que uneos pontos (a, f(a)) e (b, f(b)) com o eixo x. Seja xS tal ponto. Escolhe-seentao o novo subintervalo conforme a variacao do sinal da curva f . Esteprocedimento esta ilustrado na Figura 3.8. Da interseccao da reta que une

3. Resolucao de Equacoes Nao-Lineares 45

os pontos (a, f(a)) e (b, f(b)) com a reta y = 0, temos que:

xS = a− (b− a).f(a)

f(b)− f(a)

a b x

y

f(x)

I0

I1(a, f(a))

(b, f(b))

xs

Figura 3.8: Ilustracao do metodo da falsa posicao

Falsa Posicao(a, b, f, k, Lim)

1: x1 ← a e x2 ← b2: f1 ← f(x1) e f2 ← f(x2)3: xa ← a, xS ← b, e i← 14: while i ≤ Lim e DIGSE(xS, xa) < k do5: xa ← xS ⊲ xa e xS da iteracao anterior6: xS = x1 − (x2−x1)f1

f2−f1

7: fs = f(xS)8: if fS.f1 < 0 then9: x2 ← xS

10: f2 ← fS11: else12: x1 ← xS

13: f1 ← fS14: end if

46 3. Resolucao de Equacoes Nao-Lineares

15: i← i+ 116: end while17: Saıda xS, DIGSE(xS, xa)

Exemplo 1

A tarefa consiste em encontrar um zero para o polinomio p(x) = x4 −2x3− 6x2+2 onde a = −1 e b = 0. Note que p(a) = −1 e p(b) = 2, portantoo intervalo inicial satisfaz a condicao necessaria para aplicacao do algoritmoda falsa posicao. A Tabela 3.2 abaixo ilustra o comportamento do algoritmopara a sequencia dos 5 primeiros iterandos.

Tabela 3.2: Aplicacao do algoritmo da falsa posicaoi a xS f(xS)0 −1.0 +0.0 +0.1231 −1.0 −0.666 666 666 7 −2.74× 10−2

2 −0.703 296 703 3 −0.666 666 666 7 −1.95× 10−4

3 −0.696 650 702 1 −0.666 666 666 7 −1.34× 10−6

4 −0.609 603 305 1 −0.666 666 666 7 −9.22× 10−9

5 −0.696 602 978 6 −0.666 666 666 7 −2.22× 10−10

Exemplo 2

Aqui vamos aplicar o metodo da falsa posicao para encontrar uma raizde f(x) = x4 − 14x2 + 24x − 10. Conforme Figura 3.9 existe uma raiz nointervalo I = [−5, 0]. As Figuras 3.10 e 3.11 ilustram o comportamento dometodo da falsa posicao nas 8 primeiras iteracoes. O metodo converge paraa raiz x∗ = −4.4593.

Exercıcios

i. Considere um metodo de quebra que, ao contrario do metodo da bi-seccao que testa o ponto medio (x0 + x1)/2, testa o ponto xs =(x0 + 3x1)/4 para fazer a seccao do intervalo [x0, x1] em [x0, xs] (sef(x0)f(xs) < 0) ou [xs, x1] (se f(xs)f(x1) < 0). Implemente este algo-ritmo em matlab. Compare o desempenho do metodo da biseccao e ometodo proposto aqui na busca das raızes do polinomio caracterısticop(λ) = λ4 − λ3 + λ− 5λ2 + 4.

3. Resolucao de Equacoes Nao-Lineares 47

−5 −4 −3 −2 −1 0−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

−5 0 5−200

−100

0

100

200

300

400

x

f(x)

=x4 −

14x

2 + 2

4x −

10

Figura 3.9: Grafico da funcao f(x) = x4 − 14x2 + 24x− 10

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 1

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 2

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 3

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 4

Figura 3.10: Iteracoes 1, 2, 3 e 4 do metodo da falsa posicao

48 3. Resolucao de Equacoes Nao-Lineares

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 5

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 6

−6 −4 −2 0 2−200

−100

0

100

200

300

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 7

−6 −4 −2 0 2−200

−100

0

100

200

300

xf(

x)=

x4 − 1

4x2 +

24x

− 1

0

iteracao 8

Figura 3.11: Iteracoes 5, 6, 7 e 8 do metodo da falsa posicao

ii. Para o metodo de quebra dado no item acima, qual e a ordem deconvergencia do algoritmo?

3.5 Metodos de Ponto Fixo

Inicialmente relembramos que o problema de interesse e encontrar umponto x tal que f(x) = 0, onde f(x) e uma funcao nao linear. Facamos asubstituicao

g(x) = x+ c(x).f(x)

onde c(x) deve ser escolhida de forma que c(x) 6= 0 para todo x ∈ [a, b]. Sabe-mos que existe uma raiz no intervalo [a, b]. Assim, o problema de encontrarx tal que f(x) = 0 pode ser transformado no problema de encontrar x talque g(x) = x. Usando a funcao auxiliar, buscamos um ponto fixo x∗ tal que

x∗ = g(x∗).

Partindo de um ponto inicial x0 utilizamos o processo iterativo

xk+1 = g(xk)

3. Resolucao de Equacoes Nao-Lineares 49

ate que convergencia seja atingida para o ponto fixo x∗. Note que x∗ =g(x∗) ⇔ f(x∗) = 0. A seguir enunciamos alguns resultados fundamentaispara aplicacao de metodos de ponto fixo.

Teorema 3.1 Seja I = [a, b] um intervalo e g(x) uma funcao satisfazendo:

a) g e contınua em I; e

b) g(I) ⊆ I.

Entao existe pelo menos um x∗ ∈ I tal que g(x∗) = x∗, ou seja, g contem umponto fixo no intervalo I.

Prova: Como g(I) ⊆ I, entao vale

a 6 g(a) 6 ba 6 g(b) 6 b

Se g(a) = a ou g(b) = b, entao temos um ponto fixo. Se a e b nao sao pontosfixos, entao g(a)− a > 0 e g(b)− b < 0. Considere a funcao

F (x) = g(x)− x.

Note que F (x) e contınua com F (a) > 0 e F (b) < 0. Logo, pelo Teorema doValor Intermediario (Teorema A.1) a funcao F (x) deve assumir valor 0 paraalgum x∗ ∈ (a, b). Portanto x∗ e um ponto fixo de g(x) contido em I.

Teorema 3.2 Seja g uma funcao definida em I = [a, b], satisfazendo

a) g(I) ⊆ I; e

b) ∀x ∈ I, |g′(x)| 6 L < 1 (isto e, g e um operador contrativo). Entaoexiste exatamente um x∗ ∈ I tal que x∗ = g(x∗).

Prova: A condicao (b) implica na continuidade da funcao g. Pelo Teorema3.1, existe pelo menos um x∗ ∈ I tal que x∗ = g(x∗). Sejam x∗

1 e x∗2 dois ele-

mentos distintos de I, satisfazendo x∗1 = g(x∗

1) e x∗2 = g(x∗

2). Daı, verificamosque:

|x∗1 − x∗

2| = |g(x∗1)− g(x∗

2)|= |g′(β)(x∗

1 − x∗2)| para algum β ∈ [x∗

1, x∗2]

pelo Teorema do Valor Medio (3.5)

6 L|x∗1 − x∗

2|< |x∗

1 − x∗2|

Mas isto e uma contradicao, portanto x∗1 = x∗

2.

50 3. Resolucao de Equacoes Nao-Lineares

Teorema 3.3 Seja g uma funcao que satisfaz as condicoes (a) e (b) do Teo-rema 3.2. Para x0 ∈ I, a sequencia xk+1 = g(xk), k = 0, 1, . . . , converge parao ponto x∗ e o erro de truncamento no processo-limite cometido na k-esimaiteracao satisfaz:

|x∗ − xk| = |etr| < Lk

1−L|x1 − x0| (erro a priori)

|x∗ − xk| = |etr| < L1−L|xk − xk−1| (erro a posteriori)

Prova: A partir do Teorema 3.2, sabemos que existe um ponto fixo x∗ unico.Sabemos tambem que

|xk − x∗| = |g(xk−1)− g(x∗)|= |g′(β)(xk−1 − x∗)| para β ∈ [xk−1, x

∗]

= |g′(β)|.|xk−1 − x∗|6 L|xk−1 − x∗|.

Sucessivamente, podemos verificar que

|xk − x∗| 6 L|xk−1 − x∗| 6 L2|xk−2 − x∗| 6 Lk|x0 − x∗|.Como L < 1, temos

limk→∞

Lk = 0⇒ limk→∞|xk − x∗| = 0⇒ lim

k→∞xk = x∗.

Note que

|xk−1 − xk| = |g(xk−2)− g(xk−1)| = |g′(β)|.|xk−2 − xk−1|6 L|xk−2 − xk−1|6 L2|xk−3 − xk−2|6

...

6 Lk−1|x0 − x1|.Considere uma iteracao k e j > k, podemos verificar que

|xj − xk| = |xj − xj−1 + xj−1 − xj−2 + xj−2 − . . .+ xk+1 − xk|= |(xj − xj−1) + (xj−1 − xj−2) + . . .+ (xk+1 − xk)|6 |xj − xj−1|+ |xj−1 − xj−2|+ . . .+ |xk+1 − xk|6 Lj−1|x0 − x1|+ Lj−2|x0 − x1|+ . . .+ Lk|x0 − x1|6 Lk(Lj−1−k + Lj−2−k + . . .+ L0)|x0 − x1|

6 Lk

( ∞∑

i=0

Li

)

|x0 − x1|

6Lk

1− L|x1 − x0|.

3. Resolucao de Equacoes Nao-Lineares 51

Fazendo xj → x∗, concluımos que

|etr| = |x∗ − xk| 6Lk

1− L|x1 − x0|.

De forma semelhante, pode-se deduzir o erro de truncamento a posterioriconforme enunciado no teorema.

Teorema 3.4 Seja g uma funcao definida em I = [a, b], satisfazendo

a) g e contınua;

b) g(I) ⊆ I; e

c) |g(x)− g(y)| 6 γ|x− y| para todo x, y ∈ I, x 6= y, e algum γ < 1.

Entao existe exatamente um x∗ ∈ I tal que x∗ = g(x∗) e o processo iterativoxk+1 = g(xk), k = 0, 1, . . . , converge para x∗ se x0 ∈ I.

Prova: Primeiro, vamos demonstrar a unicidade de x∗. As condicoes (a) e(b) sao as mesmas do Teorema 3.1, implicando na existencia de pelo menosum ponto fixo em I. Suponha que existam dois pontos fixos x∗

1, x∗2 ∈ I

distintos. Entao:

|x∗1 − x∗

2| = |g(x∗1)− g(x∗

2)|6 γ|x∗

1 − x∗2|

< |x∗1 − x∗

2|contradizendo a hipotese. Concluımos que existe exatamente um ponto fixox∗ em I.

Agora, podemos demonstrar a convergencia para o ponto fixo x∗. Noteque:

|xk − x∗| = |g(xk−1)− x∗|= |g(xk−1)− g(x∗)|6 γ|xk−1 − x∗|

6...

6 γk|x0 − x∗|Desta deducao segue que:

limk→∞|xk − x∗| 6 lim

k→∞γk|x0 − x∗|

= |x0 − x∗| limk→∞

γk

= 0 [Pois γ < 1]

52 3. Resolucao de Equacoes Nao-Lineares

Portanto, concluımos que limk→∞ xk = x∗.

Considere a funcao f(x) = x3−5x+3. Um exemplo de processo iterativoe: c(x) = 1

5que nos leva a g(x) = x+c(x).f(x)⇒ g(x) = x+ x3−5x+3

5= x3+3

5.

3.5.1 Metodo da Iteracao Linear

No metodo da iteracao linear, dada uma funcao f(x), utilizamos comofuncao auxiliar c(x) = 1 que induz a funcao de iteracao g(x) = x+c(x).f(x) =x+ f(x).

Dependendo da funcao de iteracao, podemos obter um comportamentodesejado (convergencia para a solucao) ou indesejado (divergencia), conformeilustracao nas Figuras 3.12, 3.13, 3.14, e 3.15. Os pontos x∗ que satisfazema condicao x∗ = g(x∗) sao ditos pontos fixos de g(x) e representam geome-tricamente os pontos de interseccao da reta y = x com a curva y = g(x).

xx1 x2x3 x4x5

y = x

y = g(x)

y

Figura 3.12: Convergencia oscilante.

Exemplo 1

Para a funcao f(x) = x2

10− x + 1, podemos obter uma funcao g(x) fazendo

c(x) = 1, que nos leva a g(x) = x2

10+ 1. Para o intervalo I = [1, 1.5] vamos

verificar se as condicoes do Teorema 3.2 sao satisfeitas.

3. Resolucao de Equacoes Nao-Lineares 53

xx0x1x2x3x4x5

y = x

y = g(x)

y

Figura 3.13: Convergencia monotonica.

xx0 x1x2 x3

x4 x5

y = x

y = g(x)

y

Figura 3.14: Divergencia oscilante.

54 3. Resolucao de Equacoes Nao-Lineares

xx0 x1 x2 x3 x4

y = x

y = g(x)

y

Figura 3.15: Divergencia monotonica.

Primeiro, verificamos se g(I) ⊆ I. Seja x ∈ I, ou seja, 1 6 x 6 1.5. Noteque g(x) 6 1.5 ⇔ x2 6 10 × 0.5 ⇔ x 6

√5 ⇔ x 6 2.2361. De maneira

similar, g(x) > 1⇔ x2 > 0. Portanto, se x ∈ I temos que g(x) ∈ I.

Ainda resta verificar se |g′(x)| < 1. Note que g′(x) = 2x10. Para x ∈ I,

g′(x) 6 2×1.510

= 0.3.

Logo as condicoes do Teorema 3.2 sao satisfeitas e, se tomarmos x0 ∈ I,a sequencia xk+1 = g(xk), k = 0, 1, . . . deve convergir para uma solucao def(x) = 0, conforme mostra o Teorema 3.3.

Para x0 = 1.5 a sequencia de iterandos e descrita na Tabela 3.3 e ilustradana Figura 3.16. Podemos observar que o metodo convergira para o valorx = 1.127 016 653 792 58 que e uma das raızes exatas de f(x) = 0.

Exemplo 2

Para a funcao f(x) = x − 2 sin(x), obtemos a funcao de iteracao g(x) =2 sin(x) fazendo c(x) = −1. Vamos verificar se as condicoes do Teorema 3.2sao satisfeitas para o intervalo I = (π

2, 2π

3) = (900, 1200) ≈ (1.5708, 2.0994).

Observe que 0.866 6 sin(x) 6 1 para x ∈ I, portanto g(x) > 2 sin(2π3) =

1.7321 para todo x ∈ I. Observe tambem que g(x) 6 2 sin(π2) = 2 para todo

x ∈ I. Assim concluımos que g(I) ⊆ I.

Como g′(x) = 2 cos(x), temos que |g′(x)| 6 |2 cos(2π3)| = |2×(−0.5)| = 1.

3. Resolucao de Equacoes Nao-Lineares 55

0 2 4 6 8 10 12 14 16 18 201.1

1.15

1.2

1.25

1.3

1.35

1.4

1.45

1.5

Figura 3.16: Exemplo de sequencia de iterandos de um processo iterativo.

Tabela 3.3: Sequencia de iterandosk xk

0 1.51 1.2252 1.150 06253 1.132 264 375 390 634 1.128 202 261 577 87...

...100 1.127 016 653 792 58

Assim, de acordo com os Teoremas 3.2 e 3.2, o processo iterativo con-vergira para a raiz se x0 ∈ I. A sequencia obtida para x0 = π/2 e dada naTabela 3.4.

3.5.2 Exercıcios

i. Para a funcao f(x) = x2

10− x + 1 do exemplo 1, foi demonstrado que

o operador iterativo g(x) obtido com c(x) = 1 e convergente dentro dointervalor I = [1, 1.5]. Calcule analiticamente a raiz x⋆ ∈ I. Comx0 = 1.2, aplique o processo iterativo ate a iteracao 4 e obtenha x4.Verifique que o erro de truncamento observado |x⋆ − x4| esta dentrodo limite de erro a priori estabelecido pelo Teorema 3.3. Repita a

56 3. Resolucao de Equacoes Nao-Lineares

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5−2

−1

0

1

2

3

4

5

y=x

y=g(x)

y=0

o

Figura 3.17: Metodo de ponto fixo para raiz de f(x) = x− 2 sin(x).

verificacao para o erro de truncamento a posteriori.

3.6 Metodo de Newton

Seja f : R→ R uma funcao diferenciavel. Dado xk, o metodo de Newtonutiliza a expansao de Taylor em torno do iterando xk para obter o proximoiterando:

f(xk+1) = f(xk) +df(xk)

dx(xk+1 − xk) +O(‖xk+1 − xk‖2)

Para ‖xk+1 − xk‖ pequeno, fazemos

f(xk+1) ≈ f(xk) +df(xk)

dx(xk+1 − xk)

= f(xk) + f ′(xk)(xk+1 − xk)

= 0

que nos leva a relacao

f ′(xk)(xk+1 − xk) = −f(xk)⇒

xk+1 = xk − f(xk)

f ′(xk)

3. Resolucao de Equacoes Nao-Lineares 57

Tabela 3.4: Sequencia de iterandosk xk

0 π/21 22 1.8183 1.9384 1.8665 1.9136 1.837...

...7 1.895 441 239

O comportamento do metodo de Newton pode ser ilustrado na Figura3.18. O desenvolvimento acima pode ser condensado no algoritmo de Newton,cujos passos sao dados abaixo.

Newton(f, x0, ǫ)

1: k ← 02: while |f(xk)| > ǫ do

3: xk+1 = xk − f(xk)f ′(xk)

4: k ← k + 15: end while6: Saıda xk

3.6.1 Exemplo 1

Considere o polinomio p(x) = x3−5x2+17x+21, cuja derivada e p′(x) =3x2 − 10x+ 17. Tomando como ponto inicial x0 = −1, o metodo de Newtongera a sequencia de iterandos dada conforme Tabela 3.5.

3.6.2 Exemplo 2

Para a funcao f(x) = xe−x − 0.2, temos como derivada a funcao f ′(x) =e−x(1−x). Tomando como ponto inicial x0 = 0, o metodo de Newton produza sequencia de iterandos listada na Tabela 3.6.

58 3. Resolucao de Equacoes Nao-Lineares

y

xx0x1x2

x∗

f(x0)y = f(x)

f(x1)

Figura 3.18: Ilustracao do metodo de Newton

Tabela 3.5: Sequencia de iterandos produzida pelo metodo de Newtonk xk p(xk) p′(xk)0 -1.0 -2 301 -0.933 333 333 -0.035 259 259 28.927 6692 -0.932 115 256 -0.000 011 571 28.927 6623 -0.932 114 856 -0.000 000 000 28.927 6624 -0.932 114 856 -0.000 000 000 28.927 662

3.6.3 Detalhes do Metodo de Newton

Seja f(x) uma funcao contınua e p(x) uma aproximacao de f , em tornodo ponto x0, obtida atraves da serie de Taylor:

p(x) = f(x0) + f ′(x0)(x− x0) + f ′′(x0)(x− x0)2

2!+ f ′′′(x0)

(x− x0)3

3!+ . . .

+f (m)(x0)(x− x0)m

m!(3.6)

De acordo com o Teorema de Taylor, se a (m+1)-esima derivada e contınuanuma vizinhanca de x0, entao o erro tem a forma:

f(x)− p(x) = (x− x0)m+1f(m+1)(ε)

(m+ 1)!

3. Resolucao de Equacoes Nao-Lineares 59

Tabela 3.6: Sequencia de iterandos produzida pelo metodo de Newtonk xk f(xk) f ′(xk)0 0 -0.2 1.01 0.2 -0.036 253 849 0.654 9842 0.255 350 689 -0.002 193 918 0.576 8383 0.259 154 037 -0.000 009 554 0.571 7134 0.259 171 101 -0.000 000 000 0.571 690

onde ε = x0 + θ(x − x0) para algum θ ∈ (0, 1). Na interpolacao direta, afuncao f e interpolada num ponto proximo da raiz dessa funcao. Podemossupor, entao, que a raiz desse polinomio dara uma boa aproximacao para ozero da funcao.

O metodo de Newton leva em conta so a primeira derivada de (3.6). Logo,se o ponto aproximado e xk, entao

p(xk+1) = f(xk) + f ′(xk)(xk+1 − xk)

Fazendo p(xk+1) = 0, obtemos a nova aproximacao da raiz:

f(xk) + f ′(xk)(xk+1 − xk) = 0⇒

xk+1 = xk − f(xk)

f ′(xk)

3.6.4 Convergencia do Metodo de Newton

O metodo de Newton converge quadraticamente se f ′(x∗) 6= 0 e se x0 esuficientemente proximo de x∗.

Seja I = [x∗ − δ, x∗ + δ] um intervalo em torno da solucao x∗ dentro doqual as seguintes condicoes sao satisfeitas:

i. existe uma constante m > 0 tal que |f ′(x)| > m para todo x ∈ I; e

ii. existe uma constante L > 0 tal que |f ′(x)−f ′(y)| 6 L|x−y| para todox, y ∈ I.

Vamos mostrar que se |xk − x∗| 6 δ, entao

|xk+1 − x∗| 6 L

2m|xk − x∗|2 (3.7)

Em outras palavras, a desigualdade (3.7) e satisfeita com c = L/(2m), ga-rantindo dessa forma convergencia quadratica para x∗. Denotando xk+1 por

60 3. Resolucao de Equacoes Nao-Lineares

x+ e xk por x, temos que

x+ = x− f(x)

f ′(x)⇒ |x+ − x∗| = |x− f(x)

f ′(x)− x∗|

=| − f(x)− f ′(x)(x∗ − x)|

|f ′(x)|

=|f(x∗)− f(x)− f ′(x)(x∗ − x)|

|f ′(x)|Lembre-se que f(x∗) = 0. Nos assumimos que |f ′(x)| > m e, portanto,

|x+ − x∗| 6 |f(x∗)− f(x)− f ′(x)(x∗ − x)|

m(3.8)

Para limitar o numerador, podemos proceder como segue

|f(x∗)− f(x)− f ′(x)(x∗ − x)| = |∫ x∗

x

(f ′(u)− f ′(x))du|

6

∫ x∗

x

|f ′(u)− f ′(x)|du

= L

∫ x∗

x

|u− x|du

= L|x∗ − x|2

2(3.9)

Juntando (3.8) e (3.9) obtemos |x+ − x∗| 6 L2m|x∗ − x|2 o que prova (3.7).

A desigualdade (3.7) por si so nao garante que |xk+1 − x∗| → 0. Entretanto,se assumirmos que |x0 − x∗| 6 δ e δ 6 m/L, entao convergencia quadraticasegue imediatamente. Uma vez que |x0 − x∗| 6 δ, podemos aplicar (3.7) eobter:

|x1 − x∗| 6 L

2m|x0 − x∗|2 6 L

2mδ2 6 δ/2.

Uma vez que |x1 − x∗| 6 δ, podemos aplicar (3.7) e obter a desigualdade:

|x2 − x∗| 6 L

2m|x1 − x∗|2 6 L

2mδ2/4 6 δ/8.

Repetindo este processo, concluımos que:

|xk+1 − x∗| 6 L

2m|xk − x∗|2 6 2

(

1

4

)2k

δ.

Observacoes:

3. Resolucao de Equacoes Nao-Lineares 61

1) Segundo o desenvolvimento acima, se f(x∗) = 0 e f ′ e uma funcaocontınua, entao e razoavel assumir que as condicoes acima sao satisfei-tas para algum δ, m e L. Na pratica, entretanto, e difıcil encontrarmosvalores para δ, m e L, portanto o resultado de convergencia nao nos ofe-rece ajuda no sentido de escolhermos o ponto inicial x0, mesmo porqueisto demandaria conhecimento antecipado da existencia de uma raiz.

2) O resultado nos diz que se x0 e suficientemente proximo de x∗, entao ometodo de Newton converge com uma taxa quadratica.

3.6.5 Problemas com o Metodo de Newton

Ha situacoes, tipicamente dependendo do ponto inicial, em que o metodode Newton nao converge para uma solucao. As Figuras 3.19 e 3.20 ilustramo caso onde o metodo de Newton pode entrar em laco infinito e o caso ondeeste pode divergir.

No caso da funcao f(x) = x3 − 2x + 2, o metodo de Newton entra emlaco infinito quando inicia a partir do ponto x(0) = 0. O iterando seguintesera x(1) = 1 e o seguinte ao seguinte sera x(2) = 0, portanto entra em lacoinfinito.

x

yf(x)

x0 = x2x1 = x3

Figura 3.19: Exemplo onde o metodo de Newton entre em laco infinito.

62 3. Resolucao de Equacoes Nao-Lineares

x

f(x)

y

x1 x0

Figura 3.20: Exemplo onde ocorre divergencia do metodo de Newton.

3.6.6 Exercıcios

i. Para a funcao f(x) = x2

10− x + 1, desenvolva o metodo de Newton

obtendo o processo iterativo g(x) = x − f(x)/f ′(x). Para o intervaloI = [1, 1.5], encontre o valor m > 0 tal que f ′(x) ≥ m para todo x ∈ I.Encontre a constante Lipschitz L > 0 tal que |f ′(x)−f ′(y)|/|x−y| ≤ Lpara todo x ∈ I. Determine a raiz x⋆ ∈ I. Encontre δ > 0 que defineo intervalo I = [x⋆ − δ, x⋆ + δ] ⊆ I tal que se o ponto inicial x0 ∈ I, ometodo de Newton converge quadraticamente para x⋆.

3.7 Metodos de Multiplos Passos

Ao contrario dos metodos anteriores, os metodos de multiplos passos usamos valores de f e suas derivadas, se for o caso, para varios pontos anteriores.O exemplo mais conhecido e o metodo das secantes.

3.7.1 Metodo das Secantes

Na pratica, quando for muito complicado calcular derivadas e utilizar ometodo de Newton, podemos alternativamente usar o modelo linear tomandocomo base os dois valores mais recentes de f . A ideia do metodo pode servista na Figura 3.21 abaixo.

Partindo de duas aproximacoes x0 e x1, determinamos a reta que passapor (x0, f(x0)) e (x1, f(x1)). A interseccao dessa reta com o eixo x (defi-nido pela equacao y = 0) determina o proximo iterando x2. Continuamos o

3. Resolucao de Equacoes Nao-Lineares 63

processo a partir de x1 e x2. Temos, portanto, o seguinte processo iterativo

xk+1 = xk −(xk − xk−1)f(xk)

f(xk)− f(xk−1)(3.10)

x

f(x)

x1 x2 x3x4

p1 = (x1, f(x1))

p2 = (x2, f(x2))

p3 = (x3, f(x3)))

Figura 3.21: Ilustracao do metodo das secantes.

Observacoes:

a) Neste metodo nao necessitamos da caracterıstica que e fundamental nometodo da Falsa Posicao, que exige que haja troca de sinal da funcaof no intervalo [xk−1, xk].

b) Questoes de overflow/underflow podem ocorrer. Tanto a formula (3.10)quanto a formula abaixo podem causar problemas de cancelamento sub-trativo ou overflow:

xk+1 =xkf(xk−1)− xk−1f(xk)

f(xk−1)− f(xk)(3.11)

Os problemas potenciais das formulas (3.10) e (3.11) podem ser evita-dos com a formula abaixo:

xk+1 = xk −[

(xk−1 − xk)f(xk)

f(xk−1)

]

/

[

1− f(xk)

f(xk−1)

]

(3.12)

desde que |f(xk)| < |f(xk−1)|. Se isto nao ocorrer, entao fazemos atroca de xk por xk+1.

64 3. Resolucao de Equacoes Nao-Lineares

Secantes(x0, x1, f, ǫ1, ǫ2, L)

1: f0 ← f(x0); f1 ← f(x1)2: if |f1| > |f0| then3: swap(x0, x1)4: swap(f0, f1)5: end if6: for k = 0, 1, . . . , L do7: if |f1| < ǫ1 then8: Saıda (x1, |f(x)| < ǫ1)9: Pare10: end if11: S ← f1/f012: p← (x0 − x1)s13: q ← 1− s14: x2 ← x1 − p/q15: if |x1 − x2| < ǫ2|x2| then16: Saıda (x2, |x1 − x2| < ǫ2|x2|)17: Pare18: end if19: f2 ← f(x2)20: if |f2| > |f1| then21: x0 ← x2

22: f0 ← f223: else24: x0 ← x1

25: f0 ← f126: x1 ← x2

27: f1 ← f228: end if29: end for

Convergencia do Metodo da Secante

Observa-se que o metodo e mais rapido que a iteracao linear ou bisseccao;contudo, pode ser mais lento que o metodo de Newton.

Teorema 3.5 Se f(x∗) = 0 e f ′(x∗) 6= 0 e f ′′ e contınua, entao existe umintervalo aberto N(x∗) = x : |x − x∗| < ǫ, ǫ > 0, tal que se x0 e x1 estaoem N(x∗) e sao distintos, entao a sequencia dada pelo metodo da secante etal que

limk→∞

xk = x∗

3. Resolucao de Equacoes Nao-Lineares 65

Exemplo

Para o problema de encontrar uma raiz da funcao f(x) = x4 − 14x2 +24x− 10, vamos aplicar o metodo das secantes. O grafico de f(x) e ilustradona Figura 3.9, indicando que existem quatro raızes. Aplicando o metodo dassecantes com os pontos iniciais x0 = −5 e x1 = 0, obtemos as iteracoes dadasnas Figuras 3.22 e 3.23. O metodo converge para a raiz x∗ = 0.6705.

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 1

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 2

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 3

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 4

Figura 3.22: Iteracoes 1, 2, 3 e 4 do metodo das secantes

3.7.2 Breve Introducao a Interpolacao Polinomial

Aqui faremos uma breve introducao ao problema de interpolacao comenfoque em interpolacao polinomial. A interpolacao polinomial e base parao desenvolvimento do metodo de Muller.

Polinomio Interpolador de Lagrange

Dado um conjunto (x0, y0), (x1, y1), . . . , (xn, yn) de pontos de uma curvaf(x), sendo yk = f(xk) para k = 0, . . . , n, o polinomio interpolador de La-grange e um polinomio pn(x) de grau n que passa por todos os pontos. AFigura 3.24 ilustra um polinomio p4(n) que atravessa os pontos indicados. O

66 3. Resolucao de Equacoes Nao-Lineares

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 5

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 6

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

x

f(x)

=x4 −

14x

2 + 2

4x −

10

iteracao 7

−6 −4 −2 0 2−150

−100

−50

0

50

100

150

xf(

x)=

x4 − 1

4x2 +

24x

− 1

0

iteracao 8

Figura 3.23: Iteracoes 5, 6, 7 e 8 do metodo das secantes

polinomio de Lagrange e definido por:

pn(x) =n∑

k=0

Lk(x) (3.13)

Lk(x) = yk

n∏

j=0,j 6=k

x− xj

xk − xj

De forma explıcita, o polinomio (3.13) fica:

pn(x) =(x− x1)(x− x2) . . . (x− xn)

(x0 − x1)(x0 − x2) . . . (x0 − xn)y0

+(x− x0)(x− x2) . . . (x− xn)

(x1 − x0)(x1 − x2) . . . (x1 − xn)y1

+...

+(x− x0)(x− x1) . . . (x− xn−1)

(xn − x0)(xn − x1) . . . (xn − xn−1)yn

A formula acima foi inicialmente descoberta por Waring (1779), redescobertapor Euler em 1783, e publicada mais tarde por Lagrange em 1795 [4].

3. Resolucao de Equacoes Nao-Lineares 67

Para o caso de n = 2, o polinomio de Lagrange toma a forma:

p2(x) =(x− x1)(x− x2)

(x0 − x1)(x0 − x2)y0 +

(x− x0)(x− x2)

(x1 − x0)(x1 − x2)y1 +

(x− x0)(x− x1)

(x2 − x0)(x2 − x1)y2

Observe que p2(x) passa pelos pontos (x0, y0), (x1, y1) e (x2, y2).

x

y

p(x)

2

2

4

4

6

6

8

8

10

10

−2

−4

−6

12

Figura 3.24: Ilustracao de interpolacao polinomial

Diferencas Divididas de Newton

O metodo das diferencas divididas de Newton e um maneira de encontrarum polinomio interpolador (um polinomio que passa por um conjunto par-ticular de pontos). De forma similar ao polinomio interpolador de Lagrangepara interpolacao polinomial, o metodo de diferencas divididas de Newtonencontra o polinomio unico que atravessa os pontos.

O metodo de Newton usa a equacao recursiva abaixo para realizar a tarefa:

f [x0, x1, . . . , xn] =f [x1, . . . , xn]− f [x0, . . . , xn−1]

xn − x0

(3.14)

A equacao acima leva a formula de diferencas divididas de Newton parainterpolacao polinomial, sendo definida por:

pn(x) = f(x0) + (x− x0)f [x0, x1] + (x− x0)(x− x1)f [x0, x1, x2] + . . .

+(x− x0) . . . (x− xn−1)f [x0, x1, . . . , xn] (3.15)

68 3. Resolucao de Equacoes Nao-Lineares

3.7.3 Metodo de Muller

No metodo da secante tomavamos dois pontos e por eles tracavamos umareta (interpolacao linear). Partiremos agora para a interpolacao quadratica.Se tivermos tres pontos distintos (x0, f(x0)), (x1, f(x1)) e (x2, f(x2)), po-demos usar o metodo das diferencas divididas de Newton para computar opolinomio interpolador de 2o grau:

p2(x) = f(x2) + (x− x2)f [x2, x1] + (x− x2)(x− x1)f [x2, x1, x0] (3.16)

sendo:

f [x2, x1] =f(x1)− f(x2)

x1 − x2

f [x1, x0] =f(x0)− f(x1)

x0 − x1

f [x2, x1, x0] =f [x1, x0]− f [x2, x1]

x0 − x2

Fazendo:

a = f [x2, x1, x0]

b = f [x2, x1] + (x2 − x1)f [x2, x1, x0]

c = f(x2)

podemos escrever (3.16) de forma mais sintetica:

p2(x) = a(x− x2)2 + b(x− x2) + c

A interpolacao de uma curva f(x) com um polinomio p2(x) e ilustradana Figura 3.25. Em sıntese, o metodo de Muller usa como proximo iterandoo ponto x3 que e raiz do polinomio p2(x), conforme indicado na figura. Aequacao:

p2(x) = 0

tem duas solucoes:

x− x2 =−b±

√b2 − 4ac

2a=⇒ x = x2 +

−b±√b2 − 4ac

2a

Dentre as duas solucoes, tomamos aquela que e a mais proxima de x2:

x3 = x2 +−b+ sign(b)

√b2 − 4ac

2a

Muller(f, x0, x1, x2)

3. Resolucao de Equacoes Nao-Lineares 69

1: f0 ← f(x0)2: f1 ← f(x1)3: f2 ← f(x2)4: for i = 1, 2, . . . ate satisfazer criterio de parada do5: f [x2, x1]← f(x1)−f(x2)

x1−x2

6: f [x1, x0]← f(x0)−f(x1)x0−x1

7: f [x2, x1, x0]← f [x1,x0]−f [x2,x1]x0−x2

8: a← f [x2, x1, x0]9: b← f [x2, x1] + (x2 − x1)f [x2, x1, x0]

10: c← f(x2)

11: x3 ← x2 +−b+sign(b)

√b2−4ac

2a

12: f3 ← f(x3)13: x0 ← x1, f0 ← f114: x1 ← x2, f1 ← f215: x2 ← x3, f2 ← f316: end for17: x2, f2

3.8 Aceleracao de Aitken

A partir de dois metodos iterativos de mesma ordem e possıvel construirum novo metodo de ordem superior aos primitivos, conforme proposta deAitken. Sejam dois metodos iterativos:

x(1)k = φ1(x

(1)k−1)

x(2)k = φ2(x

(2)k−1)

ambos de ordem de convergencia p, que convergem para x = α. Podemosentao construir uma funcao φ(x) dada por

φ(x) =xφ1[φ2(x)]− φ1(x)φ2(x)

x− φ1(x)− φ2(x) + φ1[φ2(x)]

Entao o metodo iterativo xk = φ(xk−1), k = 1, 2, . . . tem ordem de con-vergencia superior a p, desde que seja satisfeita a condicao:

(φ1(α)− 1)(φ2(α)− 1) 6= 0

70 3. Resolucao de Equacoes Nao-Lineares

x0 x1 x2x3

f(x)

p2(x)

Figura 3.25: Interpolacao da curva f(x) com um polinomio de 2o grau p2(x)que atravessa os pontos (x0, f(x0)), (x1, f(x1)) e (x2, f(x2))

3. Resolucao de Equacoes Nao-Lineares 71

3.9 Exercıcios

Exercıcio 3.1 Prof. Wellis afirma que se o algoritmo da biseccao pode seraplicado para encontrar a raiz de uma funcao f , entao tambem podemosaplicar o metodo de Newton. Voce concorda ou discorda da afirmacao?

Exercıcio 3.2 Seja f uma funcao definida por:

f(x) =

√x se x > 0−√−x se x < 0

Vamos aplicar o metodo de Newton para encontrar uma raiz de f(x). Res-ponda as questoes abaixo.

a) Existe uma regiao de convergencia?

b) Existe uma regiao de divergencia?

c) Existe uma regiao onde o metodo entra em laco infinito?

d) Para os itens que voce respondeu afirmativamente, de as respectivasregioes.

Exercıcio 3.3 Seja g(x) = x + c(x)f(x) um processo iterativo, obtido pelometodo de ponto fixo com iteracao linear, para encontrar uma raiz da funcaof(x). Prof. Wellis afirma que se x∗ e tal que f(x∗) = 0, entao g′(x∗) = 0.Voce concorda ou discorda da afirmacao?

Exercıcio 3.4 Seja f(x) = x2−2xe−x+e−2x uma funcao. Aplique o metodode Newton para encontrar uma aproximacao de uma raiz x∗ de f , f(x∗) = 0.A aproximacao x encontrada deve ser tal que |f(x)| < 10−3. Execute nomaximo 10 iteracoes do metodo.

Exercıcio 3.5 Uma boia esferica de raio R e densidade ρ, ao flutuar naagua, afunda de um quantidade x, dada por x3+2Rx2−4ρR3 = 0. Encontreo afundamento quando R = 3 e o material e cortica (ρ = 0.25), usando ometodo da biseccao.

Exercıcio 3.6 Considere o sistema de equacoes abaixo:

y2 − 3x2 − 5x− 5 = 0y + x2 − x = 0

Encontre uma solucao z∗ = (x∗, y∗) para o sistema acima usando um metodonumerico. Sabemos que existe uma solucao para −1.5 6 x∗ 6 0.

72 3. Resolucao de Equacoes Nao-Lineares

Exercıcio 3.7 Seja f(x) = xe−x e c(x) = − 1e−x(1+x)

. Prof. Martins afirma

que para qualquer x0 ∈ I = [0, 1) o operador de ponto fixo g(x) resultanteproduz uma serie x0, x1, x2, . . . tal que limk→∞ xk = x∗ sendo f(x∗) = 0. Sevoce concorda com a afirmacao, apresente uma justificativa formal. Casocontrario, de um contra-exemplo.

Exercıcio 3.8 Considere a funcao raiz quadrada f(x) =√x. E possıvel

aplicar o metodo de Newton (em uma ou mais variaveis) para calcular f(x)?Se sim, mostre como o metodo de Newton pode ser aplicado para calcular√x? (No seu computador/liguagem de programacao, a funcao

√x nao esta

disponıvel)

Exercıcio 3.9 Desejamos encontrar uma raiz da funcao f(x) = x4− 14x2+24x− 10. Sabemos que existe uma raiz no intervalo I = [−5, 0].

Tarefas e observacoes:

• Trace o grafico da funcao no intervalo [−5, 5] e no intervalo [−5, 0].

• Encontre uma raiz em I aplicando os metodos abaixo:

– O metodo da biseccao

– O metodo da falsa posicao

– O metodo de Newton com x0 = 0 e com x0 = −5– O metodo das secantes com x0 = −5 e x1 = 0

• Para cada um dos metodos acima, desenhe a curva da solucao aproxi-mada em funcao do numero de iteracao.

• As implementacoes devem ser realizadas em Matlab, Octave ou Scilab.Apresentar o codigo fonte juntamente com os resultados.

Exercıcio 3.10 Para a funcao F dada por:

F (x, y) =

[

(x− y + 1/4)e−x2−y3

2x2 + cos y

]

calcule o Jacobiano ∇F . Obtenha o valor do Jacobiano no ponto (x0, y0) =(1, 0). Obtenha o iterando (x1, y1) aplicando uma iteracao do metodo deNewton a partir do ponto (x0, y0).

Exercıcio 3.11 Responda as questoes abaixo.

3. Resolucao de Equacoes Nao-Lineares 73

i. Seja f uma funcao contınua em I = [a, b], tal que f(a).f(b) < 0.Podemos aplicar o metodo da biseccao e o metodo de Newton paraencontrar tal raiz?

ii. Seja f : R → R uma funcao contınua e diferenciavel no intervalo I =[a, b]. Sabemos que existe exatamente um x∗ ∈ I tal que f(x∗) =0. Sabemos que f(a).f(b) < 0. Sabemos que o metodo de Newtonconverge para x∗ ∈ I. Seja x0

bs, x1bs, . . . a sequencia de pontos gerada

pelo metodo da biseccao. Seja x0Nw, x

1Nw, . . . a sequencia de pontos

gerada pelo metodo de Newton. Se x0Nw = x0

bs 6= x∗, podemos afirmarque para algum i temos que xi

Nw = x∗ e xibs 6= x∗ visto que o Metodo de

Newton tem convergencia quadratica, enquanto o metodo da biseccaotem convergencia linear?

iii. Seja f : R → R uma funcao qualquer para qual sabemos que existeuma raiz unica x∗ no intervalo [a, b]. Assumindo que os metodos dabiseccao e da falsa posicao convergem para x∗, podemos afirmar que ometodo da falsa posicao converge mais rapidamente para o ponto x∗

do que o metodo da biseccao?

iv. Seja g : R → R um operador de ponto fixo definido por g(x) = x +c(x)f(x). Se f(x) = ax3 + bx2 + cx + d e c(x) = 1, entao g(x) e umpolinomio de grau 0, 1, 2 ou 3. Podemos afirmar que g(x) tera nenhum,um, dois ou no maximo tres pontos fixos?

v. Uma vez que o metodo de Newton exige que a funcao f : R → R

seja contınua e diferenciavel, enquanto que o metodo da biseccao exigeque a funcao seja apenas contınua, podemos afirmar que o metodo dabiseccao e mais geral? Em outras palavras, se podemos encontrar a raizde uma funcao usando o metodo de Newton, entao tambem podemosutilizar o metodo da biseccao?

Exercıcio 3.12 Considere as funcoes abaixo:

g(x, y) = 5.3ex − x− y

h(x, y) = x3 + 2.21x+ 2y

Desejamos encontrar x, y ∈ R tal que g(x, y) = 0 e h(x, y) = 0. E possıvelresolver este problema resolvendo o problema de encontrar uma raiz de umafuncao f(x), f : R→ R?

74 3. Resolucao de Equacoes Nao-Lineares

Exercıcio 3.13 Obtenha o polinomio caracterıstico p(λ) da matriz A abaixoe gere o grafico p(λ)×λ. Calcule os autovalores de A aplicando o metodo dafalsa posicao.

A =

2 0 4 5 00 0 0 5 −14 0 0 0 15 5 0 2 00 −1 1 0 −2

Exercıcio 3.14 Seja f(x) = x4− 2xe−x+ e−2x− 4−x uma funcao. Apliqueo metodo de Newton para encontrar uma aproximacao de uma raiz x∗ de f ,ou seja, x∗ tal que f(x∗) = 0. A aproximacao x encontrada deve ser tal que|f(x)| < 10−4. Execute no maximo 20 iteracoes do metodo.

Exercıcio 3.15 Uma porta com formato descrito na Figura 3.26 e compostade uma parte retangular e uma parte semi-circular. A area da parte retan-gular da porta deve ser maior ou igual a 3.8m2. Encontre as dimensoes x e ytal que o perımetro seja minimizado. Modele o problema matematicamentee encontre as dimensoes desejadas utilizando o metodo da biseccao.

x x

y

Figura 3.26: Porta semi-circular

Exercıcio 3.16 Seja xk =1kuma sequencia para k = 1, 2, . . . ,∞. Questoes:

i. Podemos afirmar que xk∞k=1 e convergente? Justifique a resposta combase na Definicao 3.1.

ii. Se a sequencia for convergente, qual e a taxa de convergencia? Justifi-que a resposta com base na Definicao 3.2.

3. Resolucao de Equacoes Nao-Lineares 75

h

R

R

Figura 3.27: Reservatorio tipo semiesfera.

Exercıcio 3.17 Seja g(y) = (y2 + x)/2y um processo iterativo onde x > 1 euma constante conhecida. Seja I = (1, x) o intervalo de incerteza. Questoes:

i. Podemos afirmar que existe um ponto fixo y∗ ∈ I?

ii. Caso exista ponto fixo, podemos afirmar que ele e unico?

iii. Se existir ponto fixo y∗ unico, podemos afirmar que com y0 ∈ I oprocesso iterativo yk+1 = g(yk), k = 0, 1, . . . converge para y∗?

Exercıcio 3.18 Um reservatorio na forma de semiesfera com raio R = 4mfoi instalado em um predio recem-construıdo. Ocorreu um erro de dimen-sionamento do reservatorio: o volume de agua total do reservatorio e bemmaior que o limite de 50m3 estabelecido em projeto hidro-sanitario. Assim,e necessario determinar o nıvel h maximo que a agua pode atingir no reser-vatorio para nao ultrapassar o limite volumetrico. O reservatorio e ilustradona Figura 3.27. O volume de uma calota esferica e dado por:

V =π

3h2(3R− h)

sendo R o raio e h a altura.Determine a altura h com precisao 10−6 utilizando o metodo do ponto

fixo com c(x) = − 116Rx

. Mostre que o processo iterativo resultante convergedentro do intervalo I = [2, 4] segundo a teoria do ponto fixo.

76 3. Resolucao de Equacoes Nao-Lineares

Capıtulo 4

Resolucao de Sistemas deEquacoes Lineares

Capıtulo

4.1 Revisao

Sistemas de equacoes lineares surgem na solucao de varios problemasteoricos e praticos. Dentre eles, ressaltamos:

1) Inteligencia artificial: resolucao das equacoes de Bellman

2) Teoria dos grafos: fluxo factıvel

3) Circuitos eletricos: analise de sistemas lineares (forma real e complexa)

4) Teoria de controle: sistemas lineares e a linearizacao de sistemas naolineares

O problema de resolver um sistema de equacoes lineares pode ser colocadocomo segue: dado uma matriz A ∈ R

m×n e um vetor b ∈ Rm×1, encontre

x ∈ Rn×1 tal que Ax = b.

A matriz de coeficientes e os vetores podem ser expressos como segue:

A =

a11 a12 . . . a1na21 a22 . . . a2n...

.... . .

...am1 am2 . . . amn

,

78 4. Resolucao de Sistemas de Equacoes Lineares

onde aij ∈ R, i = 1, . . . ,m, j = 1, . . . , n e

b =

b1b2...bm

,

onde bj ∈ R, j = 1, . . . ,m

Definicao 4.1 A ∈ Rm×n e dita quadrada se m = n

Definicao 4.2 A ∈ Rn×n e dita diagonal se A = diag(d1, d2, . . . , dn), ou

seja,

A =

d1 0 . . . 00 d2 . . . 0...

.... . .

...0 0 . . . dn

Definicao 4.3 A matriz A ∈ Rn×n abaixo e dita matriz triangular inferior

se:

A =

a11 0 . . . 0a21 a22 . . . 0...

.... . .

...an1 an2 . . . ann

em outras palavras,

A = [aij] e aij = 0 para todo aij onde j > i.

Definicao 4.4 Se A ∈ Rn×n, entao A possui um determinante det(A) defi-

nido como:

det(A) = a11det(M11)− a12det(M12) + a13det(M13)− . . .

onde M1k e a matriz obtida de A eliminando-se a linha 1 e a coluna k. Odeterminante de uma matriz A ∈ R

1×1 e a propria matriz.

Definicao 4.5 A ∈ Rn×n e dita nao-singular se det(A) 6= 0.

Definicao 4.6 Se A ∈ Rn×n e uma matriz triangular (inferior ou superior)

entao:det(A) = a11a22 . . . ann

4. Resolucao de Sistemas de Equacoes Lineares 79

Definicao 4.7 Se A ∈ Rn×n e nao-singular entao existe A−1 ∈ R

n×n tal queAA−1 = I, onde I = diag(1, 1, . . . , 1)

Definicao 4.8 A matriz adjunta de A, denotada por Adj(A), e definida por:

Adj(A) =

C11(A) · · · Cn1(A)...

. . ....

C1n(A) · · · Cnn(A)

onde Cij(A) e o (i, j)-esimo cofator de A, ou seja, Cij(A) =(−1)i+jdet(Mij(A)) sendo Mij(A) a matriz obtida ao se remover a linha ie coluna j de A.

Teorema 4.1 Dada uma matriz nao-singular A ∈ Rn×n, a sua inversa pode

ser obtida a partir da matriz adjunta:

A−1 =1

det(A)Adj(A)

Teorema 4.2 A inversao apresenta as seguintes propriedades:

i. A inversa de A−1 e A, ou seja, (A−1)−1 = A.

ii. A inversa da transposta e a transposta da inversa: (AT )−1 = (A−1)T .

iii. (AB)−1 = B−1A−1.

iv. det(A−1) = 1det(A)

.

v. A inversa de uma matriz triangular inferior (superior) e tambem tri-angular inferior (superior).

Definicao 4.9 Seja A ∈ Rm×n uma matriz dada por

A =

a11 a12 . . . a1na21 a22 . . . a2n...

.... . .

...am1 am2 . . . amn

entao a tranposta de A, denotada por AT e dada por:

AT =

a11 a21 . . . am1

a12 a22 . . . am2...

.... . .

...a1n a2n . . . amn

80 4. Resolucao de Sistemas de Equacoes Lineares

Definicao 4.10 Se A = AT , entao A e dita uma matriz simetrica.

Definicao 4.11 Uma matriz A ∈ Rn×n e dita positiva definida se, e somente

se, xTAx > 0 para todo x 6= 0. E dita positiva semi-definida se xTAx ≥ 0para todo x.

Definicao 4.12 Seja A ∈ Rn×n uma matriz quadrada. Se Ax = λx para

λ ∈ C e x ∈ Rn, entao λ e um autovalor e x e um autovetor da matriz A.

Teorema 4.3 Se A = AT , entao todos os autovalores de A sao numerosreais.

Teorema 4.4 Uma matriz A = AT e positiva definida (semi-definida) se, esomente se, os autovalores de A sao todos positivos (nao negativos).

Definicao 4.13 Dada uma matriz A ∈ Rm×n, temos que:

1) range(A) = y ∈ Rm : y = Ax, para algum x ∈ R

n e o espaco geradopor A;

2) null(A) = x ∈ Rn : Ax = 0; e

3) rank(M) denota o posto da matriz M, i.e., o numero maximo de colu-nas linearmente independentes de M ;

Podemos examinar uma matriz A ∈ Rm×n como uma geradora para a

funcao linear f : Rn → Rm onde f(x) = Ax para x ∈ R

n. Assim, o espacogerado por A, range(A), e o conjunto das imagens da funcao f(x). O espaconulo de A, null(A), e o conjunto dos valores que tem como imagem o vetornulo. A Figura 4.1 ilustra estes conceitos.

Definicao 4.14 Seja S um espaco vetorial. O numero maximo de vetoreslinearmente independentes de S e dito dimensao de S e denotado por dim(S).

Teorema 4.5 Considere o sistema de equacoes lineares

Ax = b (4.1)

onde A ∈ Rm×n, x ∈ R

n, e b ∈ Rm. Entao o sistema (4.1):

• tem solucao se b ∈ range(A)⇔ rank(A) = rank([A|b]);

• nao tem solucao se b 6∈ range(A)⇔ rank(A) < rank([A|b]);

• tem solucao unica se rank(A) = rank([A|b]) = n; e

4. Resolucao de Sistemas de Equacoes Lineares 81

x

x0

0

f(x0) = 0 y

Rn R

m

y = f(x)

null(A)

range(A)

Figura 4.1: Ilustracao dos conceitos de espaco gerado e espaco nulo de umamatriz A

• tem um numero infinito de solucoes se rank(A) = rank([A|b]) < n.

Teorema 4.6 Para o sistema de equacoes lineares (4.1), vale

dim(range(A)) + dim(null(A)) = n

Como exemplo, considere o sistema de equacoes lineares dado por:

[

1 3 0−2 4 1

]

x1

x2

x3

=

[

14

]

.

Podemos verificar que rank(A) = 2 (note que rank(A) 6 minm,n = 2).Portanto, rank(A) = rank([A|b]) o que nos leva a concluir que o sistematem solucao. Uma vez que rank(A) < n, o sistema tem infinitas solucoes.A partir do Teorema 4.6, podemos verificar tambem que dim(range(A)) =rank(A) = 2. Portanto, n = 3⇒ dim(null(A)) = n− dim(range(A)) = 1 oque prova que o espaco nulo tem elementos nao nulos.

Definicao 4.15 Uma norma (vetorial) e uma funcao ‖ · ‖ : Rn → R satis-fazendo:

a) x ∈ Rn, ‖x|| > 0 e ‖x‖ = 0⇔ x = 0

b) x ∈ Rn, α ∈ R, ‖αx‖ = |α|‖x‖

c) x, y ∈ Rn, ‖x+ y‖ 6 ‖x‖+ ‖y‖

82 4. Resolucao de Sistemas de Equacoes Lineares

Exemplos

Tres exemplos de normas vetorais frequentemente encontradas sao:

Norma Euclidiana: ‖x‖2 =√

∑nj=1 (xj)2

Norma da soma: ‖x‖1 =∑n

j=1 |xj|Norma do maximo: ‖x‖∞ = max |xj| : j = 1, . . . , n

onde assumimos que x ∈ Rn.

x1

x2

‖x‖1 = 1

‖x‖2 = 1

‖x‖∞ = 11

1−1

−1

Figura 4.2: Ilustracao das normas ‖ · ‖∞, ‖ · ‖2 e ‖ · ‖1.

Definicao 4.16 Uma norma matricial e uma funcao ‖ · ‖ : Rn×n → R sa-tisfazendo as propriedades:

a) A ∈ Rn×n, ‖A‖ > 0 e ‖A‖ = 0⇔ A = 0

b) A ∈ Rn×n, α ∈ R, ‖αA‖ = |α|‖A‖

c) A,B ∈ Rn×n, ‖A+ B‖ 6 ‖A‖+ ‖B‖

d) A,B ∈ Rn×n, ‖AB‖ 6 ‖A‖ · ‖B‖

Definicao 4.17 Toda norma vetorial ‖ · ‖ induz uma norma matricial ‖ · ‖dada por:

‖ · ‖ = max ‖Ax‖‖x‖ ,

x 6= 0

onde A ∈ Rm×n.

4. Resolucao de Sistemas de Equacoes Lineares 83

Vamos denotar gain(x) = ‖Ax‖‖x‖ , entao:

‖A‖ = max gain(x).x 6= 0

gain(x) e o fator de ampliacao do operador f(x) = Ax na direcao de x.Certamente, o ganho geralmente depende de x. gain(x) pode ser grande paracertos x e pode ser pequeno para outros. Se ‖A‖ < 1, entao ‖Ax‖ < ‖x‖para qualquer x ∈ R

n. Se ‖A‖ e grande, entao existe um x tal que o operadorf(x) amplifica, ou seja ‖Ax‖ > ‖x‖.

Exemplo

Para ‖ · ‖ = ‖ · ‖2, considere a norma matricial, induzida por ‖ · ‖. Entao‖Ie dada por:

‖I‖ = max ‖Ix‖‖x‖ = max ‖x||

‖x‖ = 1

x 6= 0 x 6= 0

Exercıcio

Calcule, usando a definicao de ganho, ‖A‖ sendo A dada por:

A =

0 1 00 0 −11 0 0

.

Respostas: ‖A‖1 = 1, ‖A‖2 = 1, ‖A‖∞ = 1.Algumas normas frequentemente utilizadas sao as seguintes:

1) Norma maximo das colunas:

‖A‖1 = max (∑n

i=1 |aij|)1 6 j 6 n

2) Norma maximo das linhas:

‖A‖∞ = max(

∑nj=1 |aij|

)

1 6 i 6 n

84 4. Resolucao de Sistemas de Equacoes Lineares

3) Norma Euclidiana:

‖A‖2 =(

∑ni=1

∑nj=1 aij

2) 1

2

Propriedades:

a) ‖Ax‖∞ 6 ‖A‖∞‖x‖∞b) ‖Ax‖1 6 ‖A‖1‖x‖1c) ‖Ax‖2 6 ‖A‖2‖x‖2

Aritmetica matricial:

i) C = A+B = B + A, A,B ∈ Rm×n e cij = aij + bij

ii) C = AB, A ∈ Rm×k, B ∈ R

k×n e cij =∑k

t=1 aitbtj

4.2 Erros Computacionais na Solucao de

Ax = b

Dois tipos de algoritmos para resolver sistemas do tipo Ax = y, ondeA ∈ R

m×n (ou A ∈ Cm×n)

4.2.1 Tipos de Algoritmos

A) Metodos Diretos

Um metodo e dito direto quando este utiliza um numero finito de passos.Exemplos: Metodo de Cramer e Gauss Cramer.

1) Cramer: xj =det(Aj)

det(A)quando A ∈ R

n×n

2) Gauss: pivoteamento

3) Decomposicao LU: Escrever A = LU , onde L e triangular inferior e Ue triangular superior.

LUx = b→ Lz = b e z = Ux

4) Decomposicao Cholesky: Se A = AT e A > 0 (positiva definida) entaopodemos escrever A como produto dos fatores Cholesky, i.e., LLT = Apara L triangular inferior.

5) Metodo do Gradiente Conjugado (Otimizacao)

4. Resolucao de Sistemas de Equacoes Lineares 85

B) Metodos Iterativos

Os metodos de Jacobi e Gauss-Seidel consistem de processos iterativosda forma:

xk+1 = G(xk)

4.2.2 Tipos de Erros Computacionais nos Algoritmos

A) Algoritmos Diretos

Dado o sistema Ax = y, este sera representado em uma maquina de pontoflutuante F , F = (b, n, e1, e2)

Ax = y →

2A2x = 2y2A e a representacao de A em F2x e a representacao de x2y e a representacao de y

.

O algoritmo que executa as operacoes em F vai gerar um erro, obtendo umasolucao 2x que podera ser diferente de x.

2′x = 22x e o erro total do metodo que consiste em:

ETOTAL = (Erro de entrada) + (Erro de aritmetica)

O erro de aritmetica e dado ao erro de arredondamento:

ETOTAL = (x−2x) + (2x−2′x) = EA

B) Algoritmos Iterativos

Da mesma forma que os algoritmos diretos, os algoritmos iterativos co-metem erros de entrada e de aritmetica. Metodos iterativos tambem in-troduzem erros de discretizacao, ou seja, trunca-se uma sequencia infinitaxk : k = 0, 1, . . . por uma sequencia finita.

4.3 Etapas da Solucao de Sistemas Lineares

Abaixo descrevemos os tres passos basicos para solucao de um sistema deequacoes lineares.

1) Primeira Etapa: Descomplexificacao

Transformar um sistema complexo Ax = y em um sistema real Ax = yequivalente.

86 4. Resolucao de Sistemas de Equacoes Lineares

2) Segunda Etapa: Estruturacao

Escolher um algoritmo eficiente para calcularmos a solucao, levando emconsideracao a estrutura de A, seu tamanho, esparsidade e simetria. Umamatriz A ∈ R

m×n e dita esparsa se o numero de entradas aij nao nulas e beminferior a nm ou, equivalentemente, a vasta maioria dos elementos sao nulos.

3) Terceira Etapa: Calculo

Consiste no calculo da solucao, bem como na estimativa da exatidao damesma.

= +Calculo Calculos

Aritmeticos Exatidaoda

Estimativa

Figura 4.3: Calculos envolvidos na solucao de sistemas de equacoes lineares.

4.3.1 Primeira Etapa: Descomplexificacao

Transformar um sistema complexo Ax = b em um sistema real Ax = bequivalente. Ax pode ser escrito como

Ax = b ⇒ (A′ + jA′′)(x′ + jx′′) = (b′ + jb′′)

⇒ A′x′ + jA′x′′ + jA′′x′ − A′′x′′ = b′ + jb′′ (4.2)

portanto, o sistema (4.2) pode ser escrito na forma

A′x′ − A′′x′′ = b′

A′x′′ + A′′x′ = b′′

Exemplo de Aplicacao: Analise de Circuitos Eletricos

Para o circuito da Figura 4.4, obtemos atraves das Leis de Kirchoff:

E − (3− 4j)Ri1 − (2− 2j)R(i1 − i2) = 0(2− 2j)R(i2 − i1) + (1 + 3j)Ri2 = 0

Onde E e R sao parametros, que variam de circuito para circuito. Fazendo:

i1 =E

Rx1 e

i2 =E

Rx2 (4.3)

4. Resolucao de Sistemas de Equacoes Lineares 87

as equacoes do circuito podem ser expressas como:

E − (3− 4j)RERx1 − (2− 2j)R(x1 − x2)

ER

= 0(2− 2j)R(x2 − x1)

ER+ (1 + 3j)x2R

ER

= 0⇒

1− (3− 4j)x1 − (2− 2j)(x1 − x2) = 0(2− 2j)(x2 − x1) + (1 + 3j)x2 = 0

[

(5− 6j) −(2− 2j)−2 + 2j 3 + j

] [

x1

x2

]

=

[

10

]

Portanto, podemos transformar o sistema acima em um sistema equiva-lente em variaveis reais, fazendo:

A′ =

[

5 −2−2 3

]

, A′′ =

[

−6 22 1

]

b′ =

[

10

]

, b′′ =

[

00

]

, x′ =

[

x′1

x′2

]

, x′′ =

[

x′′1

x′′2

]

,

[

A′ −A′′

A′′ A′

] [

x′

x′′

]

=

[

b′

b′′

]

Substituindo as matrizes e vetores por seus respectivos valores, obtemos osistema de equacoes lineares:

5 −2 6 −2−2 3 −2 −1−6 2 5 −22 1 −2 3

x′1

x′2

x′′1

x′′2

=

1000

Exemplo de Aplicacao: Regime Permanente de Circuitos Eletricos

Calcular os valores das correntes do circuito dado na Figura 4.5. Inicial-mente obtemos a equacao diferencial que modela o comportamento dinamicodo sistema:

V (t) = RI + Ld

dtI +

1

C

∫ t=∞

t=0

I · dt⇒

d

dtV = R

d

dtI + L

d2

dt2I +

1

CI ⇒

V = LI +RI +1

CI

88 4. Resolucao de Sistemas de Equacoes Lineares

E

(3− 4j)R (1 + 3j)R

i1 i2

(2− 2j)R

Figura 4.4: Exemplo de circuito eletrico com elementos lineares.

Analise de regime permanente nos da:

V = Vr + Vc + Vl

V = RI − j

ωCI + jωLI

V = (R− j

ωC+ jωL)I

onde V e o fasor voltagem e I e o fasor corrente. Portanto, podemos expressaro problema de encontrar a corrente e voltagem em regime permanente comoa solucao de um sistema de equacoes lineares com coeficientes e variaveiscomplexas. Primeiro, vamos obter as matrizes e vetores de constantes abaixo:

A′ =

[

5 −2−2 3

]

, A′′ =

[

−6 22 1

]

, b′ =

[

10

]

, b′′ =

[

00

]

Segundo, vamos obter os vetores de variaveis como segue:

x′ =

[

x′1

x′2

]

, x′′ =

[

x′′1

x′′2

]

Logo, podemos transformar a busca do ponto de operacao do sistema eletricoao problema de resolver o sistema de equacoes lineares com coeficientes evariaveis reais:

[

A′ −A′′

A′′ A′

]

·[

x′

x′′

]

=

[

b′

b′′

]

4. Resolucao de Sistemas de Equacoes Lineares 89

R

L

CE

Figura 4.5: Exemplo de circuito eletrico RLC.

4.3.2 Segunda Etapa: Os Algoritmos e Suas Estrutu-ras

Algoritmos Diretos

Estes algoritmos sao compostos de tres componentes: o calculador, orefinador e o estimador.

Algoritmo Iterativo

Sao tambem compostos de tres partes: o preparador, o calculador e oestimador.

4.4 Metodo de Eliminacao de Gauss

Metodo direto mais conhecido e mais usado para resolucao de um sistemadenso, de pequeno e medio porte, sendo um sistema considerado de pequenoporte se contem ate 30 variaveis, medio porte se contem ate 50 variaveis, e degrande porte se contem mais de 50 variaveis. O metodo consiste na aplicacaosucessiva de propriedades basicas de algebra linear.

1) Combinacoes lineares: adicao de uma linha com um multiplo deoutra linha, para substituir uma das linhas consideradas.

2) Troca de linhas

3) Multiplicacao de uma linha por uma constante

90 4. Resolucao de Sistemas de Equacoes Lineares

Calculador

Refinador

Estimador

Exatidao OK?

Solucao Com

Requerida

Numero Maximode

Refinamentos?

ImpossıvelObter

Sim

Sim

Nao

Nao

Solucao

Exatidao

Figura 4.6: Componentes de algoritmos diretos.

4. Resolucao de Sistemas de Equacoes Lineares 91

Calculador

Preparador

Estimador

Exatidao OK?

Solucao comExatidao

Requerida

Numero de

Intervalos >

Diagnostico

Sim

Sim

Nao

Nao

Maximo?

Figura 4.7: Componentes de algoritmos iterativos.

92 4. Resolucao de Sistemas de Equacoes Lineares

Se a matriz B e obtida a partir de uma matriz A por meio de combinacoeslineares de linhas, dizemos que A e B sao equivalentes. Se A e quadradaentao det(A) = det(B).

Algoritmo basico de Gauss apresenta os seguintes passos:

1) Triangularizacao: consiste em transformar a matriz A numa matriztriangular superior, mediante perturbacoes e combinacoes lineares delinhas.

2) Retrossubstituicao: consiste no calculo dos componentes do vetorx, a partir da solucao imediata do ultimo componente de x, e entaosubstituımos regressivamente nas equacoes anteriores.

4.4.1 Exemplo 1 (Metodo de Gauss)

Tomemos como exemplo o sistema de equacoes lineares dado abaixo

3x1 + 2x2 + x4 = 39x1 + 8x2 − 3x3 + 4x4 = 6−6x1 + 4x2 − 8x3 = −163x1 − 8x2 + 3x3 + 4x4 = 18

(4.4)

o qual pode ser escrito na forma matricial como segue

A =

3 2 0 19 8 −3 4−6 4 −8 03 −8 3 4

, y =

36

−1618

.

A primeira fase consiste da triangularizacao de A, cujos passos sao ilus-trados abaixo.

0) Obtendo a matriz aumentada

3 2 0 1 39 8 −3 4 6−6 4 −8 0 −163 −8 3 4 18

1) Primeiro passo: zerando os elementos abaixo do elemento a11.

E2 − 9/3E1 →E3 + 6/3E1 →E4 − 3/3E1 →

3 2 0 1 30 2 −3 1 −30 8 −8 2 −100 −10 3 3 15

4. Resolucao de Sistemas de Equacoes Lineares 93

2) Segundo passo: zerando os elementos abaixo de a22

E3 − 8/2E2 →E4 + 10/2E2 →

3 2 0 1 30 2 −3 1 −30 0 4 −2 20 0 −12 8 0

3) Terceiro passo: zerando os elementos abaixo de a33

E4 + 12/4E3 →

3 2 0 1 30 2 −3 1 −30 0 4 −2 20 0 0 2 6

Obtemos, portanto um sistema equivalente a (4.4) na forma triangular:

3x1 + 2x2 + 0x3 + x4 = 3+ 2x2 − 3x3 + x4 = −3

+ 4x3 − 2x4 = 22x4 = 6

Por meio de retrossubstituicao, podemos encontrar uma solucao para osistema original (4.4). Considerando a ultima equacao temos que

2x4 = 6⇒ x4 = 3

Substituindo na terceira equacao, obtemos:

+4x3 − 2(3) = 2⇒ x3 = 2

Substituindo na segunda equacao, obtemos:

+2x2 − 3× 2 + 3 = −3⇒ x2 = 0

Substituindo na primeira equacao, obtemos:

3x1 + 2(0) + 0(2) + 3 = 3⇒ x1 = 0

Portanto, uma solucao para (4.4) e:

x =

x1

x2

x3

x4

=

0023

Teorema 4.7 O metodo de Gauss produz, em precisao infinita, uma solucaoexata do sistema Ax = b desde que:

1) A seja nao singular, det(A) 6= 0

2) As linhas sejam trocadas sempre que necessario, caso aii = 0

94 4. Resolucao de Sistemas de Equacoes Lineares

4.4.2 Exemplo 2 (Metodo de Gauss)

Aqui vamos considerar o sistema de equacoes lineares abaixo:

−1x1 + 2x2 + 3x3 + x4 = 12x1 − 4x2 − 5x3 − 1x4 = 0−3x1 + 8x2 + 8x3 + 1x4 = 21x1 + 2x2 − 6x3 + 4x4 = −1

(4.5)

Iniciamos a solucao pelo metodo de Gauss com a triangularizacao do sistema(4.5).

0) Obtendo a matriz aumentada:

−1 2 3 1 12 −4 −5 −1 0−3 8 8 1 21 2 −6 4 −1

1) Primeiro passo: zerando os elementos abaixo de a11

E2 + 2E1 →E3 − 3E1 →E4 + E1 →

−1 2 3 1 10 0 1 1 20 2 −1 −2 −10 4 −3 5 0

2) Segundo passo: trocando as linhas 2 e 3

E3 →E2 →

−1 2 3 1 10 2 −1 −2 −10 0 1 1 20 4 −3 5 0

3) Terceiro passo: zerando os elementos abaixo de a22

E4 − 2E2 →

−1 2 3 1 10 2 −1 −2 −10 0 1 1 20 0 −1 9 2

4) Quarto passo: zerando os elementos abaixo de a33

E4 + E3 →

−1 2 3 1 10 2 −1 −2 −10 0 1 1 20 0 0 10 4

4. Resolucao de Sistemas de Equacoes Lineares 95

Portanto, atraves de retrossubstituicao podemos verificar que a solucaode (4.5) e:

x4 = 2/5, x3 = 8/5, x2 = 7/10, x1 = 28/5.

4.4.3 Exemplo 3 (Metodo de Gauss)

Como terceiro exemplo, tomemos os sistema de equacoes:

3x1 + 2x2 − 1x3 + 2x4 = 13x1 + 4x2 + 1x3 + 1x4 = 3−6x1 − 2x2 + 4x3 − 3x4 = 5−3x1 − 6x2 − 3x3 − 4x4 = 2

(4.6)

Os passos da aplicacao do metodo de Gauss na resolucao do sistema (4.6)sao descritos no que segue.

0) Obtendo a matriz aumentada:

3 2 −1 2 13 4 1 1 3−6 −2 4 −3 5−3 −6 −3 −1 2

1) Primeiro passo: zerando os elementos abaixo de a11

E2 − E1 →E3 + 2E1 →E4 + E1 →

3 2 −1 2 10 2 2 −1 20 2 2 1 70 −4 −4 1 3

2) Sistema resultante:

E3 − E2 →E4 + 2E2 →

3 2 −1 2 10 2 2 −1 20 0 0 2 50 0 0 −1 7

A partir das equacoes obtidas no terceiro passo, verificamos que o sistemanao tem solucao, pois

2x4 = 5−x4 = 7

96 4. Resolucao de Sistemas de Equacoes Lineares

Se o lado direto da terceira equacao fosse−14, entao as duas ultimas equacoesdo sistema reduzido seriam:

2x4 = −14−x4 = 7

Usando este valor x4 = −7 na terceira equacao com qualquer valor de x3,podemos encontrar uma solucao para o sistema. Ou seja, o sistema teria umnumero infinito de solucoes.

Teorema 4.8 Seja A ∈ Rn×n uma matriz e b ∈ R

n×1 um vetor, entao Ax =b pode ser resolvida pelo algoritmo de Gauss com:

n2 + 13(n− 1)(n+ 1)n ∈ O(n3) multiplicacoes ou divisoes

n(n− 1) + 16(n− 1)(2n− 1)n ∈ O(n3) adicoes ou subtracoes

4.5 Instabilidade Numerica

O algoritmo de Gauss pode apresentar problemas no que diz respeito aexatidao dos resultados. Tais problemas podem ser mais facilmente apresen-tados por meio de exemplos.

4.5.1 Exemplo de Instabilidade Numerica

Considere o sistema abaixo:

0.117× 10−2x + 0.648y = 0.6490.512x − 0.92× 10−3y = 0.511

(4.7)

Vamos resolver o sistema acima em uma maquina: cujo sistema de pontoflutuante e F = F (10, 3,−3, 3). O arredondamento 2x usado sera para onumero mais proximo. Primeiro, vamos obter a matriz aumentada de (4.7)

[

0.117× 10−2 0.648 0.6490.512 −0.92× 10−3 0.511

]

Para M = −0.5120.117×10−2 = −437.6068376 ⇒ 2(−437.6068376) = −438, temos

que o metodo que

M × 0.648 = −283.824 ⇒ 2(−283.824) = −284M × 0.649 = −284.267 ⇒ 2(−284.267) = −284

Portanto,

−284− 0.92× 10−3 = −284.00092 ⇒ 2(−284.00092) = −284−284 + 0.511 = −283.489 ⇒ 2(−283.489) = −283

4. Resolucao de Sistemas de Equacoes Lineares 97

Apos aplicarmos o primeiro passo do metodo de Gauss, zerando os elementosabaixo de a11, ficamos entao com o sistema:

0.117× 10−2x + 0.648y = 0.649− 0.284× 103y = −0.283× 103

Portanto, por meio de retrossusbstituicao chegamos a solucao

x = 0.307× 101 = 3.07y = 0.996

Todavia, obtemos a solucao abaixo para o caso de invertermos a ordem dasequacoes:

x = 1y = 1

A solucao correta e a seguinte:

x = 0.999843279 . . .y = 0.99973937 . . .

A causa do erro esta no pivo pequeno e multiplicador muito grande, o quecausa erro de arredondamento. Esta observacao leva ao desenvolvimento dometodo de Gauss com pivoteamento.

4.6 Algoritmo de Gauss com Pivotamento

Este algoritmo nada mais e do que o algoritmo de Gauss com uma trocasistematica de linhas de modo a minimizar os erros de arredondamento.

Estrategia: tome como pivo o elemento de maior valor absoluto. Assima11 = max|ai1| : i = 1, . . . ,m sera o pivo da primeira iteracao; a22 =max|ai2| : i = 2, . . . ,m sera o pivo da segunda iteracao e assim por diante.O metodo a seguir identifica se o sistema tem solucao unica. As linhas naoserao trocadas, mas sera criado um vetor que aponta para a linha a serutilizada: sub(i) = i, i = 1, . . . , n. Se as linhas 3 e 7 devem ser trocadas,entao: sub(3) = 7 e sub(7) = 3. Algoritmo da eliminacao Gaussiana compivoteamento segue abaixo.

Gauss triangularizacao(n, aij , bi : i = 1, . . . , n, j = 1, . . . , n)

1: for i = 1, . . . , n do2: sub(i)← i

98 4. Resolucao de Sistemas de Equacoes Lineares

3: end for4: for k = 1, . . . , n do5: max← 06: for i = k, . . . , n do7: Vabs ← |asub(i),k|8: if max < Vabs then9: max← Vabs

10: indx← i11: end if12: end for13: if max = 0 then14: Saıda “matriz singular”15: end if16: j ← sub(k)17: sub(k)← sub(indx)18: sub(indx)← j19: pivo← asub(k),k20: for i = k + 1, . . . , n do21: asub(i),k ← asub(i),k

pivo

22: for j = k + 1, . . . , n do23: asub(i),j ← asub(i),j − asub(i),k × asub(k),j24: end for25: bsub(i) ← bsub(i) − asub(i),k × bsub(k)26: end for27: end for

Gauss retrossubstituicao(n, aij , bi : i = 1, . . . , n, j = 1, . . . , n)

1: xn ← bsub(n)

asub(n),n

2: for k = n− 1, . . . , 1 do3: xk ← bsub(k)4: for i = k + 1, . . . , n do5: xk ← xk − asub(k),ixi

6: end for7: xk ← xk

asub(k),k

8: end for9: Saıda xk : k = 1, . . . , n

4. Resolucao de Sistemas de Equacoes Lineares 99

4.7 Condicionamento de uma Matriz

Seja Ax = b um sistema de equacoes lineares. Dadas duas aproximacoesx1 e x2, qual delas e melhor? Uma alternativa seria o calculo dos resıduos:

r1 = b− Ax1

r2 = b− Ax2

4.7.1 Exemplo 1

Vamos primeiramente considerar o sistema de equacoes lineares

0.24x + 0.636y + 0.12z = 0.840.12x + 0.16y + 0.24z = 0.520.15x + 0.21y + 0.25z = 0.64

Duas aproximacoes para a solucao sao:

x1 = [ 25 −14 −1 ]T

x2 = [ −3 4 0 ]T

A partir destes valores, calculamos os resıduos:

r1 = [ 0.00 0.00 0.08 ]T

r2 = [ 0.12 0.24 0.25 ]T (4.8)

A solucao exata e x∗ = [ −3 4 1 ], embora ‖r1‖ < ‖r2‖ temos que a solucaox2 e melhor que x1.

Conclusao: nem sempre a aproximacao de menor resıduo e a melhor oumais exata.

Definicao 4.18 (Problema mal-condicionado) Um problema e dito “mal-condicionado” se pequenas alteracoes nos dados de entrada ocasionam gran-des erros no resultado final.

4.7.2 Exemplo 2

O sistema de equacoes lineares abaixo

0.992x − 0.873y = 0.1190.481x − 0.421y = 0.060

(4.9)

100 4. Resolucao de Sistemas de Equacoes Lineares

tem como solucao x = 1 e y = 1. Considere o sistema com uma pequenaperturbacao ±0.001, que gera uma aproximacao do sistema (4.9):

0.992x − 0.873y = 0.1200.481x − 0.421y = 0.060

(4.10)

cuja solucao e x = 0.815 e y = 0.789. Um erro de aproximacao da ordem 1%na entrada gera um erro de aproximadamente 18% na saıda. Mais precisa-mente:

E1 =|0.119− 0.120||0.119|

= 0.008

= 1%

E2 =|0.815− 1||1|

= 0.185

= 18%

4.7.3 Exemplo 3

Considere os sistemas lineares abaixo:

1x + 3y = 11 (a)1.5x + 4.501y = 16.503 (b)

(4.11)

cuja solucao exata e x = 2 e y = 3. Tomemos agora uma perturbacao de(4.11):

1x + 3y = 11 (a)1.5x + 4.501y = 16.500 (c)

(4.12)

cuja solucao e x = 10.28 e y = 0.24. Os sistemas (4.11) e (4.12) podem serilustrados geometricamente, como mostra a Figura 4.8.

4.7.4 Visao Geometrica do Condicionamento

As Figuras 4.9, 4.10, e 4.11 ilustram sistemas sem solucao, mal-condicionados e bem-condicionados, respectivamente.

4.7.5 Calculo do Condicionamento de uma Matriz

Seja o sistema linear Ax = b e uma modificacao Ax′ = b′. Seja x a solucaode (A, b) e x′ a solucao de (A, b′). Qual e a modificacao da solucao como uma

4. Resolucao de Sistemas de Equacoes Lineares 101

(a)

(b)

(c)

x

y

S1

S2

Figura 4.8: Ilustracao da solucao S1 do sistema (4.11) e da solucao S2 dosistema (4.12).

(a) (b)

x

y

Sem Solucao

Figura 4.9: Sistema sem solucao.

102 4. Resolucao de Sistemas de Equacoes Lineares

(a)

(b)x

y

Mal Condicionado

Figura 4.10: Sistema mal-condicionado.

(a) (b)

x

yBem Condicionado

Figura 4.11: Sistema bem-condicionado.

4. Resolucao de Sistemas de Equacoes Lineares 103

funcao da modificacao em b? Esta resposta pode ser dada de forma algebricaconforme segue:

b− b′ = Ax− Ax′

= A(x− x′) ⇒

(x− x′) = A−1(b− b′) (4.13)

Tomando a norma de (4.13) temos

‖x− x′‖ = ‖A−1(b− b′)‖

onde ‖ · ‖ e uma norma vetorial. Portanto, pela desigualdade triangular,temos que:

‖x− x′‖ 6 ‖A−1‖ · ‖b− b′‖

onde ‖A‖ e uma norma matricial induzida por ‖ · ‖. Assim,

‖x− x′‖‖x‖ 6

‖A−1‖‖x‖ ‖b− b′‖

Uma vez que, b = Ax, deduzimos o seguinte

b = Ax ⇒ ‖b‖ = ‖Ax‖⇒ ‖b‖ 6 ‖A‖ · ‖x‖

⇒ 1

‖x‖ 6‖A‖‖b‖ (4.14)

Portanto,

alteracao relativa fator de valor relativo dada solucao provocada 6 amplificacao × perturbacao feita nopela perturbacao sistema Ax = b

de b

‖x−x′‖‖x‖ 6 ‖A‖ · ‖A−1‖ × ‖b−b′‖

‖b‖

(4.15)

Definicao 4.19 Dado um sistema Ax = b, seu numero de condicionamentoe dado por κ(A) = ‖A‖ · ‖A−1‖ Portanto, quanto maior o valor de κ(A),mais sensıvel o sistema sera.

104 4. Resolucao de Sistemas de Equacoes Lineares

4.7.6 Exemplo

Tomemos como exemplo o sistema de equacoes lineares abaixo:

x1 + 104x2 = 104

x1 + x2 = 2(4.16)

A partir de (4.16) obtemos a matriz A do sistema e sua inversa A−1:

A =

(

1 104

1 1

)

, A−1 =1

104 − 1

(

−1 104

1 −1

)

Uma vez que ‖A‖∞ = 104 + 1 e ‖A−1‖∞ = 1.0002, verificamos que

κ(A) = ‖A‖∞‖A−1‖∞≈ 104

4.7.7 Propriedades da Condicionamento de Matrizes

Algumas propriedades do numero de condicionamento de uma matriz Asao:

1) κ(A) > 1, pois 1 = ‖I‖ = ‖AA−1‖ 6 ‖A‖.‖A−1‖ = κ(A)

2) κ(I) = 1

3) ∀α ∈ R, κ(αA) = κ(A). Demonstracao:

κ(αA) = ‖αA‖ · ‖(αA)−1‖= |α| · ‖A‖ · ‖ 1

αA−1‖

=|α||α|‖A‖ · ‖A

−1‖

= κ(A)

4) Se D = diag(d1, d2, . . . , dn), entao:

κ(D) =max|dj| : j = 1 . . . , nmin|dj| : j = 1 . . . , n

Uma definicao alternativa do numero de condicionamento de uma matrizA e dada por:

κ(A) =max‖Ax‖

‖x‖ : x 6= 0min‖Ax‖

‖x‖ : x 6= 0

4. Resolucao de Sistemas de Equacoes Lineares 105

Observacao: Dıgitos Significativos

Aplicando o logaritmo nos dois lados da desigualdade (4.15), obtemos:

log‖x− x′‖‖x‖ 6 log κ(A)

‖b− b′‖‖b‖

= log κ(A) + log‖b− b′‖‖b‖ (4.17)

Por meio de aproximacao, a desigualdade acima nos leva a:

−DIGSE(x′) 6 log κ(A)−DIGSE(b′)

e, portanto,DIGSE(x′) > DIGSE(b′)− log κ(A)

Se κ(A) = 10j , entao j dıgitos significativos poderao ser perdidos.

4.8 Refinamento da Solucao para o Metodo

de Gauss

Conforme visto, o calculo do condicionamento e difıcil e oneroso do pontode vista computacional. O metodo de Gauss, mesmo com pivoteamento, naoproduz em geral nenhuma estimativa sobre a exatidao da resposta. Com atecnica dos refinamentos podemos obter uma medida da exatidao da resposta,bem como avaliar se o sistema dado e bem ou mal condicionado.

4.8.1 Descricao do Metodo

Os passos do metodo de refinamento sao dados na sequencia.

Passo 1: obter uma primeira aproximacao x1 da solucao exata de Ax = b(via Gauss com pivoteamento).

Passo 2: Refinar a solucao obtida a partir de xk, gerando uma aproximacaoxk+1 e obtendo mediante condicoes de convergencia x = lim

k→∞xk.

4.8.2 Geracao de Aproximacoes

A partir de x1, queremos determinar z1, tal que:

x1 + z1 = x, onde Ax = b

Portanto, z1 e a diferenca entre a solucao exata x e a solucao aproximada x1.

106 4. Resolucao de Sistemas de Equacoes Lineares

Primeiro Refinamento: Determinar z1

O refinamento e dado por:

x1 + z1 = x⇒ z1 = x− x1

e multiplicando por A os dois lados da igualdade, temos

Az1 = A(x− x1)

= Ax− Ax1

= b− Ax1

= r1

Note que z1 pode ser calculado resolvendo os sistema de equacoes:

Az1 = r1

Note que z1 pode ser calculado com facilidade. So precisamos aplicar asoperacoes que levaram a triangularizacao de A ao vetor de resıduos r1. Ob-temos entao x2 = x1 +2z1.

Segundo Refinamento: Determinar z2

Determinar o segundo refinamento, z2, consiste em encontrar:

z2 = x− x2 ⇒ Az2 = A(x− x2)

⇒ Az2 = b− Ax2 = r2

Assim, calculamos z2 e obtemos:

x3 = x2 +2z2

Obtemos, portanto, uma sequencia x1, x2, . . . , xk, para a qual veremosuma condicao de convergencia.

Teorema 4.9 Seja Ax = b um sistema de equacoes lineares e xk a sequenciaobtida por refinamentos. Se:

(a) κ(A) < 116µ(n3+3n2)

(b) os resıduos rk sao calculados com precisao dupla.

Entao xk converge para a solucao exata.

4. Resolucao de Sistemas de Equacoes Lineares 107

CALCULADOR

Resolver Ax = b via Gauss

em maquina F (b, n, e1, e2)

REFINADOR

Calculo de Resıduos

rk = b−Axk

F (b, 2n, e′1, e′

2)

ESTIMADORxk+1 ← xk + zk

EXATIDAOOK?

Imprima

Solucao

k < limite?

Impossıvel obter

solucao com

exatidao desejada

Sim

Sim Nao

Nao

onde Azk = rk

Figura 4.12: Algoritmo de refinamento.

108 4. Resolucao de Sistemas de Equacoes Lineares

4.8.3 Algoritmo

Para aplicar o metodo dos refinamentos, precisamos resolver o sistemaAzk = rk. O algoritmo e descrito na Figura 4.12.

4.8.4 Exemplo

Para fins de exemplo, considere o sistema de equacoes lineares abaixo:

2.4579x1 + 1.6235x2 + 4.6231x3 = 0.0647001.4725x1 + 0.9589x2 − 1.3253x3 = 1.04732.6951x1 + 2.8965x2 − 1.4794x3 = −0.6789

(4.18)

em uma maquina de ponto flutuante dada por F = F (10, 5,−98, 100). Ospassos do algoritmo sao descritos no que segue.

1) Triangularizacao: Inicialmente, vamos triangularizar a matriz aumen-tada. A matriz aumentada [A|b] e dada por:

2.4579 1.6235 4.6231 0.06471.4725 0.9589 −1.3253 1.04732.6951 2.8965 −1.4794 −0.6789

Trocando as linhas 1 e 3, obtemos

E3 →

E1 →

2.6951 2.8965 −1.4794 −0.67891.4725 0.9589 −1.3253 1.04732.4579 1.6235 4.6231 0.0647

Zerando os elementos abaixo de a11, obtemos:

E2 − 1.4725/2.6951E1 →E3 − 2.4579/2.6951E1 →

2.6951 2.8965 −1.4794 −0.67890 −0.6236 −0.51702 1.41820 −1.0374 5.9822 0.68839

E3 →E2 →

2.6951 2.8965 −1.4794 −0.67890 −1.0374 5.9822 0.688390 −0.6236 −0.51702 1.4182

E3 → E3 − −0.6236−1.0374

E2 →

2.6951 2.8965 −1.4794 −0.67890 −1.0374 5.9822 0.688390 0 −4.1132 1.0044

Logo, temos a matriz A em sua forma triangular superior.

4. Resolucao de Sistemas de Equacoes Lineares 109

2) Retrossubstituicao: Fazendo a retrossubstituicao, calculamos a solucaoaproximada para (4.18):

x3 = −0.24419x2 = −2.0717x1 = 1.8406

Seja x1 = [1.8406− 2.0717− 0.24419]T a primeira solucao aproximada.

2) Refinamento: em F (10, 10,−98, 100)Utilizando aproximacao x1 calculamos

Ax1 =

0.0648218011.047355377−0.678823304

o que nos permite calcular o resıduo

r1 = b−Ax1 =

0.06481.0473−0.6789

0.0648218011.047355377−0.678823304

=

−0.000121801−0.000055377−0.000076696

Resolvemos Az1 = r1 usando as trocas e os multiplicadores ja calcula-dos, obtendo z1 e arredondando os valores de z1 para precisao simples.Temos entao:

z1 =

z11z12z13

=

−0.0000042280.000025110−0.000057765

Assim, podemos obter a segunda aproximacao x2 = x1 + z1 dada por:

x2 =

1.8405−2.0717−0.24419

4.8.5 Analise do Condicionamento Atraves do Refina-mento

Para analise do comportamento dos sistemas lineares sem o uso do con-dicionamento de A, podemos detectar o mal condicionamento sem calcularκ(A) diretamente ou aproximadamente. Se os resıduos r1, r2, . . . , rk, sao

110 4. Resolucao de Sistemas de Equacoes Lineares

pequenos, mas as correcoes z1, z2, . . . , zk, sao grandes, entao o sistema e mal-condicionado. Para sistemas bem-condicionados, os refinamentos nao devemser feitos mais do que duas vezes.

A avaliacao empırica de sistemas lineares mal-condicionados pode serfeita atraves de um grafico, conforme ilustram as Figuras 4.13 (sistema bem-condicionado), 4.14 (sistema mais ou menos mal-condicionado), e 4.15 (sis-tema mal-condicionado).

k

p

p: precisao da maquinak: numero de refinamentos

DIGSE(xk)

Figura 4.13: Avaliacao empırica de sistema bem-condicionado atraves dometodo de refinamento.

4.9 Equacionamento Matricial: Eliminacao

Gaussiana de Forma Compacta

Vamos construir matrizes que expressam a eliminacao Gaussiana em ter-mos matriciais. O equacionamento sera ilustrado atraves de um exemplo.Seja Ax = b um sistema de equacoes lineares dado por:

A =

10 −7 0−3 2 65 −1 5

e b =

746

Fazendo:

M1 =

1 0 0m21 1 0m31 0 1

,

4. Resolucao de Sistemas de Equacoes Lineares 111

k

p

p: precisao da maquinak: numero de refinamentos

DIGSE(xk)

Figura 4.14: Avaliacao empırica de sistema mais ou menos mal-condicionadoatraves do metodo de refinamento.

k

p

p: precisao da maquinak: numero de refinamentos

DIGSE(xk)

Figura 4.15: Avaliacao empırica de sistema mal-condicionado atraves dometodo de refinamento.

112 4. Resolucao de Sistemas de Equacoes Lineares

onde m21 = 0.3 e m31 = −0.5, obteremos:

M1 =

1 0 00.3 1 0−0.5 0 1

Portanto,

M1Ax = M1b ⇔

10 −7 00 −0.1 60 2.5 5

x =

76.12.5

Em outras palvras, a pre-multiplicacao de Ax = b com a matriz M1 resultouno zeramento dos elementos abaixo de a11. Repetindo os passos acima parao elemento da coluna 2, abaixo de a22, executaremos o segundo passo datriangularizacao de A. Seja entao:

M2 =

1 0 00 1 00 m32 1

,

onde m32 = 25, o que nos leva a:

M2 =

1 0 00 1 00 25 1

Pre-multiplicando M1Ax = M1b com a matriz M2, obteremos

M2(M1A)x = M2(M1)b ⇔ M2(M1A) =

10 −7 00 −0.1 60 0 155

x =

76.1155

Portanto, o metodo de Gauss pode ser escrito como:

M2M1Ax = M2M1b

onde M2M1A = U e uma matriz triangular superior. Em geral, para umsistema A ∈ R

n×n, temos

(Mn−1 . . .M2M1)Ax = (Mn−1 . . .M2M1)b

O que acontece quando temos que trocar linhas, durante o pivoteamento?Seja Pij a matriz obtida ao trocarmos as linhas i e j da matriz identidade I.Entao, PijA troca as linhas i e j da matriz A.

4. Resolucao de Sistemas de Equacoes Lineares 113

Exemplo

Sejam as matrizes

A =

10 −7 0−3 2 65 −1 5

, e P23 =

1 0 00 0 10 1 0

entao P23A e precisamente

P23A =

10 −7 05 −1 5−3 2 6

Equacionamento do Matricial do Metodo de Gauss

Portanto, o metodo de Gauss pode ser expresso como:

U = Mn−1Pn−1Mn−2Pn−2 . . .M2P2M1P1A

⇒A = P−1

1 M−11 P−1

2 M−12 . . . P−1

n−1M−1n−1U

= LU

⇒A = P T

1 M−11 P T

2 M−12 . . . P T

n−1M−1n−1U

= LU

Uma vez que P−1j = P T

j sempre que Pj for uma matriz de permutacao de

linhas. Note que M−1i pode ser facilmente obtida a partir de Mi: a matriz

inversa M−1i e identica a matriz Mi, exceto que o sinal dos elementos abaixo

da diagonal principal tem sinais opostos aos elementos correspondentes emMi.

Exemplo de P−1j = P Tj

0 0 10 1 01 0 0

0 0 10 1 01 0 0

=

1 0 00 1 00 0 1

Exercıcio

i. Calcule as matrizes inversas M−11 e M−1

2 do exemplo. Verifique a pro-priedade que relaciona M−1

i a Mi. Obtenha a representacao A = LU .

114 4. Resolucao de Sistemas de Equacoes Lineares

4.10 Decomposicao LU

Dado um sistema de equacoes lineares, com A nao-singular,

A · x = b (4.19)

a decomposicao LU busca encontrar tres matrizes n× n de maneira que

P · A = L · U (4.20)

onde:

• P e uma matriz de pivoteamento (tambem indicada na literatura comomatriz de permutacao);

• L e uma matriz triangular inferior (Lower); e

• U e uma matriz triangular superior (Upper).

Este metodo busca transformar o problema em dois problemas faceis de seremresolvidos, que e a resolucao de sistemas lineares com matrizes triangulares.De posse das matrizes PLU , o processo de resolucao e:

A · x = b

P−1 · L · U · x = b (4.21)

Entao definimos y = Ux e pre-multiplicamos a equacao (4.21) por P , ob-tendo:

P · P−1 · L · y = P · bL · y = P · b (4.22)

O sistema na equacao (4.22) pode ser resolvido por substituicao direta, o quenos leva a encontrar y. Assim, possuımos elementos para resolver:

U · x = y (4.23)

por retrosubstituicao.

4.10.1 Substituicao Direta

Admita o sistema de equacoes lineares:

L · y = b

4. Resolucao de Sistemas de Equacoes Lineares 115

onde L e uma matriz diagonal inferior. Usaremos um exemplo com L ∈ R3×3

para exemplificar o processo, onde:

l11 0 0l21 l22 0l31 l32 l33

·

y1y2y3

=

b1b2b3

Podemos observar que

y1 =b1l11

e obtemos seu valor de imediato. No passo seguinte temos que

l21y1 + l22y2 = b2

y2 =1

l22(b2 − l21y1)

mas y1 ja e conhecido, entao pode-se obter o valor de y2. Desta maneira, y3e eventuais yn podem ser calculados sucessivamente.

4.10.2 Retrosubstituicao

Admita agora o sistema de equacoes lineares:

U · x = y

onde U e uma matriz diagonal superior. Utilizamos novamente um exemplocom U ∈ R

3×3 para apresentar o processo, onde:

u11 u12 u13

0 u22 u23

0 0 u33

·

x1

x2

x3

=

y1y2y3

Da mesma maneira que na secao anterior, mas iniciando a partir da ultimalinha de U , temos que:

x3 =y3u33

x2 =1

u22

(y2 − u23x3)

...

116 4. Resolucao de Sistemas de Equacoes Lineares

4.10.3 Obtendo LU sem Permutacoes

Primeiro consideraremos o problema da obtencao da fatoracao sem a ma-triz de permutacoes. Este caso especial e obtido fazendo P = I (identidade)no caso geral. Admita a seguinte divisao das matrizes A = L · U :

[

a11 A12

A21 A22

]

=

[

1 0L21 L22

] [

u11 U12

0 U22

]

onde A21 e L21 ∈ R(n−1)×1 sao matrizes colunas; A12 e U12 ∈ R

1×(n−1) sao ma-trizes linhas; e A22, L22, U22 ∈ R

(n−1)×(n−1) agrupam o restante das matrizesoriginais. Do produto obtemos:

[

a11 A12

A21 A22

]

=

[

u11 U12

u11L21 L21U12 + L22U22

]

Assim podemos obter a primeira linha de U e a primeira coluna de L, fazendo:

u11 = a11

U12 = A12 (4.24)

L21 =1

u11

A21

e ainda obtemos:

L22U22 = A22 − L21U12 = A22 −1

a11A12A21 (4.25)

que nos permite calcular L22 e U22 fatorando A22−L21U12. Assim, chegamosao seguinte algoritmo recursivo:

1) calcular a primeira linha de U : u11 = a11 e U12 = A12;

2) calcular a primeira coluna de L: L12 = ( 1a11

)A21;

3) calcular a decomposicao das sub-matrizes L22 e U22: L22U22 = A22 −L21U12.

Este algoritmo fica da seguinte maneira em pseudo-codigo:

LU-Solve(A)

1: n← rows[A]2: for k ← 1 to n do3: ukk ← akk4: for i← k + 1 to n do

4. Resolucao de Sistemas de Equacoes Lineares 117

5: lik ← aik/ukk

6: uki ← aki7: end for8: for i← k + 1 to n do9: for j ← k + 1 to n do

10: aij ← aij − likukj

11: end for12: end for13: end for14: Retorna L e U

O algoritmo assume que a matriz U ja possui zeros abaixo de sua diagonal,e que a matriz L possui zeros acima de sua diagonal e 1’s nela.

Exemplo

Calcular a fatoracao LU de

A =

2 3 16 13 52 19 10

It k = 1:

2 3 16 4 22 16 9

=⇒

1 0 03 1 01 1

2 3 100 0

It k = 2:

2 3 16 4 22 16 1

=⇒

1 0 03 1 01 4 1

2 3 10 4 20 0

It k = 3:

2 3 16 4 22 16 1

=⇒

1 0 03 1 01 4 1

2 3 10 4 20 0 1

Discussao do Algoritmo

Podemos observar que o algoritmo modifica a matriz A e que os valorescontidos nas linhas e colunas k so sao utilizados em sua iteracao, assim epossıvel que as matrizes L e U sejam montadas na propria matriz A.

118 4. Resolucao de Sistemas de Equacoes Lineares

4.10.4 Problemas do Nao-Pivoteamento

Um exemplo simples mostra que nem todas as matrizes nao-singularespodem ser fatoradas por A = LU :

A =

[

0 11 −1

]

Se aplicarmos o algoritmo, teremos u11 = 0. Para calcularmos L21 =1

u11A21,

teremos uma divisao por zero. Assim, elementos nulos na posicao do “pivo”devem ser evitados utilizando, por exemplo, uma troca de linhas.

De fato, a troca de linhas e bastante comum, procurando que o pivoassuma o elemento de maior norma da coluna restante. Esta heurıstica semostra bastante eficiente para manter a estabilidade numerica do algoritmo,salvo em casos raros.

4.10.5 Representando as Matrizes LU em Uma Matriz

Pela sua definicao, a matriz U apresenta elementos nao nulos acima desua diagonal e nela. A matriz L os possui abaixo de sua diagonal e nela. Umaconsequencia desta implementacao e que os elementos da diagonal principalde L sempre serao 1. Assim, podemos representar as duas matrizes em umaso, pois varios elementos ja sao conhecidos de antemao:

A′ =

u11 u12 u13 . . . u1n

l21 u22 u23 u2n

l31 l32 u33 u3n...

. . ....

ln1 ln2 ln3 . . . unn

4.10.6 O Vetor de Pivoteamento

No algoritmo que sera apresentado a seguir, e utilizado um vetor π aoinves da matriz para representar a permutacao entre linhas. Estas notacoessao equivalentes. No vetor, o elemento π[i] indica qual e a linha da matriz Ique deve estar no local de i.

4. Resolucao de Sistemas de Equacoes Lineares 119

Exemplo

O vetor π = (2, 4, 1, 3) e equivalente a matriz

A =

0 1 0 00 0 0 11 0 0 00 0 1 0

4.10.7 Decomposicao LU com Pivoteamento

A demostracao formal do algoritmo com pivoteamento e um pouco maiscomplicada que do primeiro, e nao sera coberta neste material. Foi demons-trado que esta decomposicao existe sempre se a matriz A for nao-singular.Nesta implementacao a decomposicao sera executada na propria matriz A,obtendo a representacao apresentada na secao 4.10.5. As permutacoes seraorepresentadas pelo vetor π.

O algoritmo possui quatro etapas distintas: as tres primeiras linhas saoa inicializacao das variaveis e vetores; da linha 5 a 11 a coluna e varrida apartir de k, na busca do elemento de maior norma; nas tres linhas seguintese executada a operacao de troca de linhas; por fim, nas linhas 15 a 18 saocalculados os novos fatores da matriz. O algoritmo em pseudo-codigo e:

LUP-Solve(A)

1: n← rows[A]2: for i← 1 ate n do3: π[i]← i4: end for5: for k ← 1 ate n do6: p← 07: for i← k ate n do8: if |aik| > p then9: p← |aik|

10: k′ ← i11: end if12: if p = 0 then13: Saıda “matriz singular”14: Pare15: end if16: Troque π[k]↔ π[k′]17: for i← 1 ate n do18: Troque aki ↔ ak′i

120 4. Resolucao de Sistemas de Equacoes Lineares

19: end for20: for i← k + 1 ate n do21: aik ← aik/akk22: for j ← k + 1 ate n do23: aij ← aij − aikakj24: end for25: end for26: end for27: end for28: Retorne A e π

Exemplo

Calcular a fatoracao LUP da matriz

A =

2 0 2 0, 63 3 4 −25 5 4 2−1 −2 3, 4 −1

Iteracao k = 1:

1234

2 0 2 0, 63 3 4 −2(5) 5 4 2−1 −2 3, 4 −1

3214

(5) 5 4 23 3 4 −22 0 2 0, 6−1 −2 3, 4 −1

3214

(5) 5 4 20, 6 0 1, 6 −3, 20, 4 −2 0, 4 −0, 2−0, 2 −1 4, 2 −0, 6

Iteracao k = 2:

3214

5 5 4 20, 6 0 1, 6 −3, 20, 4 (−2) 0, 4 −0, 2−0, 2 −1 4, 2 −0, 6

3124

5 5 4 20, 4 (−2) 0, 4 −0, 20, 6 0 1, 6 −3, 2−0, 2 −1 4, 2 −0, 6

3124

5 5 4 20, 4 (−2) 0, 4 −0, 20, 6 0 1, 6 −3, 2−0, 2 0, 5 4 −0, 5

4. Resolucao de Sistemas de Equacoes Lineares 121

Iteracao k = 3:

3124

5 5 4 20, 4 −2 0, 4 −0, 20, 6 0 1, 6 −3, 2−0, 2 0, 5 (4) −0, 5

3142

5 5 4 20, 4 −2 0, 4 −0, 2−0, 2 0, 5 (4) −0, 50, 6 0 1, 6 −3, 2

3142

5 5 4 20, 4 −2 0, 4 −0, 2−0, 2 0, 5 (4) −0, 50, 6 0 0, 4 −3

Assim,

0 0 1 01 0 0 00 0 0 10 1 0 0

2 0 2 0, 63 3 4 −25 5 4 2−1 −2 3, 4 −1

=

1 0 0 00, 4 1 0 0−0, 2 0, 5 1 00, 6 0 0, 4 1

5 5 4 20 −2 0, 4 −0, 20 0 4 −0, 50 0 0 −3

4.10.8 Metodo de Crout

Aqui apresentamos um algoritmo alternativo para encontrar a decom-posicao LU sem pivoteamento. Podemos obter LU resolvendo um sistemade equacoes nao lineares conforme segue:

l11 0 0 0l21 l22 0 0l31 l32 l33 0l41 l42 l43 l44

u11 u12 u13 u14

0 u22 u23 u24

0 0 u33 u34

0 0 0 u44

=

a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44

L U = A

Isto significa queaij = li1u1j + li2u2j + . . .+ linunj

Alguns exemplos de equacoes:

a13 = l11u13 + l12u23 + l13u33 + l14u43

= l11u13

a32 = l31u12 + l32u22 + l33u32 + l34u42

= l31u12 + l32u22

a22 = l21u12 + l22u22 + l23u32 + l24u42

= l21u12 + l22u12

122 4. Resolucao de Sistemas de Equacoes Lineares

Ha tres casos:

1) i < j : aij = li1u1j + li2u2j + . . .+ liiuij (4.26)

2) i = j : aij = li1u1j + li2u2j + . . .+ liiuij (4.27)

3) i > j : aij = li1u1j + li2u2j + . . .+ lijujj (4.28)

O sistema de equacoes (4.26), (4.27), e (4.28) possui n2 equacoes e n2 + nvariaveis (a diagonal e representada duas vezes). Uma vez que o numerode variaveis e maior que o numero de incognitas, podemos especificar n dasincognitas arbitrariamente. Entao fazemos,

lii = 1, ∀i = 1, . . . , n (4.29)

O algoritmo de Crout, que sera apresentado a seguir, resolve o sistemade N2 + N equacoes (4.26), (4.27), (4.28), e (4.29) atraves de uma simplesreordenacao das equacoes.

Crout(A)

1: Defina lii = 1, i = 1, . . . , n2: for j = 1, . . . , n do3: for i = 1, . . . , j do

4: Use (4.26), (4.27), e (4.29) para resolver uij: uij = aij −i−1∑

k=1

likukj

5: end for6: for i = j + 1, j + 2, . . . , n do

7: Use (4.28) para resolver lij: lij =1

ujj(aij −

j−1∑

k=1

likukj)

8: end for9: end for

Exemplo

Aqui vamos aplicar o Algoritmo de Crout para encontrar a decomposicaoLU da matriz

A =

10 −7 0−3 2 65 −1 5

Passos executados pelo algoritmo:

1) u11 = a11 −∑1−1

k=1 likukj = a11 = 10

2) l21 =1

u11(a21 −

1−1∑

k=1

likukj) = −0.3

4. Resolucao de Sistemas de Equacoes Lineares 123

3) l31 =1

u11(a31 −

1−1∑

k=1

likukj) = 0.5

4) u12 = a12 −1−1∑

k=1

likukj = a12 = −7

5) u22 = a22−∑2−1

k=1 likukj = a22− l21u12 = 2− (0.3)(−7) = 2−2.1 = −0.1

6) l32 =1

u22(a32 −

2−1∑

k=1

l3kuk2) = −25

7) u13 = a13 −1−1∑

k=1

likukj = a13 = 0

8) u23 = a23 −2−1∑

k=1

l2kuk3 = a23 − l31u13 = 6− (0.3)(0) = 6

9) u33 = a33−3−1∑

k=1

l3kuk3 = a33−l31u13−l32u23 = 5−(0.5)(0)−(−25)6 = 155

Portanto,

L =

1 0 0−0.3 1 00.5 −25 1

U =

10 −7 00 −0.1 60 0 155

o que nos permite verificar que

LU =

1 0 0−0.3 1 00.5 −25 1

10 −7 00 −0.1 60 0 155

=

10 −7 0−3 2 65 −1 5

4.11 Decomposicao de Cholesky

Aqui consideramos uma variante da fatoracao LU aplicada a matrizessimetricas e positiva definidas. Seja A uma matriz simetrica e positiva defi-nida, ou seja A = AT e A ≻ 0, entao existem uma matriz triangular inferiorL tal que A = LLT . Para se calcula a matriz L, inicialmente colocamos amatriz A na forma abaixo:

A =

[

a11 AT21

A21 A22

]

124 4. Resolucao de Sistemas de Equacoes Lineares

onde a11 e um escalar, A21 e uma matriz linha, A21 e um vetor coluna e A22 euma submatriz de dimensao apropriada. Note que o escalar a11 > 0 visto queA ≻ 0. Entao o fator Cholsky L pode ser colocado em uma forma apropriada

L =

[

l11 0L21 L22

]

onde l11 e um escalar, L21 e um vetor coluna e L22 e uma matriz de mesmadimensao de A22. Logo,

A =

[

a11 AT21

A21 A22

]

=

[

l11 0L21 L22

] [

l11 LT21

0 LT22

]

=

[

l211 l11LT21

l11L21 (L21LT21 + L22L

T22)

]

= LLT

Os passos para obtencao do fator Cholesky sao:

i. Calcule a primeira coluna de L:

l211 = a11 =⇒ l11 =√a11

l11L21 = A21 =⇒ L21 =1

l11A21

ii. Recursivamente compute a fatoracao de Cholesky da submatriz

L21LT21 + L22L

T22 = A22 =⇒ L22L

T22 = A22 − L21L

T21

Sendo o termo L21LT21 conhecido, enquanto o L22L

T22 desconhecido, pode-

mos expressar a fatoracao Cholesky da submatriz como segue

L22LT22 = A22 − L21L

T21

= A22 −1

l11A21A

T21

= A22 −1√a11

A21AT21

Exemplo

A =

[25 15 −515 18 0−5 0 11

]

=

[ 5 0 03 l22 0−1 l32 l33

]

=

[5 3 −10 l22 l320 0 l33

]

4. Resolucao de Sistemas de Equacoes Lineares 125

[

18 00 11

]

=

[

l22 0l32 l33

][

l22 l320 l33

]

+

[

3−1

]

[3 −1]

Portanto,[

9 33 10

]

=

[

l22 0l32 l33

][

l22 l320 l33

]

=

[

3 01 l33

][

3 10 l33

]

10 = 1 + l233 → l33 = 3

o que nos leva ao fator Cholesky

L =

[ 5 0 03 3 0−1 1 3

]

.

4.12 Metodo de Gauss-Jordan

O metodo de Gauss-Jordan transforma a matriz A do sistema Ax = b emuma matriz diagonal.

1a Etapa: transformar Ax = b em Ux = b, onde U e uma matriz triangularsuperior.

2a Etapa: transformar o sistema Ux = b em um sistema Dx = b onde D euma matriz diagonal.

Observacao: a primeira e segunda etapas podem ser realizadas simultanea-mente. A k-esima equacao sera usada para zerar os coeficientes das equacoes1, 2, . . . , k − 1, k + 1, . . . , n.

Exemplo

Abaixo seguem os passos envolvidos na primeira etapa do metodo deGauss-Jordan. Vamos considerar a matriz aumentada [A|b] de um sistema

126 4. Resolucao de Sistemas de Equacoes Lineares

de equacoes lineares Ax = b.

1 −3 4 1−2 8 −6 23 −5 15 5

1 −3 4 10 2 2 40 4 3 2

1 0 7 70 2 2 40 0 −1 −6

1 0 0 −350 2 0 −80 0 −1 −6

Com base no sistema equivalente obtido na primeira etapa, podemos deduzirque a solucao para Ax = b e dada por:

x1 = −35, x2 = −4, x3 = 6

Podemos utilizar o metodo de Gauss-Jordan para obter a inversa da ma-triz.

A =

1 −3 4−2 8 −163 −5 15

Para isto, tomamos a matriz aumentada [A|I] e aplicamos os mesmos passosda primeira etapa, conforme indicado abaixo:

1 −3 4 1 0 0−2 8 −16 0 1 03 −5 15 0 0 1

1 −3 4 1 0 00 2 2 2 1 00 4 3 −3 0 1

1 0 7 4 32

00 1 1 1 1

20

0 0 −1 −7 −2 1

1 0 0 −45 −252

70 1 0 −6 −3

21

0 0 1 7 2 −1

Logo,

A−1 =

−45 −252

7−6 −3

21

7 2 −1

Os passos executados acima podem ser descritos de outra forma

A−1[A|I] → [A−1A|A−1I]

→ [I|A−1]

4. Resolucao de Sistemas de Equacoes Lineares 127

4.13 Metodo de Gauss-Jordan

O metodo de Gauss-Jordan transforma a matriz A do sistema Ax = b emuma matriz diagonal.

1a Etapa: transformar Ax = b em Ux = b, onde U e uma matriz triangularsuperior.

2a Etapa: transformar o sistema Ux = b em um sistema Dx = b onde D euma matriz diagonal.

Observacao: a primeira e segunda etapas podem ser realizadas simultanea-mente. A k-esima equacao sera usada para zerar os coeficientes das equacoes1, 2, . . . , k − 1, k + 1, . . . , n.

Exemplo

Abaixo seguem os passos envolvidos na primeira etapa do metodo deGauss-Jordan. Vamos considerar a matriz aumentada [A|b] de um sistemade equacoes lineares Ax = b.

1 −3 4 1−2 8 −6 23 −5 15 5

1 −3 4 10 2 2 40 4 3 2

1 0 7 70 2 2 40 0 −1 −6

1 0 0 −350 2 0 −80 0 −1 −6

Com base no sistema equivalente obtido na primeira etapa, podemos deduzirque a solucao para Ax = b e dada por:

x1 = −35, x2 = −4, x3 = 6

Podemos utilizar o metodo de Gauss-Jordan para obter a inversa da ma-triz.

A =

1 −3 4−2 8 −163 −5 15

128 4. Resolucao de Sistemas de Equacoes Lineares

Para isto, tomamos a matriz aumentada [A|I] e aplicamos os mesmos passosda primeira etapa, conforme indicado abaixo:

1 −3 4 1 0 0−2 8 −16 0 1 03 −5 15 0 0 1

1 −3 4 1 0 00 2 2 2 1 00 4 3 −3 0 1

1 0 7 4 32

00 1 1 1 1

20

0 0 −1 −7 −2 1

1 0 0 −45 −252

70 1 0 −6 −3

21

0 0 1 7 2 −1

Logo,

A−1 =

−45 −252

7−6 −3

21

7 2 −1

Os passos executados acima podem ser descritos de outra forma

A−1[A|I] ⇒ [A−1A|A−1I]

⇒ [I|A−1]

4.14 Singular Value Decomposition (SVD)

SVD e uma tecnica poderosa para tratar de conjuntos de equacoes oumatrizes que sao singulares ou quase singulares. Em muitos casos SVD naoapenas faz um diagnostico do problema, mas tambem encontra uma solucao,no sentido de que SVD encontra uma solucao numerica util. Seja A ∈ R

m×n

uma matriz com m linhas e n colunas, m > n, entao A pode ser escrita como:

A = UΣV T

onde:

• U ∈ Rm×n, cujas colunas sao ortogonais,

• Σ ∈ Rn×n e a diagonal cujas entradas sao numeros positivos ou zeros

(valores singulares)

• V ∈ Rn×n, que e ortogonal.

4. Resolucao de Sistemas de Equacoes Lineares 129

Em outras palavras

A = U

σ1 0 0 . . . 00 σ2 0 . . . 00 0 σ3 . . . 0...

......

. . ....

0 0 0 0 σn

V T = U · diag(σ1, . . . , σn) · V T

tal que UTU = V TV = diag(1, 1, . . . , 1)Para A ∈ R

n×n, temos

A = UΣV T , U ∈ Rn×n, V ∈ R

n×n e Σ ∈ Rn×n

SVD tambem pode ser aplicado quando m < n. Neste caso os valoressingulares σj, j = m+1, . . . , n, sao todos nulos e as colunas correspondentesde U sao nulas.

A decomposicao SVD pode ser executada sempre, nao importando quaosingular a matriz seja e a decomposicao e quase-unica. A decomposicao SVDe unica a menos de permutacoes das colunas de U , dos elementos de Σ, ecolunas de V (ou linhas de V T )

4.14.1 SVD de uma Matriz Quadrada

Seja A ∈ Rn×n uma matriz quadrada A = UΣV T a decomposicao SVD

correspondente. Se A e nao-singular, podemos calcular sua inversa

A−1 = (UΣV T )−1

= (ΣV T )−1U−1

= (V T )−1Σ−1U−1

= V Σ−1UT

= V diag(1/σ1, 1/σ2, . . . , 1/σn)UT

Note que

AA−1 = (UΣV T )(UΣV T )−1

= (UΣV T )V Σ−1UT

= UΣ(V TV )Σ−1UT

= U(ΣΣ−1)UT

= UUT

= I

130 4. Resolucao de Sistemas de Equacoes Lineares

A inversa de A nao pode ser calculada quando σj e proximo de zero, paraalgum j, o que indica que a matriz e quase-singular. A condicao de A, κ(A),pode ser calculada a partir da diagonal de Σ conforme segue

κ(A) =maxσj : j = 1, . . . , nminσj : j = 1, . . . , n

Dizemos que matriz A e singular se κ(A) = ∞ e mal-condicionada de κ(A)e um numero grande.

Observacao: O algoritmo para calculo de decomposicao SVD pode ser en-contrado em pacotes numericos, tais como Matlab, Scilab e Mathematica.O algoritmo de decomposicao SVD e intrincado e por esta razao nao seraapresentado neste texto.

4.14.2 Determinando o Espaco Gerado e o EspacoNulo

Podemos determinar o espaco gerado (range(A)) e o espaco nulo(null(A)) de uma matriz singular A atraves da decomposicao SVD. Sejao sistema Ax = b, onde A ∈ R

n×n e uma matriz quadrada. Lembramos quenull(A) = x ∈ R

n : Ax = 0, range(A) = y ∈ Rn : y = Ax para algum x,

e dim(range(A)) + dim(null(A)) = n.

O que SVD tem a ver com null(A) e range(A)? SVD explicitamenteproduz bases para null(A) e range(A).

• As colunas de U cujos wj correspondentes sao nao nulos, formam umabase ortonormal de range(A).

• As colunas de V cujos wj correspondentes sao nulos formam uma baseortonormal para o espaco nulo.

4.14.3 Exemplo 1

Consideremos o sistema de equacoes lineares Ax = b dado por

1 −3 4−2 8 −63 −5 15−1 5 −2

x =

1213

4. Resolucao de Sistemas de Equacoes Lineares 131

A decomposicao SVD nos da A = UΣV T , onde

U =

0.2594 −0.0876 −0.7692−0.4840 0.6269 0.19870.8050 0.5555 0.2083−0.2245 0.5393 −0.5705

Σ =

19.5468 0 00 6.0765 00 0 0.0292

V =

0.1978 −0.0352 0.9796−0.5012 0.8552 0.13200.8424 0.5171 −0.1515

(4.30)

Com base na decomposicao SVD acima, podemos verificar que o numero decondicao da matriz A e κ(A) = 670.2104.

4.14.4 Exemplo 2

Aqui ilustramos como a decomposicao SVD pode ser empregada parase encontrar o espaco gerado e o espaco nulo de uma matriz. Considere amatriz:

B =

1 −3 4 −2−2 8 −6 63 −5 15 −21 2 −2 3

A decomposicao SVD de B = UΣV T e dada pelas matrizes:

U =

0.2707 0.1120 −0.0693 0.9536−0.5352 −0.7314 0.3316 0.26190.7834 −0.6011 0.0554 −0.1477−0.1627 −0.3019 −0.9392 0.0134

Σ =

20.0342 0 0 00 6.7846 0 00 0 1.8975 00 0 0 0

V =

0.1761 −0.0782 −0.7934 −0.5774−0.4660 −0.5580 0.3716 −0.57740.8172 −0.5271 0.2333 0.0000−0.2899 −0.6362 −0.4218 0.5774

132 4. Resolucao de Sistemas de Equacoes Lineares

Note que B e singular, κ(B) =∞. Com base na decomposicao SVD acima,podemos calcular uma base para o espaco nulo de B.

Null(B) = range(

−0.5774−0.57740.00000.5774

)

e tambem uma base para o espaco gerado por B

Range(B) = Range(

0.2707 0.1120 −0.0693−0.5352 −0.7314 0.33160.7834 −0.6011 0.0554−0.1627 −0.3019 −0.9392

)

4.14.5 Consideracoes Finais sobre Decomposicao SVD

Considere o sistema Ax = b, onde A ∈ Rn×n, b ∈ R

n×1, e x ∈ Rn×1.

Suponha que A e singular, ou seja, det(A) = 0, e b ∈ range(A). Neste caso,existem infinitas solucoes x que satisfazem Ax = b. Em particular, seja xtal que Ax = b, entao A(x + y) = b, ∀y ∈ null(A). Considere o problemaabaixo:

P : Minimize ‖x‖2x ∈ R

n

Sujeito a :Ax = b

Em palavras, o problema P se refere a encontrar a solucao x para Ax = bque tenha a menor norma. Seja Σ−1 = diag( 1

σj), fazendo 1

σj= 0 sempre que

o valor singular wj for nulo. Entao x∗ = V diag( 1σj)UT b e a solucao otima de

P .

4.14.6 Visao Geometrica da Decomposicao SVD

Transformacoes lineares apresentam varias aplicacoes. Considere umamatriz A ∈ R

n×n e a transformacao linear f(x) = Ax. Note que dois vetoresde mesma direcao sao mapeados em vetores de mesma direcao pela funcaof(x). Como exemplo, considere os vetores x e x′ = αx com α ∈ R − 0.Entao f(x) = Ax e f(x′) = Ax′ = A(αx) = αAx o que nos permite entendera transformacao a partir da visao geometrica da transformacao de vetoresunitarios. Uma transformacao linear (nao-singular) A transforma esferas em

4. Resolucao de Sistemas de Equacoes Lineares 133

elipsoides. A Fig. 4.16 ilustra a transformacao induzida pela matriz A dadapor:

A =

[

1.47 0.980.98 1.47

]

(4.31)

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

v2

v2

v1

v1

Figura 4.16: Transformacao de esferas em elipsoides.

Uma maneira de entender o que A faz e encontrar quais vetores sao ma-peados para os eixos principais do elipsoide. Se tivermos sorte, A = UΛUT

com U ortogonal, o que ocorre quando A e simetrica, entao os autovetoresde A definem os eixos do elipsoide. A decomposicao por autovetores de Anos diz quais vetores ortogonais tem comprimento redimensionado (ver Fig.4.17):

A =[

v1 v2 . . . vn]

λ1

λ2

. . .

λn

[

v1 v2 . . . vn]T

(4.32)

Avi = λivi (4.33)

Note que f(vi) = Avi = λivi, ou seja, um autovetor vi matem a direcaosofrendo apenas um ajuste no comprimento (e sentido, caso λi < 0) conformeo autovalor λi.

Como exemplo, a decomposicao por autovetores da matriz A dada em(4.31) pode ser expressa como segue:

A = UΛUT =

[

−0.7071 0.70710.7071 0.7071

] [

0.49 00 2.45

] [

−0.7071 0.70710.7071 0.7071

]

(4.34)

134 4. Resolucao de Sistemas de Equacoes Lineares

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

v1

v2

v2 v1

Figura 4.17: Ilustracao da transformacao induzida por uma matriz Asimetrica.

Esta transformacao e ilustrada na Fig. 4.18. Note que o vetor v1 =[−0.7071 0.7071] tambem matem direcao e sentido, tendo seu comprimentoreduzido pela metade conforme fator λ1 = 0.49. Por outor lado, o vetorv2 = [0.7071 0.7071] mantem a direcao e sentido, mas o comprimento e ex-pandido pelo fator λ2 = 2.45.

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

v2 v1 v1

v2

Figura 4.18: Ilustracao da transformacao induzida por uma matriz Asimetrica.

Em geral uma matriz A tambem induz rotacoes, nao apenas alteracoesnas escalas como indica a Fig. 4.19. A transformacao dada por A pode ser

4. Resolucao de Sistemas de Equacoes Lineares 135

melhor entendida atraves da decomposicao SVD:

A = UΣV T (4.35)

=[

u1 u2 . . . un

]

σ1

σ2

. . .

σn

[

v1 v2 . . . vn]T

(4.36)

onde as matrizes U e V sao ortonormais e σi > 0 sao os valores singulares.Logo, temos que AV = UΣV TV = UΣ. Para um vetor vi a transformacaodada por A leva a um vetor Avi = σiui:

Avi =[

u1 u2 . . . un

]

σ1

σ2

. . .

σn

[

v1 v2 . . . vn]T

vi

(4.37)

=[

u1 u2 . . . un

]

0...σi...0

= σiui (4.38)

Para qualquer matriz quadrada A ∈ Rn×n existem matrizes ortogonais

U, V ∈ Rn×n e uma matriz diagonal Σ, tal que os elementos σi da diago-

nal de Σ sao nao negativos com A = UΣV T . Os elementos da diagonal deΣ (σ1, . . . , σn) sao ditos valores singulares e tipicamente se assume que elesestao ordenados com σ1 > σ2 > σn. As colunas de U (u1, . . . , un) sao cha-madas de vetores singulares a esquerda e definem os eixos do elipsoide (verFig. 4.19). As colunas de V (v1, . . . , vn) sao chamadas de vetores singularesa direita e definem os vetores que sujeitos a transformacao levam aos eixosdo elipsoide, Avi = σiui.

4.14.7 Analise dos Componentes Principais

Considere um experimento com um numero n de pessoas onde se medea altura de cada indivıduo em centımetros e polegadas. Neste experimentoe avaliado o impacto de suplementos nutricionais na altura. E necessariomanter ambas as medidas de altura? Provavelmente nao, pois a altura e

136 4. Resolucao de Sistemas de Equacoes Lineares

−2 −1 0 1 2−2

−1

0

1

2

−2 −1 0 1 2−2

−1

0

1

2

v1

v2 σ1 u1

σ2 u2

Figura 4.19: Ilustracao da transformacao dada por uma matriz A que gerarotacoes e mudancas em escala.

uma caracterıstica de uma pessoa independentemente de como ela e medida,seja em centımetros, seja em polegadas.

Em uma situacao mais complexa, um questionario poderia ser elaboradopara avaliar a satisfacao de pessoas com suas vidas. Neste questionario haquestoes sobre os atividades de lazer (item 1) e quao frequentemente dedicamtempo para recreacao e lazer (item 2). As chances desses dois itens estaremcorrelacionados sao muito altas. Existindo alto grau de correlacao (medidaestatıstica de dependencia entre duas variaveis aleatorias), concluımos queos itens sao redudantes.

Podemos sumarizar a dependencia entre duas variaveis atraves de umgrafico, contendo em uma dimensao uma das variaveis e na outra dimensao,a outra variavel. Uma reta pode entao ser ajustada para representar um rela-cionamento linear entre as variaveis, como ilustra a Fig. 4.20. Se pudessemosdefinir uma variavel que aproximasse a reta em tal grafico, entao estarıamoscapturando a essencia dos dois itens. O questionario aplicado aos sujeitosdo experimento acima poderia tomar como base este novo fator, represen-tado pela linha, que captura a essencia dos itens 1 e 2. De certa maneira,reduzimos as duas variaveis a um unico fator. Observe que o novo fator e naverdade uma combinacao linear das duas variaveis.

O exemplo de combinar duas variaveis correlacionadas em um unico fatorilustra a ideia basica por tras da analise de componentes principais. Esten-dendo o caso de duas variaveis para o cenario de multiplas variaveis, entaoo computo dos fatores principais se torna mais complexo, mas o princıpiode modelar duas ou mais variaveis por um unico fator permanece. Em li-nhas gerais, a extracao dos componentes principais consiste em uma rotacaoque maximiza variancia (variance maximization rotation) aplicada ao espaconativo das variaveis. Para o exemplo dado acima, visto na Fig. 4.20, pode-

4. Resolucao de Sistemas de Equacoes Lineares 137

−4 −2 0 2 4 6 8 10 12

−4

−2

0

2

4

6

8

x

y

Figura 4.20: Regressao linear entre duas variaveis.

mos imaginar uma translacao dos pontos de forma que o centro de massa setorne a origem, seguida de uma rotacao do eixo x em torno da origem queaproxime a reta de regressao. Este tipo de rotacao e dita maximizadora devariancia pois o criterio da rotacao e maximizar a variancia (variabilidade)do novo fator, enquanto minimiza a variancia em torno da nova variavel.Este procedimento e ilustrado nas Figs. 4.21 e 4.22.

Na presenca de mais de duas variaveis, podemos entende-las como defi-nindo um “espaco”, da mesma forma que duas variaveis definem um plano.Quando temos tres variaveis, o espaco e tridimensional. Embora a visua-lizacao do espaco nao seja possıvel, podemos ainda rotacionar os eixos bus-cando maximizar variancia da mesma forma que no caso bidimensional.

Apos identificarmos a linha na qual a variancia e maxima, ainda resta al-guma variancia em torno da linha, como pode ser observado na Fig. 4.20. Naanalise dos componentes principais, apos extrairmos o primeiro fator, isto e,apos a primeira reta ter sido tracada atraves dos dados, podemos continuar edefinir outra reta que maximiza a variancia restante e assim sucessivamente.Uma vez que fatores consecutivos sao definidos atraves da maximizacao davariabilidade que nao e capturada pelo fator precedente, concluımos que osfatores sao independentes um do outro. Em outras palavras, fatores conse-cutivos nao sao correlacionados, ou seja, sao ortogonais entre si.

No exposto acima, utilizamos a tecnica de analise dos componentes prin-cipais como um metodo de reducao de dados, isto e, um metodo para reduziro numero de variaveis. Surge portanto a questao de quantos fatores devem

138 4. Resolucao de Sistemas de Equacoes Lineares

−4 −2 0 2 4 6 8 10 12

−4

−2

0

2

4

6

8

x

y

Figura 4.21: Translacao do centroide para a origem.

ser extraıdos. A medida que extraımos fatores, eles representam cada vezmenos a variabilidade observada nos dados. A decisao de quando parar vaidepender de quanto a variabilidade residual pode ser atribuıda ao fenomenoaleatorio, a qual nao pode ser capturada por uma relacao determinıstica. Anatureza desta decisao e arbitraria e dependente da aplicacao. Entretanto,existem linhas gerais e criterios para apoiar nesta tomada de decisao.

Mas o que a decomposicao SVD tem a ver com a analise dos componentesprincipais? A decomposicao SVD nos permite computar os componentesprincipais e tambem uma medida de quanta variabilidade e capturada porcada um dos componentes. Suponha que nos e dado um conjunto p1, . . . , pnde vetores correspondendo aos pontos amostrais, onde pj ∈ R

m×1 e um vetorcoluna. Montamos a matriz X com os pontos amostrais:

X =

| | |p1 p2 . . . pn| | |

Os componentes principais (ou eixos) sao os autovetores da matriz XXT ,que podem ser calculados atraves de uma fatoracao por autovalores:

XXT = U

λ1

. . .

λm

UT

Note que os autovetores de XXT sao precisamente as colunas da matriz U .

4. Resolucao de Sistemas de Equacoes Lineares 139

−4 −2 0 2 4 6 8 10 12

−4

−2

0

2

4

6

8

x

y

Figura 4.22: Rotacao do eixo x em torno da origem.

Podemos computar os componentes principais atraves da fatoracao SVD deX, fazendo:

X = UΣV T

XXT = UΣV T (UΣV T )T

= UΣV TV ΣTUT

= UΣ2UT

Logo, os vetores singulares esquerdos (as colunas de U) correspondem aoscomponentes principais, que sao ordenados de acordo com os valores singu-lares de X (σi).

Como exemplo, considere o conjunto de pontos do R3 dados na Tab. 4.1.

Primeiramente, obtemos a matriz:

XXT =

2025.4 −21.4 1509.4−21.4 101.9 491.51509.4 491.5 3659.3

140 4. Resolucao de Sistemas de Equacoes Lineares

Realizando a decomposicao SVD, produzimos:

XXT = UΣ2UT

U =

−0.5036 0.8500 −0.1548−0.0915 −0.2307 −0.9687−0.8591 −0.4736 0.1940

Σ =

4.5965× 103

1.1900× 103

0

Observe que o primeiro componente captura aproximadamente 79.43% davariabilidade, enquanto o segundo componente captura cerca de 20.57% davariabilidade. Ja o terceiro componente nao captura nenhuma variabilidade.Isto esta de acordo com o experimento realizado, para o qual a dimensao xteve um componente aleatorio com fator 5, enquanto a dimensao y teve umcomponente aleatorio com fator 81. Por outro lado, a dimensao z nao tevenenhuma aleatoriedade sendo definida pela expressao z = 0.7x + 5y − 1. AFig. 4.23 ilustra os pontos dados na Tab. 4.1. Note que os pontos variamnas dimensoes x e y de forma arbitraria, por outro lado, observe que o valorde z e uma funcao linear de x e y. Em outras palavras, os pontos dados estaocontidos em um plano.

4.15 Metodos Iterativos

Os metodos diretos nao sao os mais indicados para resolver sistemas es-parsos e os sistemas de grande porte. O refinamento do algoritmo de Gausse uma forma de metodo iterativo. Os algoritmos iterativos partem de umasolucao inicial e sistematicamente geram uma sequencia de iterandos. Dadauma aproximacao inicial x0 da solucao de Ax = b, o processo iterativo podeser descrito como:

xk+1 = G(xk), k = 1, 2, . . . ,

Aqui vamos estudar os metodos de Jacobi e de Gauss-Seidel.

1Os pontos (x, y, z) foram gerados atraves das expressoes: x = 5 ∗ rand() − 12.5);y = 8 ∗ rand() − 4; z = 0.7 ∗ x + 5 ∗ y − 1, onde rand() produz um numero aleatoriouniformemente distribuıdo no intervalo (0, 1).

4. Resolucao de Sistemas de Equacoes Lineares 141

Tabela 4.1: Conjunto de pontos de um experimentoj xj yj zj1 -7.7494 -2.1509 -17.17902 -9.4658 -0.1121 -8.18683 -8.0435 2.0968 3.85344 -10.2177 -3.8520 -27.41225 -8.3930 -0.4424 -9.08696 -9.4228 2.3355 4.08157 -7.8909 1.9057 3.00468 -11.6187 -0.7544 -12.90489 -7.8227 3.3352 10.200310 -10.4486 3.1492 7.431911 -12.2105 -1.1771 -15.432712 -8.4342 -3.9211 -26.509513 -11.8055 -2.3779 -21.153314 -11.5064 0.8303 -4.902815 -11.1391 -2.4095 -20.844816 -12.4236 1.9743 0.174917 -10.2745 3.4545 9.080418 -10.1700 -0.6508 -11.373019 -8.2689 0.2012 -5.782120 -11.4868 1.3771 -2.1552

4.15.1 Metodo de Jacobi

Seja Ax = b um sistema de equacoes lineares quadrado, expresso naforma:

a11 a12 . . . a1na21 a22 . . . a2n...

......

...an1 an2 . . . ann

x1

x2...xn

=

b1b2...bn

(4.39)

Assumindo que ajj 6= 0 para j = 1, . . . , n, podemos expressar (4.39) na forma:

xj =1

ajj(bj − aj1x1 − aj2x2 − . . .

. . .− aj,(j−1)xj−1 − aj,(j+1)xj+1 − . . .− aj,nxn

)

(4.40)

para j = 1, . . . , n, onde sao conhecidos os valores dex1, x2, . . . , xj−1, xj+1, . . . , xn a serem utilizados no lado direito da ex-pressao acima.

142 4. Resolucao de Sistemas de Equacoes Lineares

−13−12

−11−10

−9−8

−7

−4

−2

0

2

4−30

−20

−10

0

10

20

xy

z

Figura 4.23: Pontos amostrais para analise de componentes principais.

O Metodo de Jacobi consiste no processo iterativo dado por

xk+1j =

1

ajj

(

bj − aj1xk1 − aj2x

k2 − . . .

−aj,(j−1)xkj−1 − aj,(j+1)x

kj+1 − . . .− aj,nx

kn

)

, j = 1, . . . , n(4.41)

Se o sistema Ax = y e nao singular, sempre sera possıvel obter ajj 6= 0 setrocarmos as equacoes adequadamente. Em sistemas esparsos, o metodo deJacobi evita multiplicacoes desnecessarias, simplificando a expressao acima.

Jacobi(x1, . . . , xn, aij, bj , lim)

1: k ← 12: while k < lim do3: for j = 1, . . . , n do4: zj =

1ajj

(bj−aj1x1−aj2x2−. . .−aj,(j−1)xj−1−aj,(j+1)xj+1−. . .−aj,nxn)

5: end for6: if Teste de convergencia e satisfeito then7: Saıda (zj : j = 1, . . . , n)8: else9: xj ← zj, j = 1, . . . , n10: end if11: k ← k + 112: end while13: Saıda “Algoritmo nao convergente”

4. Resolucao de Sistemas de Equacoes Lineares 143

Exemplo do Metodo de Jacobi

Vamos tomar como exemplo o sistema de equacoes lineares dado por:

5x1 + − 3x4 − x5 = 2−x1 + 4x2 − x5 = 3

+ 2x3 − x4 = −1−x1 + 4x4 − 2x5 = 0

− x4 + 2x5 = −1

(4.42)

Primeiramente, obtemos o operador iterativo que corresponde asequacoes:

xk+11 = 1

5(2 + 3xk

4 + xk5)

xk+12 = 1

4(3 + xk

1 + xk5)

xk+13 = 1

2(−1 + xk

4)xk+14 = 1

4(xk

1 + 2xk5)

xk+15 = 1

2(−1 + xk

4)

(4.43)

O processo iterativo acima ao ser aplicado na resolucao de (4.42) produza sequencia de iterandos dada na Tabela 4.2.

Tabela 4.2: iterandos obtidos pelo processo iterativo de JacobiIteracao 1 2 . . . 35 36

x1 1 1.20 . . . 0.0869574059 0.086957108x2 1 1.25 . . . 0.6086962107 0.608696020x3 1 0.00 . . . -0.6521793252 -0.652173522x4 1 0.75 . . . -0.3043470441 -0.304347311x5 1 0.00 . . . -0.6521733252 -0.652173522

4.15.2 Metodo de Gauss-Seidel

No metodo anterior observamos que, quando xk+12 e calculado, na reali-

dade ja possuımos o valor xk+11 que e mais proximo da solucao do que xk

1.Isto sugere o metodo Gauss-Seidel, que corresponde ao processo iterativomodificado:

xk+1j =

1

aii(bj − aj1x

k+11 − aj2x

k+12 − . . .− aj,(j−1)x

k+1j−1

−aj,(j+1)xkj+1 − aj,nx

kn), j = 1, . . . , n (4.44)

Gauss Seidel(x1, . . . , xn, aij , bj, lim)

144 4. Resolucao de Sistemas de Equacoes Lineares

1: k ← 12: while k < lim do3: for j = 1, . . . , n do4: zj =

1ajj

(bj−aj1z1−aj2z2−. . .−aj,(j−1)zj−1−aj,(j+1)xj+1−. . .−aj,nxn)

5: end for6: if Teste de convergencia e satisfeito then7: Saıda (zj : j = 1, . . . , n)8: else9: xj ← zj, j = 1, . . . , n10: end if11: k ← k + 112: end while13: Saıda “Algoritmo nao convergente”

Observacao: se o teste de convergencia nao usa os valores xj−1 entao o pro-cesso iterativo pode ser substituıdo por:

xj =1

ajj(bj − aj1x1 − aj2x2 − . . .

−aj,(j−1)xj−1 − aj,(j+1)xj+1 − . . .− aj,nxn), j = 1, . . . , n

Resultados do algoritmo ao ser aplicado ao exemplo anterior, resolucaodo sistema de equacoes lineares (4.42), e ilustrado na Tabela 4.3.

Tabela 4.3: Iterandos obtidos pelo processo iterativo de Gauss-SeidelIteracao 1 2 3 . . . 18

x1 1 1.200 0.8600 . . . 0.0869585x2 1 1.300 0.9400 . . . 0.6086963x3 1 0.000 -0.1000 . . . -0.6521724x4 1 0.800 0.1650 . . . -0.3043465x5 1 -0.100 -0.4175 . . . -0.6521732

4.15.3 Visao Geometrica do Metodo Iterativo

Para fins de ilustracao, vamos considerar um sistema linear generico emduas variaveis em duas equacoes:

ax+ by = mcx+ dy = n

4. Resolucao de Sistemas de Equacoes Lineares 145

portanto,

A =

[

a bc d

]

e b =

[

mn

]

Processo iterativo do metodo de Jacobi e dado por:

xk+1 = 1a(m− byk)

yk+1 = 1d(n− cxk)

enquanto que o processo iterativo do metodo de Gauss-Seidel toma a forma:

xk+1 =1a(m− byk)

yk+1 =1d(n− cxk+1)

As Figuras 4.24 e 4.25 ilustram graficamente o comportamento do pro-cesso iterativo Gauss-Seidel para os casos de convergencia e divergencia, res-pectivamente.

y0

y1

y2

x0x1x2 x

y (I)

(II)

(x∗, y∗)

Figura 4.24: Visao geometrica do processo iterativo de Gauss-Seidel, casoconvergente.

Algoritmos Preparadores para o Gauss-Seidel/Jacobi:

Objetivo de um algoritmo preparador e transformar o sistema Ax = bem uma forma equivalente x = Bx + d, de modo a se obter um esquemaiterativo convergente expresso na forma xk+1 = Bxk + d. Dois preparadoressao o preparador classico e o preparador unitario.

146 4. Resolucao de Sistemas de Equacoes Lineares

y0

y1

y2

x0x1 x2x

y

(I)(II)

(x∗, y∗)

Figura 4.25: Visao geometrica do processo iterativo de Gauss-Seidel, casodivergente.

1) Preparador Classico:

x1 = 1a11

(b1 − a12x2 − a13x3 − . . .− a1nxn)

x2 = 1a22

(b2 − a21x1 − a23x3 − . . .− a2nxn)... =

...xn = 1

ann(bn − an1x1 − an2x2 − . . .− an,(n−1)xn−1)

o qual pode ser escrito de uma forma mais compacta

xj =1

ajj

(

bj −n∑

k=1,k 6=j

ajkxk

)

, j = 1, . . . , n

2) Preparador Unitario:

x1 = b1 + (1− a11)x1 − a12x2 − . . .− a1nxn

x2 = b2 − a21x1 + (1− a22)x2 − . . .− a2nxn... =

...xn = bn − an1x1 − an2x2 − . . .+ (1− ann)xn

que tambem pode ser colocado de forma mais compacta:

xj = bj −j−1∑

k=1

ajkxk + (1− ajj)xj −n∑

k=j+1

ajkxk, j = 1, . . . , n

4. Resolucao de Sistemas de Equacoes Lineares 147

4.15.4 Condicoes de Convergencia dos Metodos Itera-tivos

As condicoes de convergencia estao relacionadas com os algoritmos prepa-radores. Vamos inicialmente estudar a condicao de convergencia do metodode Jacobi para o preparador classico.

Teorema 4.10 Seja o sistema de equacoes lineares modificado x = Bx+ d.Se ‖B‖ < 1, entao o algoritmo de Jacobi converge.

Prova: Seja x′ e uma solucao de Ax = b⇔ x = Bx+ d. Entao,

‖xk+1 − x′‖ = ‖Bxk + d− x′‖= ‖Bxk + d− (Bx′ + d)‖= ‖B(xk − x′)‖6 ‖B‖ · ‖xk − x′‖< ‖xk − x′‖

Portanto limk→∞‖xk − x′‖ = 0.

Corolario 4.1 Seja o sistema Ax = y. Entao, se a matriz A e diagonal-

mente dominante, |aii| >n∑

j=1,j 6=i

|aij| para i = 1, . . . , n, entao o metodo de

Jacobi e convergente.

Como exemplo, considere o operador iterativo de Jacobi dado por (4.43).Este operador pode ser escrito na forma x(k+1) = Bx(k) + d, onde:

B =

0 0 0 3/5 1/51/4 0 0 0 1/40 0 0 1/2 01/4 0 0 0 2/40 0 0 1/2 0

b =

2/53/4−1/20−1/2

Note que ‖B‖∞ = 0.8, o que implica a convergencia do operador iterativo.

4.16 Metodo do Gradiente Conjugado

Aqui, consideramos o problema de resolver o sistema de equacoes lineares:

Ax = b (4.45)

148 4. Resolucao de Sistemas de Equacoes Lineares

onde A = AT ∈ Rn×n e uma matriz positiva definida.

Existe uma relacao entre a solucao do sistema Ax = b e o problema deencontrar o mınimo de uma funcao quadratica:

minx∈Rn

f(x) =1

2xTAx− bTx (4.46)

Uma vez que f e convexa, o ponto mınimo x⋆ de (4.46) induz gradiente de fnulo:

∇f(x⋆) = Ax⋆ − b = 0

Isto sugere que o sistema linear (4.45) pode ser resolvido atraves de metodositerativos de otimizacao baseados em gradiente. A partir de um chute inicialx(0), tais metodos geram uma sequencia x(k) que converge para a solucaox⋆. Dado o iterando x(k), o metodo de descenso produz x(k+1) fazendo:

x(k+1) = x(k) − αk∇f(x(k))

= x(k) + αk(b− Ax(k))

= x(k) + αkpk

onde pk e a direcao de descenso que corresponde ao negativo do gradientede f no ponto x(k). O vetor de resıduos rk = b − Ax(k) define a direcaode descenso. A escolha do passo αk e fundamental para convergencia globaldo metodo de descenso. O metodo do gradiente conjugado consiste de ummetodo de descenso onde as direcoes pk sao mutuamente conjugadas. Ouseja, qualquer par de direcoes pi e pj da sequencia pk satisfaz a relacao:

pTi Apj = 0

Duas direcoes pi e pj sao ditas conjugadas se sao ortogonais com respeito aoproduto interno 〈ATpi, pj〉 = 〈pi, Apj〉 = pTi Apj.

Note que um conjunto pk com n direcoes mutuamente conjugadas formauma base do R

n. Logo, a solucao x⋆ para Ax = b pode ser escrita da seguinteforma:

x⋆ = α1p1 + α2p2 + · · ·+ αnpn (4.47)

Os coeficientes αk sao dados por:

Ax⋆ = α1Ap1 + α2Ap2 + · · ·+ αnApn (4.48)

pTkAx⋆ = pTkα1Ap1 + pTkα2Ap2 + · · ·+ pTkαnApn

= αkpTkApk (4.49)

αk =pTkAx

pTkApk=

pTk b

pTkApk(4.50)

4. Resolucao de Sistemas de Equacoes Lineares 149

Portanto, de posse de um conjunto pk de n direcoes mutuamente con-jugadas, a solucao x⋆ pode ser facilmente obtida atraves dos coeficientes αk

calculados com a expressao (4.50) que sao substituıdos em (4.47).O metodo do gradiente conjugado produz o conjunto pk atraves dos

gradientes obtidos por meio dos resıduos rk em um processo iterativo. Sejax(0) o iterando inicial e defina r(0) = b − Ax(0) e p0 = −∇f(x(0)) = r0. Oconjunto pkn−1

k=0 e obtido como segue:

pk+1 = rk −pTkArkpTkApk

pk, k = 0, . . . , n− 2 (4.51)

Portanto, chegamos ao algoritmo do gradiente conjugado (GC) conformepseudo-codigo abaixo:

Gradiente-Conjugado(A, b, x(0), ǫ, n)

1: r0 ← b− Ax(0)

2: p0 = r03: k ← 04: while ‖rk‖ > ǫ do

5: αk ← rTkrk

pTkApk

6: x(k+1) ← x(k) + αkp(k)

7: rk+1 = rk − αkApk

8: βk ← − rTk+1rk+1

rTkrk

9: pk+1 ← rk+1 + βkpk10: k ← k + 111: end while

O metodo do gradiente conjugado termina em no maximo n passsos seerros de arredondamento nao sao encontrados. Tipicamente, a solucao x(n)

e uma excelente aproximacao. O numero de passos nao deve exceder subs-tancialmente em n passos. E preferıvel interromper o processo iterativo ereinicia-lo a partir da solucao aproximada encontrada na primeira etapa.

O metodo do gradiente conjugado pode ser aplicado quando A e umamatriz arbitraria resolvendo o sistema normal:

ATAx = AT b (4.52)

uma vez que ATA e simetrica e positiva semi-definida qualquer que seja amatriz A. Sendo um sistema iterativo, nao e necessario montar ATA deforma explıcita em memoria, mas simplesmente executar operacoes matrici-ais e vetoriais embutidas no operador iterativo. Portanto, o metodo GC e

150 4. Resolucao de Sistemas de Equacoes Lineares

particularmente eficiente quando A e uma matriz esparsa. As seguintes mo-dificacoes sao suficientes para que o algoritmo Gradiente-Conjugado aceiteuma matriz A qualquer:

p0 = AT r0

αk =rTk AA

T rkpTkA

TApk

βk =rTk+1AA

T rk+1

rTk AAT rk

pk+1 = AT rk+1 + βkpk

Porem, a desvantagem em montar as equacoes normais (4.52) e que onumero de condicionamento κ(ATA) e igual a κ(A)2, assim reduzindo a taxade convergencia do metodo GC.

Aplicando-se o metodo do gradiente conjugado ao sistema linear (4.42),obtem-se os iterandos dados na Tabela 4.4. As direcoes conjugadas comrespeito a matriz ATA sao dadas na Tabela 4.5. Note 〈p(i), ATAp(j)〉 = 0para i 6= j.

Tabela 4.4: iterandos produzidos pelo metodo do gradiente conjugadox(k)\k 0 1 2 3 4 5

x(k)1 62.9447 71.8333 42.8618 28.8714 30.1741 0.0870

x(k)2 81.1584 48.8943 24.0198 25.0221 17.7009 0.6087

x(k)3 -74.6026 -58.5635 -37.5481 19.1819 21.6932 -0.6522

x(k)4 82.6752 47.7951 48.5802 32.1188 33.4815 -0.3043

x(k)5 26.4718 52.7845 69.3574 44.9740 37.5150 -0.6522

Tabela 4.5: direcoes conjugadasp(k)\k 0 1 2 3 4

p(k)1 0.2559e+3 -645.4612 -75.3341 16.3974 -23.4300

p(k)2 -0.9289e+3 -554.1837 5.3973 -92.1580 -13.3103

p(k)3 0.4618e+3 468.2044 305.4747 31.6107 -17.4012

p(k)4 -1.0042e+3 17.4912 -88.6395 17.1533 -26.3103

p(k)5 0.7575e+3 369.2289 -131.2972 -93.8918 -29.7223

4. Resolucao de Sistemas de Equacoes Lineares 151

4.17 Aplicacoes de Sistemas de Equacoes Li-

neares

Nesta secao ilustramos aplicacoes de sistemas de equacoes lineares a pro-blemas de interesse.

4.17.1 Interpolacao com Polinomios

Problema: dados os pontosD = (t1, y1), . . . , (tn, yn) construa um polinomiop(t) = x1+x2t+x3t

2+. . .+xntn−1 que passe pelos pontos dados. Portanto, os

dados sao os pontos (t1, y1), . . . , (tn, yn) e as variaveis sao x1, x2, . . . , xn,que correspondem aos coeficientes do polinomio. A Figura 4.26 ilustra umafuncao desconhecida f(x), para a qual conhecemos o seu valor em algunspontos e desejamos encontrar uma interpolacao.

t1 t2 t3 t4 t5 t6 t7

y1

y2

y3

y4

Figura 4.26: Exemplo de dados para interpolacao com polinomios.

Podemos transformar o problema na solucao de um sistema de equacoeslineares:

p(t1) = x1 + x2t1 + x3t21 + . . . + xnt

n−11 = y1

p(t2) = x2 + x2t2 + x3t22 + . . . + xnt

n−12 = y2

... =...

p(tn) = xn + x2tn + x3t2n + . . . + xnt

n−1n = yn

(4.53)

152 4. Resolucao de Sistemas de Equacoes Lineares

O sistema (4.53) pode ser colocado na forma matricial:

1 t1 t21 . . . tn−11

1 t2 t22 . . . tn−12

......

......

...1 tn t2n . . . tn−1

n

x1

x2...xn

=

y1y2...yn

Portanto, a busca do polinomio interpolador p(t) para o conjunto de pontosD, i.e. um polinomio que passe pelos elementos de D, foi reduzida a solucaode um sistema de equacoes lineares.

4.17.2 Estruturas Elasticas Lineares

Considere uma estrutura conforme Figura 4.27, sendo esta formada emgeral por n nos (pontos de juncao conectados por barras) e um conjuntode forcas externas aplicadas aos pontos dado por f ∈ R

2n (vetor de forcasexternas, vertical e horizontal, aplicadas aos pontos). Nosso problema edeterminar os alongamentos/compressoes provocados nas barras pelas cargas,ou seja, queremos determinar o vetor de alongamentos verticais e horizontais∆s ∈ R

2n.

Para ‖∆s‖ pequeno, o deslocamento pode ser aproximado por uma funcaolinear f = A∆s onde A e dita matriz de resistencia a qual depende domaterial e da geometria. Portanto, o problema de encontrar os alongamentosse reduz a obter a matriz A e resolver o sistema de equacoes f = A∆s, sendoo vetor de forcas externas f (cargas) conhecido.

Carga 1 Carga 2 Carga 3 Carga 4

Figura 4.27: Exemplo de estrutura.

4. Resolucao de Sistemas de Equacoes Lineares 153

4.17.3 Exemplo: n=1

Aqui ilustramos o processo para o caso mais simples, onde o numero devertices e n = 1, conforme a ilustracao dada na Figura 4.28.

F = (Fx, Fy)L1

L2

S = (Sx, Sy)

Θ1

Θ2

Figura 4.28: Exemplo de estrutura com apenas um vertice

Quando as cargas aplicadas sao nulas, f = 0, a posicao do no e s = (sx, sy)como indicado na figura. Quando uma carga e aplicada, f 6= 0, a posicao dono e dada por s +∆s = (sx +∆sx, sy +∆sy). No que segue vamos mostrarque para ‖∆s‖ pequeno, ‖∆s‖ e dado por

[

fxfy

]

=

[

a11 a12a21 a22

] [

∆sx∆sy

]

⇒ f = A∆s

onde os coeficientes aij dependem apenas do material e da geometria daestrutura. Considere agora a Figura 4.29. Assumindo que o no superior estalocalizado na origem, deduzimos que

sx = l1 sin θ1

sy = −l1 cos θ1l1 +∆l1 =

(sx +∆sx)2 + (sy +∆sy)2

≈√

s2x + s2y +sx∆sx + sy∆sy√

s2x + s2y

A aproximacao pode ser obtida atraves da expansao de Taylor de primeiraordem. Por exemplo, fazendo g(sx, sy) =

s2x + s2y, s′x = sx + ∆sx, e s′y =

154 4. Resolucao de Sistemas de Equacoes Lineares

sy +∆sy, podemos calcular

g(s′x, s′y) ≈ g(sx, sy) +

∂g(sx, sy)

∂sx(s′x − sx) +

∂g(sx, sy)

∂sy(s′y − sy)

= g(sx, sy) +∂g(sx, sy)

∂sx∆sx +

∂g(sx, sy)

∂sy∆sy

=√

s2x + s2y +1

2

2sx√

s2x + s2y∆sx +

1

2

2sy√

s2x + s2y∆sy

=√

s2x + s2y +sx∆sx + sy∆sy√

s2x + s2y

Portanto,l1 +∆l1 = l1 + sin θ1∆sx − cos θ1∆sy

e para, ∆s pequeno, temos que ∆l1 = sin θ1∆sx − cos θ1∆sy.

L1 +∆L1

L2 +∆L2

L1

L2

(Sx, Sy) + (∆Sx,∆Sy)

Θ1

Θ2

Figura 4.29: Exemplo de estrutura com apenas um vertice e carga nao nula

De maneira similar ao desenvolvimento acima, podemos concluir que

∆l2 = sin θ2∆sx + cos θ2∆sy

Em notacao matricial, o problema fica:[

∆l1∆l2

]

=

[

sin θ1 − cos θ1sin θ2 cos θ2

] [

∆sx∆sy

]

Vamos agora considerar as forcas necessarias para deformar barras (mate-rial elastico), conforme ilustracao nas Figuras 4.30 e 4.31. Mais precisamente,

4. Resolucao de Sistemas de Equacoes Lineares 155

• F1 e F2 sao forcas internas as barras;

• k1 e k2 sao constantes que dependem da geometria e do material.

Θ1 F1

Figura 4.30: Forcas internas as barras

Θ2F2

Figura 4.31: Forcas internas as barras

O proximo passo consiste do calculo das forcas de equilıbrio nos nos. Asforcas que atuam no no sao ilustradas na Figura 4.32. Decompondo as forcasinternas as barras, as quais devem equilibrar as forcas externas, obtemos asequacoes:

F1 sin θ1 + F2 sin θ2 = fx

−F1 cos θ1 + F2 cos θ2 = fy

Sabemos que[

F1

F2

]

=

[

k1 00 k2

] [

∆l1∆l2

]

e[

fxfy

]

=

[

sin θ1 sin θ2− cos θ1 cos θ2

] [

F1

F2

]

Portanto[

fxfy

]

=

[

sin θ1 sin θ2− cos θ1 cos θ2

] [

k1 00 k2

] [

sin θ1 − cos θ1sin θ2 cos θ2

] [

∆sx∆sy

]

= A

[

∆sx∆sy

]

156 4. Resolucao de Sistemas de Equacoes Lineares

(fx, fy)

Θ1

Θ2

F1

F2

Fx

Figura 4.32: Forcas que atuam no no

4.18 Referencias

O texto deste capıtulo e uma sıntese do texto de Claudio and Marins[1]. Em particular, as seguintes secoes sao resumos de [1] com modificacoese introducao de exemplos:

• secao 4.2 (erros computacionais);

• secao 4.3 (etapas de solucao de sistemas lineares);

• secao 4.4 (metodo de eliminacao de Gauss);

• secao 4.5 (instabilidade numerica);

• secao 4.6 (metodo de Gauss com pivoteamento);

• secao 4.7 (condicionamento de matrizes);

• secao 4.8 (refinamento de solucao por meio do metodo de Gauss);

• secao 4.9 (equacionamento matricial);

• secao 4.15 (metodos iterativos).

O exemplo de aplicacao em estruturas elasticas lineares foi retirado dasnotas de aula da disciplina EE103: Applied Numerical Computing [7]. Assecoes sobre decomposicao LU e SVD foram inspiradas nos textos de Presset al. [5] e Cormen et al. [2].

4. Resolucao de Sistemas de Equacoes Lineares 157

4.19 Excercıcios

Exercıcio 4.1 Seja a equacao polinomial abaixo, chamada equacao Diofan-tina, utilizada na teoria de controle:

A(s)D(s) + B(s)N(s) = ∆(s) (4.54)

Nesta equacao sao conhecidos os polinomios N(s) e D(s) e deseja-se de-terminar A(s) e B(s). Para tanto, considera-se tambem como conhecido opolinomio caracterıstico desejado, ∆(s), o qual deve ter todas as suas raızescom parte real negativa: Re(si) < 0. Nos itens seguintes, utilizar-se-a:

N(s) = n0 + n1s+ n2s2

D(s) = d0 + d1s+ d2s2

∆(s) = δ0 + δ1s+ δ2s2 + δ3s

3

A(s) = a0 + a1s

B(s) = b0 + b1s

sendo d2 6= 0. Tarefas:

a) Mostre que a solucao da equacao Diofantina (4.54) pode ser ob-tida atraves da solucao do sistema de equacoes lineares (4.55), cujasincognitas sao os coeficientes dos polinomios A(s) e B(s):

d0 0 n0 0d1 d0 n1 n0

d2 d1 n2 n1

0 d2 0 n2

a0a1b0b1

=

δ0δ1δ2δ3

(4.55)

b) Considere N(s) = 1 + s e D(s) = 1 + 2.5s + s2 e ∆(s) = (4 + s)(10 +6s + s2) = 40 + 34s + 10s2 + s3. Monte o sistema (4.55) correspon-dente e utilize o metodo de Gauss com pivoteamento para determinaro sistema triangular que permite determinar os coeficientes de A(s) eB(s). (Mostrar a cada passo as trocas de linhas realizadas, o pivo e osos fatores multiplicativos).

c) Sejam N(s), D(s) e ∆(s) utilizados no item anterior. ConsidereA(s) = s e reformule o sistema (4.55) para encontrar os coeficientesde B(s) utilizando o metodo dos mınimos quadrados. De o polinomiocaracterıstico que e efetivamente obtido ao se utilizar A(s) dado e B(s)calculado.

158 4. Resolucao de Sistemas de Equacoes Lineares

d) Considere a matriz definida positiva P = STS, obtida a partir de:

ST =

[

1 1 0 00 1 1 0

]

Determine a decomposicao de Choleski de P .

Exercıcio 4.2 O sistema de equacoes lineares a coeficientes reais a seguirfoi montado para encontrar a solucao x ∈ C2 de um sistema de equacoes acoeficientes complexos Ax = b, com A ∈ C2×2 e b ∈ C2:

3 0.7 −1 11 2 −1 01 −1 3 0.71 0 1 2

t1t2v1v2

=

1001

Para o sistema a coeficientes reais acima:

a) Aplique o criterio das linhas e conclua sobre a convergencia dos metodosde Jacobi e de Gauss-Siedel.

b) Aplique o criterio de Sassenfeld e conclua sobre a convergencia dometodo de Gauss-Siedel.

c) Faca uma iteracao do metodo de Gauss-Siedel; considere a aproximacaoinicial:

[

t10 t20 v10 v20]T

=[

0 0 0 0]T

d) Determine o sistema de equacoes lineares a coeficientes complexos cor-respondente.

Exercıcio 4.3 Considere o sistema de equacoes lineares Ax = b e o processoiterativo x = Bx + d correspondendo ao metodo de Jacobi. Responda asquestoes abaixo.

a) Prof. Clovis afirma que se ‖B‖ < 1 entao o metodo de Jacobi sempreconverge, qualquer que seja o ponto inicial x(0). Isto e diferente dometodo de Newton, cuja convergencia depende do ponto inicial. Voceconcorda com a afirmacao do Prof. Clovis? Justifique a sua resposta.

b) Prof. Clovis tambem afirma que se o processo iterativo x(k + 1) =Bx(k) + d converge para um ponto fixo x∗ a partir de um ponto inicialx(0) 6= x∗, entao o processo iterativo sempre converge para um pontofixo qualquer ponto inicial x′. Voce concorda ou discorda da afirmacao?Justique a sua resposta.

4. Resolucao de Sistemas de Equacoes Lineares 159

Exercıcio 4.4 Seja x a solucao do sistema linear Ax = b, onde x ∈ Rn,

A ∈ Rn×n e b ∈ R

n. Considere o sistema Ay = b+∆b obtido ao perturbarmoso lado direito do sistema original. Prof. Wilson afirma que se conhecermosκ(A), o numero de condicionamento da matriz A, entao pode-se estabeleceruma regiao S ⊆ R

n que depende de κ(A) tal que y ∈ S. Se voce discorda doProf. Wilson, justifique a resposta. Se voce concorda com o Prof. Wilson,mostre como que se obtem S?

Exercıcio 4.5 Considere o sistema de equacoes lineares Ax = b, onde x ∈R

n, A ∈ Rn×n e b ∈ R

n com n = 2. Ao aplicarmos o preparador classico dometodo de Jacobi, obtemos x = Bx+ d. E possıvel que o metodo de Jacobivenha a se comportar como o metodo de Gauss-Seidel? Para uma respostanegativa, justifique a resposta. Para uma resposta afirmativa, indique quecondicao leva ao mesmo comportamento dos metodos.

Exercıcio 4.6 Considere os sistemas abaixo indicados:

Ax1 = b1, Ax2 = b2, . . . , Axk = bk,

onde A ∈ Rn×n e xj, bj ∈ R

n para j = 1, . . . , k. Como que voce encontrariaas solucoes x1, . . . xk? O seu metodo deve ser o mais eficiente possıvel.

Exercıcio 4.7 Seja Ax = b um sistema de equacoes lineares, onde A ∈R

n×n e x, b ∈ Rn com n = 2. A Profa. Mirian afirma que se det(A) = 0,

entao qualquer que seja o preparador do metodo de Gauss-Seidel, o metodoiterativo nao converge. Voce concorda ou discorda da afirmacao? Justifiquesua resposta.

Exercıcio 4.8 Aplique os metodos de Gauss com pivoteamento, metodo ite-rativo de Jacobi, metodo iterativo de Gauss-Seidel, e decomposicao LU pararesolver o sistema de equacoes abaixo: (descreva todos os passos executadospor cada metodo)

2x1 − 3x2 + 12x3 − 5x4 = 65x1 + 10x2 − 3x3 + 2x4 = 14x1 + 2x2 − 5x3 + 12x4 = 1010x1 + 5x2 + 2x3 + x4 = 18

Exercıcio 4.9 Seja ‖M‖ =√

λmax(MTM) uma norma-matricial para M ∈R

n×n, onde λmax(M) e definido como o maior autovalor da matriz M . Con-sidere as matrizes quadradas abaixo:

A =

−1/3 0 023 1 0

−3/7 7/8 −9

B =

−10 1 55 −6 78 33 4

C =

−1/3 0 00 1 10 1 −4

160 4. Resolucao de Sistemas de Equacoes Lineares

Calcule ‖A‖∞, ‖B‖1 e ‖C‖.

Exercıcio 4.10 Seja o sistema Ax = b dado pelas equacoes abaixo:

3x1 − 13x2 + 1

4x3 = −10.5

x1 + 2x2 + x4 = 62.1x1 + 2x2 − 3.5x3 = 3.7

Prof. Kuhn afirma que se o metodo de Jacobi for obtido a partir do pre-parador classico, entao para qualquer ponto inicial x0 ∈ R

3 o processo ite-rativo resultante converge para uma solucao. Voce concorda ou discorda daafirmacao do Prof. Kuhn? Justifique a sua resposta.

Exercıcio 4.11 As questoes abaixo se referem a um sistema Ax = b ondeA ∈ R

m×n. (Justifique as respostas.)

i. Se m = n, como voce faria para calcular o condicionamento de A?

ii. Prof. Kuhn afirma que se n > m, ou seja, se ha mais variaveis do queequacoes, entao o sistema tem uma ou mais solucoes. Voce concordaou discorda da afirmacao?

iii. Prof. Kuhn afirma que se o sistema linear tem mais do que uma solucao,entao devem existir infinitas solucoes. Voce concorda ou discorda?

iv. Prof. Kuhn tambem afirma que se rank(AT ) = n e b ∈ range(A) entaoo sistema tem solucao unica. Voce concorda ou discorda?

Exercıcio 4.12 Estamos interessados em encontrar uma solucao para o sis-tema Ax = b, onde A ∈ R

n×n.

i. Sob quais condicoes o sistema tem um numero infinito de solucoes?

ii. Que condicao a matriz A deve satisfazer para se aplicar a fatoracaoCholesky?

iii. Para a matriz B =

1 1 31 5 73 7 14

, sabemos que ela admite uma fa-

toracao LU, onde L =

1 0 01 2 03 2 1

. Obtenha U e calcule a solucao

do sistema Ax = b para b1 =

10−1

e b2 =

21−2

atraves da

decomposicao LU.

4. Resolucao de Sistemas de Equacoes Lineares 161

Exercıcio 4.13 Modele o sistema de trelicas descrito na Figura 4.33, deforma a obter as matrizes A, B, e C tal que:

∆l1∆l2∆l3

= A

[

∆Sx

∆Sy

]

F1

F2

F3

= B

∆l1∆l2∆l3

[

fxfy

]

= C

F1

F2

F3

.

Obtenha portanto a matriz M = CBA de maneira que:

[

fxfy

]

= M

[

∆Sx

∆Sy

]

.

Para uma carga f = [ fx fy ]T = [ 1N 1.5N ]T e constantes k1 = 30N/m,k2 = 28N/m e k3 = 35N/m, obtenha o deslocamento ∆S resolvendo osistema de equacoes lineares utilizando a fatoracao LU. (Sugestao: utilizeOctave/Matlab para calcular a decomposicao LU de M).

l1

l2

l3

Θ1

Θ2

Θ3

F1

F2

F3

fx

fy

x (m)

y (m)

1 2 3

−1

−2(Sx, Sy)

Figura 4.33: Sistema de trelicas. O desenho nao esta em escala. (Sx, Sy) =(2,−2).

Exercıcio 4.14 Questoes de Verdadeiro/Falso.

i. Seja ‖ • ‖p uma norma vetorial definida por p ∈ N. Entao obrigatoria-mente ‖x‖∞ > ‖x‖p para qualquer x ∈ R

n.

162 4. Resolucao de Sistemas de Equacoes Lineares

ii. Seja A ∈ Rn×n uma matriz quadrada. Se A tem inversa, entao ‖A−1‖ >

1‖A‖ .

iii. Seja A ∈ Rn×n uma matriz quadrada que possui inversa. Suponha que

A = UΛUT tal que (i) UTU = I e ‖U‖ = 1 e (ii) Λ e uma matrizdiagonal. Entao obrigatoriamente κ(A) = κ(Λ).

iv. Seja A ∈ Rn×n uma matriz tal que A = AT e A−1 existe. Entao, com

certeza Ak = A.A . . . A (A multiplicada k vezes) e tal que κ(Ak) =κ(A)k.

v. Seja Ax = b um sistema de equacoes lineares onde A ∈ Rn×n tal

que rank(A) = n. Considere o metodo de Jacobi dado por x(k+1) =D−1[(D −A)x(k) + b], onde D e a matriz diagonal de A. Se ‖A‖∞ < 1entao o metodo de Jacobi e convergente para a solucao.

vi. Seja Ax = b um sistema de equacoes lineares onde A ∈ Rm×n, onde

m > n, mas tal que b ∈ range(A). Entao o metodo de mınimosquadrados (min ‖Ax − b‖) pode ser aplicado e encontra uma solucaox∗ de erro mınimo, ou seja, ‖Ax∗ − b‖ = 0.

vii. Seja Ax = b um sistema de equacoes lineares onde A ∈ Rm×n e tal que

n > m (ha mais variaveis do que equacoes). Entao o sistema tem umaou mais solucoes.

viii. Seja Ax = b um sistema de equacoes lineares onde A ∈ Rm×n. Se

rank(AT ) = n e b ∈ range(A) entao o sistema tem solucao unica.

ix. Para x ∈ Rn, seja ‖x‖∗ = min|xj| : j = 1, . . . , n. Entao ‖x‖∗ e uma

norma vetorial.

Exercıcio 4.15 Seja A ∈ Rn×n uma matriz quadrada. Dados os autovalores

λ1, λ2, . . . , λn de A, formule o problema de encontrar os autovetores como umproblema (ou problemas) que pode ser resolvido numericamente. Como voceresolveria este problema numerico?

Exercıcio 4.16 Seja Ax = b um sistema de equacoes lineares, onde A ∈R

n×n, b ∈ Rn×1 e x ∈ R

n×1. Seja a matriz D = diag(a11, a22, . . . , ann) (matrizcom a diagonal de A) inversıvel, o que nos leva a obter o processo iterativode Jacobi (classico)

x(k+1) = D−1[b− (A−D)x(k)]. (4.56)

4. Resolucao de Sistemas de Equacoes Lineares 163

O processo iterativo de Jacobi obtido com o preparador unitario e dado por

x(k+1) = b+ (I − A)x(k). (4.57)

Professor Kuhn afirma que se o processo iterativo de Jacobi (4.56) converge,a partir de um ponto inicial x(0) ∈ R

n, entao o processo iterativo de Jacobi(4.57) tambem converge a partir de x(0).

164 4. Resolucao de Sistemas de Equacoes Lineares

Capıtulo 5

Sistemas de EquacoesNao-Lineares, Otimizacao eMınimos Quadrados

Neste capıtulo estudaremos o problema de encontrar uma solucao para umsistemas de equacoes nao-lineares, para o qual vamos estender o algoritmode Newton apresentado em capıtulo anterior. Aplicacoes deste problematambem serao discutidas. Nocoes basicas de otimizacao, incluindo conceitosde otimalidade e um algoritmo inspirado no metodo de Newton com retro-cesso sera proposto para resolver problemas de minimizacao. Trataremosainda de problemas de interpolacao, mınimos quadrados e minimizacao denorma. Este dois ultimos problemas estao relacionados com os problemasde encontrar uma solucao de um sistema de equacoes lineares sem solucao(mınimos quadrados) e com infinitas solucoes (minimizacao de norma).

5.1 Sistemas de Equacoes Nao-Lineares

O problema de encontrar uma solucao para um sistema de n equacoesnao-lineares em n variaveis e expresso por:

f1(x1, x2, . . . , xn) = 0f2(x1, x2, . . . , xn) = 0

...fn(x1, x2, . . . , xn) = 0

⇒ f(x) = 0 (5.1)

onde x ∈ Rn e f : Rn → R

n.

166 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

5.1.1 Matriz de Derivadas

Para f : Rn → R

n diferenciavel, podemos calcular o gradiente de f,denotado por ∇f :

∇f(x) =

∂f1∂x1

∂f1∂x2

. . . ∂f1∂xn

∂f2∂x1

∂f2∂x2

. . . ∂f2∂xn

......

......

∂fn∂x1

∂fn∂x2

. . . ∂fn∂xn

(5.2)

O gradiente ∇f e conhecido tambem por Jacobiano.

Exemplo: Calculo do Jacobiano

Considere a funcao f : R2 → R2 definida por:

f(x) =

[

e2x1+x2 − x1

x21 − x2

]

O gradiente de f obtido segundo a expressao (5.2) e:

∇f(x) =[

2e2x1+x2 − 1 e2x1+x2

2x1 −1

]

5.1.2 Linearizacao

Podemos desenvolver a expansao de Taylor para uma funcao f : Rn → Rn,

da mesma forma que desenvolvemos para uma funcao f : R→ R. Assumindoque f = [f1, . . . , fn]

T , vamos primeiramente obter a expansao de Taylor deprimeira ordem para fi em torno de um ponto x:

fi(x) ≈ fi(x) +∂fi∂x1

(x)(x1 − x1) +∂fi∂x2

(x)(x2 − x2) + . . .+∂fi∂xn

(x)(xn − xn)

= fi(x) +n∑

j=1

∂fi∂xj

(x)(xj − xj)

= fi(x) +∇fi(x)T (x− x)

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 167

Portanto

f1(x)f2(x)

...fn(x)

f1(x)f2(x)...

fn(x)

+

∂f1∂x1

(x)(x1 − x1) +∂f1∂x2

(x)(x2 − x2) + . . .+ ∂f1∂xn

(x)(xn − xn)∂f2∂x1

(x)(x1 − x1) +∂f2∂x2

(x)(x2 − x2) + . . .+ ∂f2∂xn

(x)(xn − xn)...

∂fn∂x1

(x)(x1 − x1) +∂fn∂x2

(x)(x2 − x2) + . . .+ ∂fn∂xn

(x)(xn − xn)

f1(x)f2(x)...

fn(x)

+

∂f1∂x1

(x) ∂f1∂x2

(x) . . . ∂f1∂xn

(x)∂f2∂x1

(x) ∂f2∂x2

(x) . . . ∂f2∂xn

(x)...

∂fn∂x1

(x) ∂fn∂x2

(x) . . . ∂fn∂xn

(x)

(x1 − x1)(x2 − x2)

...(xn − xn)

De forma mais compacta,

f(x) = f(x) +∇f(x)(x− x)

= f(x) +∇f(x)∆x

Exemplo: Expansao de Taylor

Linearizando a funcao do exemplo anterior em torno do ponto x = [0 0]obtemos:

f(x) =

[

10

]

+

[

1 10 −1

]

.

[

x1

x2

]

5.1.3 Aplicacao: Circuito Estatico Nao-Linear

Aqui vamos considerar o problema de analisar o comportamento em re-gime permanente do circuito nao-linear ilustrado na Figura 5.1. Dois resis-tores nao-lineares caracterizados pelas equacoes:

i1 = g(v1)

i2 = g(v2)

onde g(v) e uma funcao nao-linear da tensao atraves do resistor.

168 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

RR

V1 V2

I1 I2

E

+++

−−−

Figura 5.1: Circuito eletrico com componentes nao-lineares

Desenvolvendo as equacoes associadas ao circuito obtemos:

E = R(i1 + i2) + v1E = R(i1 + i2) +Ri2 + v2

E = Rg(v1) +Rg(v2) + v1E = Rg(v1) +Rg(v2) +Rg(v2) + v2

E−v1R

= g(v1) + g(v2)E−v2R

= g(v1) + 2g(v2)⇒

g(v1) + g(v2) +v1−ER

= 0g(v1) + 2g(v2) +

v2−ER

= 0

Portanto, os valores de tensao atraves dos resistores podem ser obtidos re-solvendo o sistema de equacoes nao-lineares acima.

Outra maneira de se obter um sistema de equacoes equivalente segue

vR1 + v1 = E ⇒ vR1 = E − v1iR1 =

vR1

R= E−v1

R

vR2 + v2 = v1 ⇒ vR2 = v1 − v2iR2 =

vR2

R= v1−v2

R

iR2 = i2 ⇒ i2 = v1−v2R

⇒ g(v2) = v1−v2R

⇒ g(v2)− v1−v2R

= 0

iR1 = i1 + i2E−v1R

= g(v1) +v1−v2

R⇒ g(v1) +

v1−ER

+ v1−v2R

= 0

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 169

Portanto, o problema se reduz a encontrar uma raiz para o sistema deequacoes abaixo:

g(v1) +v1−ER

+ v1−v2R

= 0g(v2)− v1−v2

R= 0

Podemos entao colocar o sistema (5.3) na forma:

f1(v1, v2) = g(v1) +v1−ER

+ v1−v2R

= 0f2(v1, v2) = g(v2)− v1−v2

R= 0

ou, de forma mais compacta,

f(v) =

[

f1(v1, v2)f2(v1, v2)

]

= 0

Vamos agora calcular o Jacobiano de f em torno de um ponto v = (v1, v2):

∇f(v1, v2) =[

g′(v1) + 2/R −1/R−1/R g′(v2) + 1/R

]

Portanto, a expansao de Taylor de primeira ordem para f em torno do ponto(v1, v2) tem a forma:

f(v1, v2) ≈ f(v1, v2) +∇f(v1, v2).[

v1 − v1v2 − v2

]

Com base na expansao de Taylor acima, podemos desenvolver o metodo deNewton para o problema de analise do circuito nao-linear. Desejamos que:

f(v1, v2)+∇f(v1, v2).[

v1 − v1v2 − v2

]

= 0 ⇒[

v1v2

]

=

[

v1v2

]

−∇f−1(v1, v2).f(v1, v2)

assumindo que ∇f(v1, v2) e inversıvel.

5.1.4 Algoritmo de Newton

Newton(f, x(0), ǫ)

1: k ← 02: while ‖f(x(k))‖ > ǫ do3: x(k+1) ← x(k) −∇f−1(x(k)).f(x(k))4: k ← k + 15: end while6: Return x(k)

170 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Observe que cada iteracao requer uma avaliacao de f(x) (i.e., n funcoes es-calares) e de ∇f(x) (i.e., n2 derivadas parciais). Note tambem que o metodode Newton assume que ∇f(xk) e nao singular pois, caso contrario, o metodonao esta definido. Na pratica, calcula-se xk − ∇f−1(xk).f(xk) atraves dasolucao de um sistema de equacoes lineares:

a) Calcule Jk = ∇f(xk) e gk = f(xk)

b) Resolva o sistema:

xk+1 = xk − J−1k gk ⇒ Jk(x

k+1 − xk) = −gk⇒ Jk∆xk = −gk, ∆xk = xk+1 − xk

c) Obtenha o proximo iterando:

xk+1 = xk +∆xk

Exemplo 1

Considere o problema de encontrar uma solucao para o sistema deequacoes nao-lineares abaixo:

f1(x1, x2) = log(x21 + 2x2

2 + 1)− 0.5 = 0f2(x1, x2) = x2 − x2

1 + 0.2 = 0

O sistema possui duas equacoes e duas variaveis, conforme ilustracao naFigura 5.2. As solucoes para o sistema sao (0.70, 0.29) e (−0.70, 0.29).

Exemplo 2: Rastreamento com Radares

Aqui vamos considerar o cenario onde dois radares estao localizados emposicoes conhecidas, (p1, q1) e (p2, q2), os quais podem determinar a distanciade suas posicoes ate uma aeronave que esta se deslocando dentro do espacoaereo. Denotando por ρ1 e ρ2 as distancias destes radares ate a aeronave,o problema e determinar a localizacao (x, y) da aeronave. O problema eilustrado na Figura 5.3. Podemos colocar o problema na forma de duasequacoes e duas variaveis:

f1(x, y) =√

(p1 − x)2 + (q1 − y)2 − ρ1 = 0

f2(x, y) =√

(p2 − x)2 + (q2 − y)2 − ρ2 = 0

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 171

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

0

0

x1

x2

f2(x)=0 f1(x)=0

Figura 5.2: Ilustracao das curvas de nıvel de duas funcoes nao lineares

Assumindo que (x, y) 6= (p1, q1) e (x, y) 6= (p2, q2), o Jacobiano de f = (f1, f2)pode ser obtido como segue:

∇f(x, y) =[

∂f1/∂x ∂f1/∂y∂f2/∂x ∂f2/∂y

]

=

x−p1√(p1−x)2+(q1−y)2

y−q1√(p1−x)2+(q1−y)2

x−p2√(p2−x)2+(q2−y)2

y−q2√(p2−x)2+(q2−y)2

Fazendo

z =

[

xy

]

e f(z) =

[

f1(x, y)f2(x, y)

]

O metodo de Newton assume a forma:

zk+1 = zk −∇f−1(zk).f(zk)

5.1.5 Convergencia do Metodo de Newton

Teorema 5.1 Se ∇f(x) e nao-singular e x0 e suficientemente proximo deuma solucao x∗, f(x∗) = 0, entao existe uma constante ǫ > 0 tal que:

‖xk+1 − x∗‖ 6 ǫ‖xk − x∗‖2

Em outras palavras, se as condicoes do teorema sao satisfeitas, o algoritmode Newton converge com taxa quadratica. Contudo, na pratica, nao sabemoso valor de ǫ e nao sabemos quao proximo de x∗ o iterando inicial x0 deveestar.

172 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Radar 1 Radar 2

ρ1 ρ2

(x, y)

(p1, q1) (p2, q2)

Figura 5.3: Ilustracao de dois radares que detectam a distancia ate umaaeronave

5.2 Minimizacao Irrestrita

Um problema geral com aplicacoes diversas e o problema de encontrar ummınimo de uma funcao qualquer sem restricoes. Em notacao matematica, oproblema toma a forma:

Minimize f(x)x ∈ R

n

onde f : Rn → R e uma funcao e x ∈ Rn e um vetor de variaveis de decisao.

Definicao 5.1 (Mınimo Global) x∗ e um otimo global se f(x∗) 6 f(x) paratodo x ∈ R

n.

Definicao 5.2 (Mınimo Local) x∗ e otimo local se existe ǫ > 0, tal quef(x∗) 6 f(x) para todo x ∈ R

n tal que ‖x− x∗‖ 6 ǫ.

A Figura 5.4 ilustra os conceitos de mınimos locais e globais. Os pontosx1, x2, e x4 sao mınimos locais enquanto que o ponto x3 e um mınimo global.

Definicao 5.3 (Valor Otimo) O valor otimo (ou mınimo) de f e o maiorα ∈ R tal que f(x) > α para todo x ∈ R

n, neste caso α = min f(x).

• Se x∗ e uma solucao otima, entao f(x∗) = min f(x).

• Se f(x) nao tem limite inferior, entao dizemos que min f(x) = −∞.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 173

x1 x2 x3 x4 x

y

f(x)

Figura 5.4: Ilustracao de mınimos locais e globais de uma funcao f(x)

5.2.1 Exemplos

Os exemplos de funcoes abaixo ilustram os conceitos de valor otimo esolucao otima.

1) f(x) = (x− 1)2 tem valor otimo obtido com x∗ = 1.

2) f(x) = 1x2+1

tem valor otimo 0, mas nao e atingido por nenhuma solucaofinita.

3) f(x) = x nao tem valor otimo, min f(x) = −∞.

5.2.2 Condicoes de Otimalidade para Problemas comuma Variavel

Seja f(x) uma funcao de uma variavel, f : R→ R, para a qual desejamosencontrar um mınimo. Vamos assumir que f e duas vezes diferenciavel.

Proposicao 5.1 (Condicao necessaria) Se x∗ e um otimo local, entaof ′(x∗) = 0 e f ′′(x∗) > 0.

Prova: Primeiro, vamos mostrar que f ′(x∗) = 0. Suponha que existe mınimolocal x∗ tal que f ′(x∗) 6= 0. Pela expansao de Taylor de primeira ordem, temosque:

f(x) = f(x∗) + f ′(x∗)(x− x∗)

174 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

para |x− x∗| suficientemente pequeno. Defina x = −f ′(x∗)δ + x∗ com δ > 0suficientemente pequeno para que a expansao seja valida. Entao:

f(x) = f(x∗) + f ′(x∗)(−f ′(x∗)δ + x∗ − x∗)

= f(x∗)− f ′(x∗)2δ

< f(x∗) [pois f ′(x∗) 6= 0 e δ > 0]

Isto nos leva a concluir que x∗ nao e mınimo local, contradizendo a hipotese.Concluımos que se x∗ e mınimo local entao obrigatoriamente f ′(x∗) = 0.

Segundo, vamos mostrar que f ′′(x∗) > 0. Suponha que x∗ e mınimo locale que f ′′(x∗) < 0. Pela expansao de Taylor de segunda orgem, temos que:

f(x) = f(x∗) + f ′(x∗)(x− x∗) +1

2f ′′(x∗)(x− x∗)2

= f(x∗) +1

2f ′′(x∗)(x− x∗)2 [pois f ′(x∗) = 0]

para |x − x∗| suficientemente pequeno. Defina x = δ + x∗ com |δ| > 0suficientemente pequeno para garantir a validade da expansao de Taylor.Entao:

f(x) = f(x∗) +1

2f ′′(x∗)(x− x∗)2

= f(x∗) +1

2f ′′(x∗)(δ + x∗ − x∗)2

= f(x∗) +1

2f ′′(x∗)δ2

< f(x∗) [pois f ′′(x∗) < 0 e δ2 > 0]

implicando em existir x na vizinhanca de x∗ com objetivo estritamente menor.Mas isto significa que x∗ nao pode ser um mınimo local, contradizendo ahipotese. Portanto, se x∗ e um mınimo local entao obrigatoriamente f ′′(x∗) >0. .

Proposicao 5.2 (Condicao suficiente) Se x∗ satisfaz f ′(x∗) = 0 e f ′′(x∗) >0, entao x∗ e um otimo local.

Prova: Seja x∗ um ponto que satisfaz as condicoes f ′(x∗) = 0 e f ′′(x∗) >0. Seja x = δ + x∗ um ponto na vizinhanca de x∗ com δ 6= 0. Com |δ|

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 175

suficientemente pequeno, pela expansao de Taylor de segunda ordem, vale:

f(x) = f(x∗) + f ′(x∗)(x− x∗) +1

2f ′′(x∗)(x− x∗)2

= f(x∗) +1

2f ′′(x∗)(δ + x∗ − x∗)2

= f(x∗) +1

2f ′′(x∗)δ2

> f(x∗) [pois f ′′(x∗) > 0 e δ2 > 0]

Logo, existe uma vizinhanca N(x∗) em torno de x∗ tal que f(x∗) < f(x) paratodo x ∈ N(x∗)\x∗, satisfazendo as condicoes de otimalidade local.

Definicao 5.4 (Funcao convexa) Uma funcao f : R→ R e convexa se paratodo x, y ∈ R e α ∈ [0, 1] valer:

f(αx+ (1− α)y) 6 αf(x) + (1− α)f(y)

Proposicao 5.3 Se f e convexa, entao todo o mınimo local e tambem ummınimo global.

Prova: Seja x∗ um mınimo local e suponha, por absurdo, que x∗ nao sejaum mınimo global. Seja x um mınimo global e considere o segmento de retaque une os pontos x∗ e x, ou seja,

x = αx+ (1− α)x∗ onde α ∈ (0, 1].

Por convexidade de f , temos que:

f(x) 6 αf(x) + (1− α)f(x∗)

< αf(x∗) + (1− α)f(x∗) [Pois f(x) < f(x∗)]

= f(x∗)

Qualquer vizinhanca N de x∗ contem um pedaco do segmento de reta acimadefinido e, portanto, sempre existira um x em N que satisfaca a desigualdadef(x) < f(x∗). Conclui-se que x∗ nao e um otimo local, contradizendo ahipotese.

Proposicao 5.4 Uma funcao diferenciavel f e convexa se e somente sef(z) > f(x) + f ′(x)(z − x) para todo x, z ∈ R.

176 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Prova: (Necessidade) Suponha que f e convexa. Uma vez que f e dife-renciavel, vale:

limα→0

f(x+ α(z − x))− f(x)

α= f ′(x)(z − x) (5.3)

Sendo f convexa, temos que:

f(x+ α(z − x)) 6 αf(z) + (1− α)f(x), ∀α ∈ [0, 1]

⇒ f(x+ α(z − x))− f(x) 6 α(f(z)− f(x)), ∀α ∈ [0, 1]

⇒ f(x+ α(z − x))− f(x)

α6 f(z)− f(x), ∀α ∈ [0, 1] (5.4)

Fazendo α→ 0 em (5.4) e usando (5.3), deduzimos que:

f(z)− f(x) > limα→0

f(x+ α(z − x))− f(x)

α= f ′(x)(z − x)

⇒ f(z) > f(x) + f ′(x)(z − x)

(Suficiencia) Suponha que f(z) > f(x)+ f ′(x)(z−x) para todo x, z ∈ R.Seja z = αx+(1−α)y para x, y ∈ R e α ∈ [0, 1]. A partir desta desigualdade,deduzimos:

f(x) > f(z) + f ′(z)(x− z)

f(y) > f(z) + f ′(z)(y − z)

Multiplicando a primeira por α, multiplicando a segunda por (1 − α) e so-mando os resultados, obtemos:

αf(x) + (1− α)f(y) > f(z) + (α(x− z) + (1− α)(y − z))f ′(z)

= f(z) + (αx+ (1− α)y − αz − (1− α)z)f ′(z)

= f(z) + (z − z)f ′(z)

= f(z)

= f(αx+ (1− α)y)

demonstrando que f e convexa.

A Proposicao 5.4 e ilustrada na Fig. 5.5. Para qualquer ponto x, noteque a reta y(z) = f(x) + f ′(x)(z − x) define um limite inferior para f(z), ouseja, y(z) 6 f(z).

Proposicao 5.5 Seja f uma funcao duas vezes continuamente diferenciavel.Se f ′′(x) > 0 para todo x, entao f e convexa.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 177

x z

f(x)

f(z)

f(x) + f ′(x)(z − x)

Figura 5.5: Ilustracao de funcao convexa: f(z) > f(x) + f ′(x)(z − x) paratodo x, z ∈ R.

Prova: A partir da expansao de Taylor de segunda ordem, para quaisquerx e z tem-se:

f(z) = f(x) + f ′(x)(z − x) +1

2f ′′(x+ α(z − x))(z − x)2

para alguma α ∈ [0, 1]. Uma vez que f ′′(y) > 0 para todo y, deduzimos que:

f(z) > f(x) + f ′(x)(z − x)

Logo, segue da Proposicao 5.4 que f e convexa.

Exemplos de Funcoes Convexas

1) f(x) = ax2 + bx + c com a > 0, pois f ′(x) = 2ax + b e f ′′(x) = 2a.Portanto, f ′′(x) > 0 para todo o lugar. x∗ = −b

2ae um otimo local unico.

2) Para f(x) = log(ex + e−x) temos que

f ′(x) = ex−e−x

ex+e−x

f ′′(x) = 4(ex+e−x)2

Portanto, f ′′(x) > 0 para todo x e x∗ = 0 e um otimo global.

3) Para f(x) = x4, temos

f ′(x) = 4x3

f ′′(x) = 12x2

Logo f ′′(x) > 0 em todo o lugar e x∗ = 0 e um otimo global unico.

178 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

4) Para f(x) = x3, podemos verificar que f ′′(x) = 6x. Embora f ′(0) = 0e f ′′(0) = 0, x = 0 nao e um otimo local.

5.3 Minimizacao de Funcoes de uma

Variavel: Metodo de Newton

Considere o problema de minimizacao irrestrita em uma variavel

Minimize f(x)x ∈ R

onde f : R → R. Podemos realizar a busca por um ponto x que satisfaz ascondicoes de otimalidade de primeira ordem aplicando o metodo de Newtonna equacao f ′(x) = 0. Neste caso, o algoritmo de Newton consistira dospassos dados abaixo.

Newton-Minimize(f, x(0), ǫ)

1: k ← 02: while |f ′(x(k))| > ǫ do

3: x(k+1) ← x(k) − f ′(x(k))

f ′′(x(k))

4: k ← k + 15: end while6: return x(k)

Alguns problemas podem surgir na aplicacao da estrategia acima:

• o metodo converge somente se iniciarmos com um ponto x0 proximo dasolucao x∗, onde f ′(x∗) = 0; e

• pode convergir para um ponto de maximo ou de inflexao.

5.3.1 Interpretacao de uma Iteracao

Considere a linearizacao f ′(x′) em torno do ponto x, conforme desenvol-vimento abaixo:

f ′(x′) ≈ flin(x′) = f ′(x) + f ′′(x)(x′ − x)

Fazendo flin(x′) = 0 teremos

flin(x′) = 0 ⇔ f ′(x) + f ′′(x)(x′ − x) = 0

⇔ x′ = x− f ′(x)

f ′′(x)

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 179

x

x

f ′(x)

flin

Figura 5.6: Visao geometrica do metodo de Newton aplicado ao problemaf ′(x) = 0

5.3.2 Uma Segunda Interpretacao

Tomemos a aproximacao quadratica f(x′) de f(x):

f(x′) ≈ h(x′) = f(x) + f ′(x)(x′ − x) +1

2f ′′(x)(x′ − x)2

Faca x+ o mınimo de h(x′), ou seja,

h′(x′) = 0 ⇒ f ′(x) + f ′′(x)(x′ − x) = 0

⇒ x′ = x− f ′(x)

f ′′(x)

Exemplo

Tomando como exemplo a funcao f(x) = log (ex + e−x), calculamos asderivadas de primeira e segunda ordem:

f ′(x) =ex − e−x

ex + e−x

f ′′(x) =4

(ex + e−x)2

As funcoes f(x) e f ′(x) podem ser observadas na Figura 5.7.

180 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

−4 −2 0 2 40.5

1

1.5

2

2.5

3

3.5

−4 −2 0 2 4−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Figura 5.7: Ilustracao grafica das funcoes f(x) e f ′(x)

5.4 Metodo de Newton com Retrocesso

(“Backtracking”) para Funcoes Convexas

Convex-Backtracking-Minimize(f, x(0), ǫ, α)

1: k ← 02: while |f ′(x(k))| > ǫ do

3: vk ← − f ′(xk)f ′′(xk)

4: while f(xk + vk) > f(xk) + αf ′(xk)vk do5: vk ← vk

2

6: end while7: xk+1 ← xk + vk8: k ← k + 19: end while10: return x(k)

O parametro α ∈ (0, 0.5) e ǫ > 0. O laco mais interno e dito “backtrac-king”: decresca o passo vk ate que f(xk + vk) 6 f(xk) + αf ′(xk)vk

A Figura 5.8 ilustra o funcionamento do metodo. O passo vk que induzo proximo iterando xk+1 = xk + vk so e aceito se o decrescimo induzido nafuncao e maior do que o previsto pela reta f(xk) + αf ′(xk)vk. Note que

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 181

para vk suficientemente pequeno, a condicao imposta e satisfeita. Portanto,o metodo comeca com o passo de Newton vk = −f ′(xk)/f

′′(xk) e reduz opasso ate que vk 6 vmax.

f(x)

f(x+ v)

f(x) + αf ′(x)v

f(x) + f ′(x)v

vvmax

Figura 5.8: Interpretacao geometrica do metodo de Newton para mini-mizacao de funcoes convexas

5.4.1 Convergencia do Metodo de Newton com Retro-cesso

Teorema 5.2 Se f ′′(x) > 0 em todo o lugar e f tem um ponto otimo globalx∗, entao o metodo de Newton com backtracking converge globalmente parax∗ com taxa de convergencia quadratica.

5.5 Algoritmo de Newton para Minimizacao

de Funcoes Nao Convexas

Seja x+ = x − f ′(x)f ′′(x)

o minimizador da aproximacao de segunda ordem

f2(y) = f(x) + f ′(x)(y − x) + 12f ′′(x)(y − x)2 da funcao f(x) em torno do

ponto x. Para o exemplo ilustrado na Figura 5.9, a solucao x+ e pior do quea solucao corrente x. Na verdade, a aplicacao pura do metodo vair convergirpara um ponto de maximo. Uma maneira de contornar este problema consisteem seguir a logica abaixo:

• Se f ′′(x) 6 0, faca x+ = x − f ′(x) (tome o passo dado pelo metodo dedescenso)

182 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

• Se f ′′(x) > 0, faca x+ = x− f ′(x)f ′′(x)

(aceita o passo de Newton)

A estrategia esbocada acima pode ser sintetizada no algoritmo abaixo.

Nonconvex-Backtracking-Minimize(f, x(0), ǫ, α)

1: k ← 02: while |f ′(x(k))| > ǫ do3: if f ′′(xk) > 0 then

4: vk ← − f ′(xk)f ′′(xk)

5: else6: vk ← −f ′(xk)7: end if8: while f(xk + vk) > f(xk) + αf ′(xk)vk do9: vk ← vk

2

10: end while11: xk+1 ← xk + vk12: k ← k + 113: end while14: return x(k)

Observacoes:

a) os iterandos satisfazem f(xk+1) < f(xk)

b) o algoritmo converge para um mınimo local

c) proximo do mınimo local x∗, se f ′′(x∗) > 0, o algoritmo toma passosde Newton que garante convergencia quadratica local.

5.6 Mınimos Quadrados e Ajuste de Curvas

Consideremos inicialmente um sistema com mais equacoes do quevariaveis:

a11x1 + a12x2 + . . . + a1nxn = b1a21x1 + a22x2 + . . . + a2nxn = b2a31x1 + a32x2 + . . . + a3nxn = b3

...am1x1 + am2x2 + . . . + amnxn = bm

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 183

x+x f2(y)

f(x)

Figura 5.9: Problemas do metodo de Newton aplicado a minimizacao defuncoes nao convexas.

o qual pode ser colocado na forma mais compacta como:

Ax = b

onde A ∈ Rm×n, x ∈ R

n×1, e b ∈ Rm×1.

Vamos assumir que nao existe solucao x tal que Ax = b.

5.6.1 Solucao por Mınimos Quadrados

O problema e encontrar uma solucao aproximada deAx = b, formalmente,queremos minimizar o erro que pode ser colocado em notacao matematicacomo segue:

P : Minimize ‖Ax− b‖x ∈ R

n

onde r = Ax− b e chamado de resıduo. A solucao x para P com menor erroresidual ‖r‖ = ‖Ax − b‖ e chamada de solucao de mınimos quadrados. Oproblema P pode ser colocado em uma forma equivalente P ′:

P ′ : Minimize ‖Ax− b‖2 = (Ax− b)T (Ax− b) =m∑

i=1

(aTi x− bi)2

x ∈ Rn

onde aTi e a i-esima linha de A.

184 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Exemplo

Considere o problema de encontrar uma solucao para um sistema de tresequacoes a duas variaveis:

2x1 = 1−x1 + x2 = 0

2x2 = −1(5.5)

A solucao por mınimos quadrados para (5.5) pode ser colocada na formaabaixo:

Minimize f = (2x1 − 1)2 + (x2 − x1)2 + (2x2 + 1)2

x1, x2

Para encontrar a solucao otima, as derivadas parciais de f devem ser nulas,ou seja, o gradiente ∇f de f deve ser nulo. Portanto:

∇f(x) = 0 ⇒ ∂f

∂x1

= 10x1 − 2x2 − 4 = 0

∂f

∂x2

= −2x1 + 10x2 + 4 = 0

Logo, a solucao e:

x1 =1

3e x2 = −

1

3

5.6.2 Ajuste de Curvas

O problema geral de ajuste de curvas pode ser colocado como segue.Ajuste a curva dada pela funcao:

g(t) = x1g1(t) + x2g2(t) + . . .+ xngn(t)

aos dados (t1, y1), . . . , (tm, ym), ou seja, gostarıamos que:

g(t1) = y1

g(t2) = y2... =

...

g(tm) = ym

onde gi(t) : R→ R, i = 1, . . . , n, sao funcoes quaisquer mas conhecidas; taisfuncoes sao ditas bases. Note que:

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 185

a) as variaveis do problema sao x1, x2, . . . , xn; e

b) tipicamente m≫ n.

Algumas aplicacoes de ajuste de curvas sao:

a) suavizacao de dados;

b) desenvolvimento de modelos para dados amostrais; e

c) extrapolacao.

5.6.3 Ajuste de Curvas: Um Problema de MınimosQuadrados

Podemos colocar o problema de ajuste de curvas como um problema demınimos quadrados, o qual assume a forma:

Minimize f =m∑

i=1

(g(ti)− yi)2

=m∑

i=1

[x1g1(ti) + x2g2(ti) + . . .+ xngn(ti)− yi]2

que, por sua vez, pode ser expresso de forma matricial:

Minimize ‖Ax− b‖2x ∈ R

n

onde

A =

g1(t1) g2(t1) . . . gn(t1)g1(t2) g2(t2) . . . gn(t2)

......

......

g1(tm) g2(tm) . . . gn(tm)

e b =

y1y2...ym

5.6.4 Exemplo: Ajuste de Polinomios

O problema consiste em ajustar o polinomio g(t) = x1+x2t+x3t2+ . . .+

xntn−1 aos dados (t1, y1), . . . , (tm, ym), onde m ≫ n, sendo que desejamos

queg(t1) = y1g(t2) = y2... =

...g(tm) = ym

186 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Em forma matricial, desejamos resolver o problema:

Minimize ‖Ax− b‖2x ∈ R

n

onde

A =

1 t1 t21 . . . tn−11

1 t2 t22 . . . tn−12

1 t3 t23 . . . tn−13

......

......

...1 tm t2m . . . tn−1

m

e b =

y1y2y3...ym

Se m = n e o sistema tiver solucao unica, pode-se utilizar um metodo desolucao de equacoes lineares.

5.6.5 Exemplo: Ajuste de Curva

Aqui desejamos encontrar um polinomio que melhor aproxima a funcaof(t) = 1

1+25t2no intervalo [−1, 1]. Nao sabemos de antemao quantos pontos

deverao ser utilizados para realizar a aproximacao, ou seja, nao sabemos ovalor de m. Alem disso, nao sabemos qual grau deve ser adotado para opolinomio, portanto vamos ter que realizar alguns experimentos numericose tracar graficos que nos ajudem a identificar os valores mais adequadospara m (numero de pontos amostrais) e n (sendo n− 1 o grau do polinomiointerpolador).

A Figura 5.10 ilustra a aproximacao de f(t) obtida ao ajustarmos p(t) =x1 + x2t+ x3t

2 + . . .+ xntn−1 a um conjunto de m = 5 pontos sendo o grau

do polinomio n− 1 = 4 (n = 5).A Figura 5.11 ilustra a aproximacao de f(t) com um polinomio de grau

n− 1 = 14 (n = 15) ao conjunto de m = 17 pontos.A Figura 5.12 ilustra a aproximacao de f(t) com um polinomio de grau

n− 1 = 4 (n = 5) a um conjunto de m = 65 pontos.Por fim, a Figura 5.13 mostra graficamente a aproximacao de f(t) obtida

com um polinomio p(t) de grau n−1 = 14 (n = 15) a um conjunto de m = 65pontos.

5.6.6 Identificacao de Sistemas

O problema de identificacao de sistema trata da busca de modelos de sis-temas que nao conhecemos seus elementos e conexoes. Temos apenas valoresde entrada e seus respectivos valores de saıda. Para o sistema ilustrado naFigura 5.14, por exemplo, podemos realizar um conjunto de experimentos

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 187

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

1.2

x

y

f(t)

g(t)

Figura 5.10: n = 5 e m = 5

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

x

y

f(t)

g(t)

Figura 5.11: n = 15 e m = 17

188 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

x

y

f(t)

g(t)

Figura 5.12: n = 5 e m = 65

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

f(t)

g(t)

Figura 5.13: n = 15 e m = 65

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 189

que consistem em injetar valores u(t), t = 0, . . . , N , e observar as respectivassaıdas temporais y(t), t = 0, . . . , N .

u(t) y(t)SISTEMA

Figura 5.14: Exemplo de sistema caixa-preta

Considere o exemplo de entradas e saıdas de um sistema qualquer con-forme Figura 5.15. Um modelo simples e amplamente utilizado para mode-lagem de sistema e dado por:

y(t) = h0u(t) + h1u(t− 1) + h2u(t− 2) + · · ·+ hnu(t− n) (5.6)

Este modelo e conhecido por moving average com n atrasos. Assim y(t) eo valor de predicao de y(t) produzido pelo modelo para a entrada corrente,u(t), e as n entradas anteriores, u(t− 1), u(t− 2), . . . , u(t− n). Portanto, apredicao e uma combinacao linear da entrada corrente e das n entradas an-teriores, sendo h0, h1, . . . , hn os parametros que definem a combinacao lineardas entradas.

0 10 20 30 40 50 60 70 80−3

−2

−1

0

1

2

3

0 10 20 30 40 50 60 70 80−3

−2

−1

0

1

2

3

t

t

u(t)

y(t)

Figura 5.15: Exemplo de entradas e saıdas de um sistema

190 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

5.6.7 Estimacao por Meio de Mınimos Quadrados

Aqui vamos considerar o problema de encontrar um modelo (i.e.,parametros h0, . . . , hn) tal que o erro de predicao seja minimizado:

Minimize E =

[

t=N∑

t=n

(y(t)− y(t))2]

12

h0, . . . , hn

(5.7)

onde: y(t) = h0u(t) + h1u(t− 1) + h2u(t− 2) + . . .+ hnu(t− n). Note que oerro E pode ser expresso na forma matricial, fazendo:

E =

[

t=N∑

t=n

(y(t)− y(t))2

]12

= ‖Ax− b‖

A =

u(n) u(n− 1) u(n− 2) . . . u(0)u(n+ 1) u(n) u(n− 1) . . . u(1)u(n+ 2) u(n+ 1) u(n) . . . u(2)

......

......

...u(N) u(N − 1) u(N − 2) . . . u(N − n)

x =

h0

h1

h2...hn

e b =

ynyn+1

yn+2...yN

Logo, o problema (5.7) pode ser colocado como um problema de mınimosquadrados:

Minimize ‖Ax− b‖2x ∈ R

n+1

5.6.8 Identificacao do Sistema Motor Taco-Gerador

O motor taco-gerador e um sensor de velocidade largamente utilizado naindustria. Ele consiste em um gerador de tensao ligado a um motor por umacorreia ou engrenagem como indica a Fig. 5.16. Conforme varia a velocidadeangular do motor varia a tensao gerada pelo taco-gerador. Em motoreseletricos, a velocidade angular do motor depende da tensao aplicada sobreele. Desta forma, pode-se estabelecer uma relacao causal entre a entrada de

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 191

tensao u aplicada ao motor e a tensao de saıda y mostrada pelo taco-gerador(funcao da velocidade angular ω do motor).

Figura 5.16: Motor taco-gerador.

A relacao entre a tensao de entrada u e a tensao de saıda y pode serobtida de duas formas diferentes:

Modelagem Fısico-Matematica: baseada nas leis da fısica e da ma-tematica que caracterizam o sistema. No caso do motor taco-gerador,aplicando as Leis de Newton, chegarıamos a seguinte equacao diferen-cial:

J · L d2y(t)

dt2+ (J ·R +B · L) dy(t)

dt+ (B ·R +Ka ·Kb) y(t) =

Ka

Kc

u(t)

onde:

• J e o momento de inercia do motor;

• Ka e a constante de proporcionalidade entre a corrente na arma-dura e o torque no motor;

• Kb e a constante de proporcionalidade entre a velocidade angulare a forca contra-eletromotriz do motor eletrico;

• Kc e a constante de proporcionalidade entre a velocidade angulardo gerador e a tensao y;

• B e o atrito do motor eletrico;

• L e a indutancia da armadura do motor eletrico;

• R e a resistencia da armadura do motor eletrico

192 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

A modelagem fısico-matematica de sistemas sera objeto de estudo noCapıtulo 7 que trata da sıntese e solucao numerica de equacoes dife-renciais.

Modelagem Experimental ou Identificacao de Sistemas: onde a par-tir da entrada e da saıda do sistema estima-se um modelo matematicosimilar ao modelo real. Na Fig. 5.17 sao dadas as curvas da entradau(t) e da saıda y(t) obtidas atraves de um ensaio em laboratorio.

0 50 100 150 200 250 300−20

−10

0

10

Ten

sao

de E

ntra

da: u

(t)

Tempo (t)

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

Ten

sao

de S

aida

: y(t

)

Tempo (t)

Figura 5.17: Motor taco-gerador.

O modelo de predicao y(t) esta ilustrado nas Figs. 5.18 e 5.19 para n =3 e n = 10, respectivamente. Como pode ser observado nestas figuras,o modelo de predicao nao e satisfatorio como indicam as normas dosvetores de erro, e = y(t)− y(t), que apresentam o valor ‖e‖ = 118.5214para o caso n = 3 e ‖e‖ = 107.4303 para o caso n = 10.

O modelo de predicao pode ser aprimorado utilizando-se a equacaoalternativa a seguir:

y(t) = h0u(t) + h1u(t− 1) + h2u(t− 2) + · · ·+ hnu(t− n)+ (5.8)

+ w1y(t− 1) + w2y(t− 2) + · · ·+ wny(t− n)

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 193

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

py(t

)

Tempo

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

Tempo

y(t)

− p

y(t)

Figura 5.18: Modelo de predicao y(t) obtido com a equacao (5.6) e n = 3. Ovetor de erros e = y(t)− y(t) tem norma ‖e‖ = 118.5214.

194 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

py(t

)

Tempo

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

Tempo

y(t)

− p

y(t)

Figura 5.19: Modelo de predicao y(t) obtido com a equacao (5.6) e n = 10.O vetor de erros e = y(t)− y(t) tem norma ‖e‖ = 107.4303.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 195

que leva em consideracao as saıdas passadas alem das entradas pas-sadas. Os resultados obtidos com a equacao de predicao alternativa(5.8) estao ilustrados nas Figs. 5.20 e 5.21. Podemos observar umaqualidade satisfatoria do modelo alternativo.

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

py(t

)

Tempo

0 50 100 150 200 250 300−0.1

0

0.1

0.2

y(t)

− p

y(t)

Tempo

Figura 5.20: Modelo de predicao y(t) obtido com a equacao (5.8) e n = 3. Ovetor de erros e = y(t)− y(t) tem norma ‖e‖ = 0.5495.

5.6.9 Resolucao de Problemas de Mınimos Quadrados

Nesta secao vamos desenvolver uma formula com a solucao explıcita doproblema de mınimos quadrados. Primeiramente, vamos lembrar que o pro-blema tem a forma:

Minimize ‖Ax− b‖2x ∈ R

n

Seja A = [a1, a2, . . . , an] onde aj ∈ Rm×1 e o vetor correspondente a j-esima

coluna de A. Entao a distancia ‖Ax− b‖ e a distancia do vetor b ao vetor

a1x1 + a2x2 + . . .+ anxn

196 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

0 50 100 150 200 250 300−6

−4

−2

0

2

4

6

py(t

)

Tempo

0 50 100 150 200 250 300−0.1

−0.05

0

0.05

0.1

y(t)

− p

y(t)

Tempo

Figura 5.21: Modelo de predicao y(t) obtido com a equacao (5.8) e n = 10.O vetor de erros e = y(t)− y(t) tem norma ‖e‖ = 0.4778.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 197

Logo o problema e encontrar uma combinacao das colunas de A que sejamais proxima de b. A combinacao Ax que minimiza o erro e precisamente aprojetacao de b no espaco gerado pelas colunas de A (range(A) = Ax : x ∈R

n). Abaixo ilustramos este aspecto geometrico do problema.

Exemplo

Considere o problema de mınimos quadrados onde:

A =

1 −11 20 0

e b =

142

Graficamente, as colunas de A, o vetor b e a solucao xLS do problema demınimos quadrados sao ilustrados na Figura 5.22.

x1

x2

x3

a1

a2

AxLSAxLS − b

b

Figura 5.22: Ilustracao geometrica do problema de mınimos quadrados

Solucao do Problema de Mınimos Quadrados

Para o problema de mınimos quadrados dado na Secao 5.6.9, serank(A) = n, entao a solucao e unica e dada por:

xLS = (ATA)−1AT b

Em outras palavras, se x 6= xLS entao ‖Ax − b‖2 > ‖AxLS − b‖2. Noteque assumimos que A ∈ R

m×n com m > n. Note que podemos encontrara solucao xLS resolvendo o sistema de equacoes lineares em n variaveis e nequacoes dado por:

ATAx = AT b

198 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Primeiro, vamos mostrar que ATA e nao-singular.

ATAx = 0 ⇒ xTATAx = 0

⇒ ‖Ax‖2 = 0

⇒ Ax = 0

⇒ x = 0 pois A tem posto completo

Portanto, a unica solucao para ATAx = 0 e x = 0 que implica que ATA naoe singular.

Segundo, vamos mostrar que se x 6= xLS tem-se ‖Ax−b‖2 > ‖AxLS−b‖2.‖Ax− b‖2 = ‖Ax− b+ AxLS − AxLS‖2

= ‖A(x− xLS) + (AxLS − b)‖2= ‖A(x− xLS)‖2 + ‖(AxLS − b)‖2

pois A(x− xLS) e (AxLS − b) sao ortogonais

> ‖AxLS − b‖2 ja que x 6= xLS

A ortogonalidade dos vetores acima pode ser verifica como segue:

(A(x− xLS))T (AxLS − b) = (x− xLS)

TAT (AxLS − b)

= (x− xLS)T (ATAxLS − AT b)

= (x− xLS)T (AT b− AT b)

= 0

Interpretacao Geometrica

A solucao otima para o problema de mınimos quadrados, xLS, e tal queAxLS e a projecao de b sobre o espaco gerado pelas colunas de A, como ilustraa Figura 5.23

‖AxLS − b‖ < ‖Ax− b‖b−AxLS

Ax

AxLS

b

0

b−Ax

Figura 5.23: Ilustracao geometrica do problema de mınimos quadrados

Note queATAxLS = AT b→ (Ax)T (b−AxLS) = 0. Portanto, (b−AxLS) ⊥Ax, para todo x ∈ R

n. Assim, ‖b− Ax‖2 = ‖b− AxLS‖2 + ‖A(x− xLS)‖

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 199

Interpretacao Alternativa

Defina f : R→ R como:

f(x) = ‖b− Ax‖2 =m∑

i=1

(bi − aTi x)2

onde:

A =

aT1aT2...aTm

sendo ai ∈ Rn×1 o vetor correspondente a i-esima linha de A, i = 1, . . . ,m.

Note que f e uma funcao diferenciavel em n variaveis. A solucao xLS e umminimizador de f , caracterizado por:

∇f(xLS) =

∂f(xLS)∂x1

∂f(xLS)∂x2...

∂f(xLS)∂xn

= 0

Quais sao as derivadas parciais de f(x) =∑m

i=1(aTi x − bi)

2? Pode serverificado que ∂f/∂xj e dado por:

∂f

∂xj

=m∑

i=1

2(aTi x− bi)aij

200 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Logo, o gradiente de f no ponto x e:

∇f(x) =

∂f(x)∂x1∂f(x)∂x2...

∂f(x)∂xn

=m∑

i=1

2(aTi x− bi)

ai1ai2...ain

=m∑

i=1

2(aTi x− bi)ai

=m∑

i=1

2(aiaTi x− aibi)

= 2(ATAx− AT b)

Conclusao,

∇f(x) = 0 ⇔ AATx = AT b

⇔ 2(ATAx− AT b) = 0

⇔ ATAx− AT b = 0

⇔ x = xLS

Resolucao Numerica do Problema de Mınimos Quadrados

Desejamos encontrar xLS que e a solucao do problema ATAx = AT b.Note que:

• ATA e simetrica;

• ATA e positiva semi-definida, ou seja, xATAx > 0 para todo x ∈ Rn; e

• ATA e positiva definida se A tem posto completo, ou seja, xTATAx =||Ax||2 > 0 para todo x 6= 0.

Portanto, se A tem posto completo podemos fazer uso da fatoracao Choleskypara encontrar uma matriz triangular inferior L tal que LLT = ATA. Umavez calculada a matriz Cholesky L, podemos facilmente encontrar a solucaoxLS.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 201

5.7 Sistemas de Equacoes Lineares Sub-

Dimensionados

Considere o problema de encontrar uma solucao para o sistema deequacoes lineares Ax = b, A ∈ R

m×n e m 6 n, para o qual existem in-finitas solucoes. Em tal situacao, pode ser util encontrar uma solucao demenor norma, matematicamente:

Minimize ‖x‖Sujeito a :

Ax = b

Um vetor x que resolve este problema e dito solucao por norma mınima.

Teorema 5.3 Se rank(A) = m, entao AAT e nao singular e xLN =AT (AAT )−1b e a solucao unica que minimiza ‖x‖ (em outras palavras, seAx = b para x 6= xLN , entao ‖x‖ > ‖xLN‖).Prova: Primeiro, vamos mostrar que AAT e nao singular. Seja y ∈ R

m noespaco nulo de AAT . Entao:

AATy = 0 ⇒ yTAATy = 0

⇒ ‖ATy‖2 = 0

⇒ ATy = 0 ⇒ y = 0 [pois rank(A) = m]

Segundo, vamos mostrarq que xLN e uma solucao:

AxLN = AAT (AAT )−1b = b,

logo, xLN e uma solucao para Ax = b.Terceiro, vamos mostrar que xLN e uma solucao otima e unica. Considere

qualquer outra solucao x para Ax = b tal que x 6= xLN . Entao:

(x− xLN)TxLN = (x− xLN)

TAT (AAT )−1b

= (Ax− AxLN)T (AAT )−1b

= (b− b)T (AAT )−1b

= 0

Portanto, (x− xLN) e ortogonal a xLN . Logo,

‖x‖2 = ‖x− xLN + xLN‖2= ‖x− xLN‖2 + ‖xLN‖2> ‖xLN‖2

Concluımos que xLN e solucao unica.

202 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

5.7.1 Interpretacao Geometrica

x

xLN

x− xLN

O

z : Az = b

Figura 5.24: Interpretacao geometrica do problema de minimizacao de norma

• xLN e a solucao de Ax = bmais proxima da origem, em outras palavras,xLN e a projecao da origem no espaco de solucoes de Ax = b.

• Se Ax = b, entao x− xLN e ortogonal a xLN .

5.7.2 Calculando a Solucao de Menor Norma

O problema entao e calcular xLN conforme a expressao xLN =AT (AAT )−1b.

Solucao por meio da fatoracao Cholesky

1) Obtenha C = AAT

2) Obtenha uma fatoracao Cholesky C = LLT

3) Execute as mudancas de variaveis dadas por:

xLN = AT zz = (AAT )−1b

AAT z = be

(LLT )z = bLw = bLT z = w

Assim o problema consiste em resolver as equacoes:

xLN = AT zLT z = wLw = b

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 203

4) Calcule w resolvendo por substituicao a equacao Lw = b

5) Calcule z resolvendo por substituicao a equacao LT z = w

6) Calcule xLN = AT z

Exemplo

Seja o problema de minimizacao de norma dado por

A =

[

1 −1 1 11 0 1

212

]

e b =

[

01

]

Primeiro, obtemos C = AAT :4 22 3

2

e calculamos a fatoracao Cholesky:

L =

[

2 01 1√

2

]

⇒[

4 22 3

2

]

= AAT = LLT =

[

2 01 1√

2

]

.

[

2 10 1√

2

]

Resolvendo Lw = b, obtemos[

2 01 1√

2

]

.

[

w1

w2

]

=

[

01

]

⇒ w1 = 0, w2 =√2

Resolvendo LT z = w, obtemos:[

2 10 1√

2

]

.

[

z1z2

]

=

[

0√2

]

⇒ z1 = −1, z2 = 2

Por fim, calculamos xLN = AT z:

xLN =

1 1−1 01 1

2

1 12

.

[

−12

]

=

1100

5.7.3 Problemas de Minimizacao de Normas

Aplicacoes:

• sistemas de equacoes lineares com falta de equacoes

• solucao por minimizacao de norma

204 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

5.7.4 Sistemas com Mais Variaveis do que Equacoes

Para sistemas subdimensionados, com mais variaveis do que equacoes:

a11x1 + a12x2 + . . . + a1nxn = b1a21x1 + a22x2 + . . . + a2nxn = b2a31x1 + a32x2 + . . . + a3nxn = b3... +

... + . . . +... =

...am1x1 + am2x2 + . . . + amnxn = bm

Ou seja, um sistema Ax = b onde A ∈ Rm×n, x ∈ R

n×1 e b ∈ Rm×1. A

matriz A e gorda, m 6 n, tem mais variaveis do que equacoes—i.e., havarias escolhas de x que levam a uma mesma solucao b.

Exemplo: Transferencia de Massa

Vamos aqui considerar o problema de deslocar um bloco, conforme Figura5.25, de um ponto a outro em um intervalo de tempo. Alguns dados doproblema sao:

• a massa e unitaria, m = 1Kg;

• a velocidade e posicao sao nulas no instante t = 0s;

• o bloco esta sujeito a uma forca F (t);

• sao dados a posicao e velocidade final da massa no instante t = 10s; e

• a forca sera discretizada no tempo, constante em subintervalos, tal queF (t) = xj para j − 1 6 t < j, j = 1, . . . , 10.

O problema consiste em encontrar a sequencia de forcas x = (x1, . . . , xn)que move a massa da origem s(0) = 0 ate a posicao final s(10) = 1 tendovelocidade nula na chegada, s′(10) = 0. Seja:

• F (t) = xj para j − 1 6 t < j, j = 1, . . . , 10 a sequencia de forcas;

• s(t) a posicao da massa no instante t = 10; e

• s′(t) a velocidade da massa no instante t = 10.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 205

mF (t)

Figura 5.25: Bloco de massa

A partir da Lei de Newton, temos que no instante t a aceleracao da massae dada por s′′(t) = F (t)/m = F (t), pois m = 1Kg. Integrando a aceleracaono tempo, podemos calcular a velocidade da massa no instante t = 10:

s′(10) =

∫ 10

0

F (t)dt

=

∫ 1

0

F (t)dt+

∫ 2

1

F (t)dt+ . . .+

∫ 10

9

F (t)dt

=

∫ 1

0

x1dt+

∫ 2

1

x2dt+ . . .+

∫ 10

9

x10dt

= x1

∫ 1

0

dt+ x2

∫ 2

1

dt+ . . .+ x10

∫ 10

9

dt

= x1 + x2 + . . .+ x10

=10∑

i=1

xi

206 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Da mesma forma, podemos fazer uso da velocidade media em cada subinter-valo para calcular a posicao da massa em funcao do tempo:

s(10) =

∫ 10

0

s′(t)dt

=

∫ 1

0

s′(t)dt+

∫ 2

1

s′(t)dt+ . . .+

∫ 10

9

s′(t)dt

=s(1)

2+

[

s(1) +s(2)− s(1)

2

]

+

[

s(2) +s(3)− s(2)

2

]

+ . . .

+

[

s(9) +s(10)− s(9)

2

]

=x1

2+

[

x1 +x1 + x2 − x1

2

]

+

[

x1 + x2 +x1 + x2 + x3 − x1 − x2

2

]

+ . . .

+

[

x1 + . . .+ x9 +x1 + . . .+ x10 − x1 − . . .− x9

2

]

=x1

2+(

x1 +x2

2

)

+(

x1 + x2 +x3

2

)

+ . . .+(

x1 + . . .+ x9 +x10

2

)

=(

9x1 +x1

2

)

+(

8x2 +x2

2

)

+(

7x3 +x3

2

)

+ . . .+x10

2

=10∑

i=1

(

1

2+ 10− i

)

xi

Para o entendimento da expressao s(10), o leitor pode observar a Fig. 5.26que traz a curva da velocidade em funcao do tempo. No fim do primeirointervalo, a velocidade e s′(1) = x1 e, portanto, a integral da curva dada pelaarea do triangulo e precisamente a posicao da massa, ou seja, s(1) = x1/2. Nofim do segundo intervalo, a velocidade e s′(2) = x1+x2 e, portanto, a integralda curva ate t = 2 nos da a posicao s(2) = x1/2 + x1 + (x1 + x2 − x1)/2 =x1/2 + (x1 + x2/2). E assim sucessivamente.

Em notacao matricial o problema pode ser colocado como o de encontrarx ∈ R

10 tal que Ax = b, onde:

A =

[

192

172

152

. . . 12

1 1 1 1 1

]

e b =

[

10

]

Uma solucao e x1, . . . , x8 = 0, x9 = 1 e x10 = −1. As Figuras 5.27, 5.28e 5.29 ilustram o deslocamento s(t), velocidade s′(t) e forca aplicada x(t) aolongo do tempo. Uma segunda solucao e x1 = 1, x2 = −1 e x3, . . . , x10 = 0.Ambas as solucoes tem norma ‖x‖2 = x2

1 + x22 + . . .+ x2

10 = 2.A solucao de menor norma tem vetor de forcas ilustrado na Figura 5.30.

O vetor de forcas e xLN = [0.0545 0.0424 0.0303 0.0182 0.0061 − 0.0545 −

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 207

S´(t)

x1

x1 + x2

x1 + x2 + x3

x1 + x2 + x3 + x4

0 1 2 3 4 t

Figura 5.26: Exemplo de velocidade em funcao do tempo.

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

tempo (s)

s(t): posicao

Figura 5.27: Deslocamento da massa

208 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

0 1 2 3 4 5 6 7 8 9 10−0.2

0

0.2

0.4

0.6

0.8

1

1.2

tempo (s)

s’(t): velocidade

Figura 5.28: Velocidade da massa

0 1 2 3 4 5 6 7 8 9 10

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

tempo (s)

x(t): forca

Figura 5.29: Forca aplicada a massa no fim do perıodo

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 209

0.0424 − 0.0303 − 0.0182 − 0.0061]T , com ‖xLN‖ = 0.1101 e ‖xLN‖2 =0.0121. O deslocamento s(t) e velocidade s′(t) induzidos pela forca aplicadasao ilustrados nas Figuras 5.31 e 5.32.

0 1 2 3 4 5 6 7 8 9 10−0.06

−0.04

−0.02

0

0.02

0.04

0.06

tempo (s)

x(t)

Figura 5.30: Forca de menor norma aplicada a massa ao longo do intervalo

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

tempo (s)

s(t)

Figura 5.31: Deslocamento da massa

210 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

0 1 2 3 4 5 6 7 8 9 100

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

tempo (s)

s’(t)

Figura 5.32: Velocidade da massa

5.8 Mınimos Quadrados Nao-linear

Considere o problema de encontrar uma solucao para m equacoes nao-lineares em n variaveis:

r1(x1, . . . , xn) = 0r2(x1, . . . , xn) = 0

...rm(x1, . . . , xn) = 0

onde ri : Rn → R para i = 1, . . . ,m. O problema pode ser colocado emforma vetorial r(x) = 0, onde r : Rn → R

m e definida como:

r(x) =

r1(x1, . . . , xn)r2(x1, . . . , xn)

...rm(x1, . . . , xn)

e x =

x1

x2...xn

Tipicamente, para m ≫ n, nao existe x ∈ Rn tal que r(x) = 0. Assim, nos

resta buscar uma solucao aproximada x tal que:

Minimize ‖r(x)‖2x ∈ R

n

Para o caso r(x) = Ax− b, o problema se reduz a um problema de mınimosquadrados linear. Note que a funcao g(x) = ‖r(x)‖2 pode e tipicamente

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 211

tem multiplos mınimos locais. Encontrar um mınimo global e extremamentedifıcil, logo ficamos satisfeitos com mınimos locais de boa qualidade. Para seter uma ideia da aplicacao pratica de tal problema, o problema de treinar re-des Neurais pode ser visto como um caso particular do problema de mınimosquadrados nao-linear.

Exemplo: Projeto de Indutor CMOS

Considere o problema de projetar simultaneamente em placa de silıcioum conjunto de 50 indutores. A indutancia do indutor i e uma funcao deum vetor x = (x1, x2, . . . , x5) de parametros de projeto, sendo dada por:

Li ≈ ex1nx2i wx3

i dx4i Dx5

i

O problema consiste em encontrar o vetor de parametros x = (x1, x2, . . . , x5)tal que Li

∼= Li para i = 1, . . . , 50, sendo Li a indutancia desejada para oi-esimo indutor.

Podemos portanto colocar o problema como um problema de mınimosquadrados nao-linear fazendo:

ri(x) = ex1nx2i wx3

i dx4i Dx5

i − Li, i = 1, . . . 50

O problema entao fica:

Minimizem∑

i=1

[ex1nx2i wx3

i dx4i Dx5

i − Li]2

x1, . . . , x5

Sera que e possıvel resolver o problema acima como um problema demınimos quadrados linear?

5.9 Referencias

Os topicos sobre sistemas de equacoes nao-lineares, mınimos quadra-dos, minimizacao de norma e introducao a otimizacao, apresentados nestecapıtulo, sao sınteses das notas de aula de Vandenberghe [7].

5.10 Exercıcios

Exercıcio 5.1 Considere os polinomios:

p(t) = c0 + c1t+ c2t2 + c3t

3

q(t) = d0 + d1t+ d2t2 + d3t

3

212 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Tal que p(t1) = y1, p(t2) = y2, p(t3) = y3, p(t4) = q(t4), p′(t4) = q′(t4),

q(t5) = y5, q(t6) = y6 e q(t7) = y7, sendo que t1, . . . , t7 e y1, . . . , y3, y5, . . . , y7sao dados. Formule o problema de encontrar os polinomios p(t) e q(t) demaneira que eles possam ser encontrados atraves de um metodo numerico.Sua formulacao deve ser tao eficiente quanto possıvel.

Exercıcio 5.2 Aplique o metodo de Newton de forma a encontrar todasas solucoes do seguinte sistema de equacoes nao-lineares: (ilustre os passosseguidos pelo algoritmo para cada uma das raızes encontradas)

log(x21 + 2x2

2 + 1)− 1

2= 0

x2 − x21 + 0.2 = 0

Exercıcio 5.3 Resolva o sistema de equacoes:

x2 + 2zy3 + y4 = 93x3 − 6x2z − y3 = 4

x− 2z − y = 0

pelo metodo de Newton para obter precisao ate a terceira casa decimal.Use cada uma das tentativas iniciais: i) (x0, y0, z0) = (2.5, 0.5,−1); ii)(x0, y0, z0) = (3, 0, 2); iii) (x0, y0, z0) = (−3.5,−0.1, 1.2); e iv) (x0, y0, z0) =(3,−2, 0).

Exercıcio 5.4 Considere o problema de otimizacao abaixo:

P : Minimize ‖x‖Sujeito a :

Ax = b

Comparando P ao problema P ′ de encontrarmos uma solucao para Ax = b,sob quais condicoes em termos do posto da matriz A, rank(A), faz sentindoresolvermos o problema P em vez de P ′? De uma aplicacao do problema P .

Exercıcio 5.5 Considere o problema de otimizacao abaixo:

P : Minimize ‖Ax− b‖2x

Comparando P ao problema P ′ de encontrarmos uma solucao para Ax = b,sob quais condicoes em termos do posto da matriz A, rank(A), faz sentindoresolvermos o problema P em vez de P ′? De uma aplicacao de P .

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 213

Exercıcio 5.6 Considere o sistema mecanico da Fig. 5.33. Ha dois blocos,sendo um de massa m1 = 1kg localizado na posicao 0m e outro de massam2 = 2kg localizado na posicao 10m. Denota-se por xj a forca aplicada aobloco 1 e por yj a forca aplicada ao bloco 2, ambas durante o intervalo detempo j−1 6 t < j (segundos), e dadas em N . Durante o intervalo de tempo,as forcas nao podem ser modificadas. Seja x = [x1 . . . x10] e y = [y1 . . . y10]os vetores de forcas para o intervalo de tempo [0, 10s). Desejamos deslocaro bloco 1 ate uma posicao k e o bloco 2 ate a posicao k + 1, de forma queambos fiquem adjacentes ao fim dos 10s, sem que haja colisao.

Tarefas Especıficas:

1) Encontrar os vetores de forcas x e y, bem como a posicao k, de formaque f(x, y) = ‖x‖2 + ‖y‖2 seja minimizada, tal que no instante 10sambos os blocos fiquem adjacentes e com velocidade nula.

2) Simular o comportamento dos blocos para as forcas aplicadas, ilus-trando as forcas, as velocidades e posicao dos blocos em funcao dotempo. A simulacao devera ser feita atraves da integracao numericadas equacoes diferenciais ordinarias do movimento dos objetos. Utili-zar um ou mais metodos de solucao numerica (e.g., Euler or Runge-Kutta). Implementar a simulacao em Matlab, C, Pascal, Octave, ououtra linguagem de programacao/simulacao.

m1 m2x(t)

y(t)

0 1 2 3 4 5 6 7 8 9 10

Figura 5.33: Sistema fısico com dois blocos sujeitos a forcas horizontais

Exercıcio 5.7 O problema consiste em deslocar um bloco no plano, con-forme Figura 5.34 do ponto (x0, y0) ate o ponto (x1, y1) em um intervalo detempo de 20 s. Dados do problema:

• a massa e unitaria, m = 1Kg;

• a velocidade inicial e nula em t = 0s;

• a posicao inicial e (x0, y0) = (1,−1)m;

• o bloco esta sujeito a uma forca horizontal ux(t) e uma forca verticaluy(t) conforme indicado na figura;

214 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

• a posicao do bloco em t = 20s deve ser (x1, y1) = (2, 3)m;

• a velocidade final deve ser nula; e

• a forca sera discretizada no tempo, constante em subintervalos de 1s,tal que ux(t) = vxj e uy(t) = vyj para j−1 6 t < j, j = 1, . . . , n, n = 20.

Encontre a sequencia de forcas vx = (vx1 , . . . , vxn) e vy = (vy1 , . . . , v

yn) que

move a massa da posicao (x(0), y(0)) = (x0, y0) ate o ponto (x(20), y(20)) =(x1, y1), tendo velocidade nula na chegada, x(20) = 0 e y(20) = 0.

Tarefas:

1) modele o problema como um problema de minimizacao de norma;

2) calcule as sequencias de forcas que minimizam ‖(vx, vy)‖ e indique ovalor desta norma;

3) gere graficos da forca, posicao e velocidade em funcao do tempo:(vx(t), vy(t)), (x(t), y(t)) e (x(t), y(t)).

(x0, y0)

(x1, y1)

ux(t)uy(t)

Figura 5.34: Bloco de massa

Exercıcio 5.8 Considere a funcao f(x) = 12x3− 10x2 +3x+100. Encontre:

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 215

a) os pontos x ∈ R que satisfazem as condicoes de primeira-ordem paramınimo local;

b) os pontos que satisfazem as condicoes necessarias de segunda-ordempara mınimo local; e

c) os pontos que satisfazem as condicoes suficientes de segunda-ordempara mınimo local.

Exercıcio 5.9 O projeto de uma famılia de m capacitores em circuito inte-grado tem como parametros as variaveis x, y, k, z, t. A capacitancia Cj doindutor j e dada pela expressao:

Cj = exayj bkj g

zjd

tj

onde aj, bj, gj, e dj sao constantes conhecidas. Seja cj a capacitancia desejadapara o j-esimo capacitor. O problema e encontrar valores para as variaveisx, y, k, z, e t tal que Cj = cj para j = 1, . . . ,m. Sabemos que nao ha solucaopara o problema.

Prof. Antunes afirma que se pode resolver o problema por meio demınimos quadrados, nao sendo necessario resolver um problema de regressaonao-linear. Voce concorda ou discorda? Justifique.

Exercıcio 5.10 Seja f : Rn → Rn uma funcao nao-linear contınua e dife-

rencialmente contınua. Prof. Alberto dispoe de um pacote de otimizacao defuncoes nao-lineares contınuas que resolve problemas da forma:

Min g(x),

onde x ∈ Rn, g : Rn → R e g e contınua e diferenciavel. Pode-se utilizar o

pacote de software para encontrar uma raiz para f , i.e., um ponto x ∈ Rn

tal que f(x) = 0? Justifique a sua resposta.

Exercıcio 5.11 Questoes de verdadeiro/falso.

i. Prof. Kunz afirma que nao existe mınimo local para a funcao f(x) =ex

ex+e−x .

ii. Seja f : Rn → R uma funcao contınua e diferenciavel. Prof. Kunzafirma que se x ∈ R

n e um mınimo local, entao obrigatoriamente∇f(x) = 0.

iii. Seja f : Rn → R uma funcao contınua e diferenciavel. Prof. Kunzafirma que se existe um mınimo local, entao deve existir um mınimoglobal.

216 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

iv. Seja f : R → R uma funcao contınua e duas vezes diferenciavel. Paraum certo x ∈ R, tem-se f ′(x) = 0 e f ′′(x) > 0. Prof. Kunz afirma quex e um mınimo local.

v. Seja f : R→ R uma funcao contınua e duas vezes diferenciavel tal quef ′′(x) > 0 para todo x ∈ R. Prof. Kunz afirma que se x e um mınimolocal, entao obrigatoriamente x tambem e um otimo global.

vi. Considere a funcao f(x) = e−x/x2. Dejamos encontrar o mınimo globalde f(x) na regiao R = [1,∞). Prof. Kunz diz que se x ∈ R e ummınimo local para f(x) na regiao R, entao x e obrigatoriamente ummınimo global.

vii. Sejam f(x, y) e g(x, y) duas funcoes contınuas e diferenciaveis. Prof.Kunz afirma que se (x, y) e um mınimo local de h(x, y) = f(x, y) +g(x, y) entao (x, y) e tambem um mınimo local para f e g.

viii. Considere o problema de encontrar x ∈ Rn tal que:

Minimize ‖x‖Sujeito a :

Ax = b

onde A ∈ Rm×n. Prof. Kunz afirma que nao faz sentido resolver este

problema quando ha mais equacoes do que variaveis, ou seja, quandom > n.

ix. Seja Ax = b um sistema onde A ∈ Rn×n. Prof. Kuhn afirma que se

rank(AT ) = n, entao obrigatoriamente b ∈ range(A) e, portanto, assolucoes do problema de mınimos quadrados (xLS) e do problema deminimizacao de norma (xLN) sao identicas, ou seja, xLS = xLN .

Exercıcio 5.12 Seja f : R → R uma funcao nao-linear contınua e dife-rencialmente contınua. Prof. Kunz dispoe de um pacote para solucao desistemas de equacoes e desigualdades nao-lineares, que encontra, caso exista,uma solucao x para:

g(x) < 0h(x) = 0

onde g : R → R e h : R → R sao funcoes contınuas e diferenciaveis. Prof.Kunz afirma que se pode utilizar o pacote de software para encontrar ummınimo local para f(x). Voce concorda ou discorda do Prof. Kunz? Se vocediscorda, mostre porque nao podemos utilizar o pacote de software. Se voceconcorda, mostre como que um mınimo local pode ser encontrado.

5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados 217

Exercıcio 5.13 Considere o sistema de equacoes lineares dado por:

[

B1

B2

]

x =

[

b1b2

]

≡ Bx = b (5.9)

onde B1 ∈ Rm1×n, B2 ∈ R

m2×n, B ∈ R(m1+m2)×n e os vetores x, b1, b2 e b tem

dimensoes apropriadas.Sabe-se que o sistema (5.9) nao possui solucao, mas o sub-sistema

B1x = b1 possui infinitas solucoes. Deseja-se resolver o seguinte problema demınimos quadrados sob restricoes:

Minimize ‖Bx− b‖2 (5.10a)

Sujeito a: (5.10b)

B1x = b1 (5.10c)

E possıvel resolver esta generalizacao do problema de mınimos quadradosusando apenas os modelos e algoritmos desenvolvidos na disciplina? Se sim,mostre como a solucao pode ser obtida. Caso contrario, argumente umajustificativa da impossibilidade.

Exercıcio 5.14 A aplicacao do metodo de Newton para determinar umaraiz da funcao f(x) = x3 − 2x+ 2 pode entrar em laco infinito.

i. Obtenha uma funcao F : R2 → R2 tal que toda a solucao do sistema

de equacoes nao lineares F (y) = 0 define um par de pontos, x = y1e x = y2, para os quais o metodo de Newton entra em laco infinitoquando aplicado a equacao f(x) = 0.

ii. Aplique o metodo de Newton ao sistema F (x) = 0 e obtenha umasolucao y = (y1, y2).

218 5. Sistemas de Equacoes Nao-Lineares, Otimizacao e Mınimos Quadrados

Capıtulo 6

Revisao de Polinomios

Definicao 6.1 Um polinomio p e uma funcao com domınio e imagem emum conjunto C ou R dado na forma:

p : C → C

x 7→ p(x) = a0xn + a1x

n−1 + · · ·+ an−1x+ an

O numero inteiro n e dito grau do polinomio.

Teorema 6.1 Se p(x) e um polinomio de grau n, entao para qualquer αexiste um polinomio q(x) unico tal que: p(x) = (x− α)q(x) + p(α)

O Teorema 6.1 nos diz que, se dividirmos p(x) por (x−α) entao encontramoscomo quociente um polinomio de grau n− 1, se n > 1, e o resto e o valor dopolinomio calculado em α.

Exemplo

Considere o polinomio p(x) = 3x5 + 4x4 − 2x3 − x2 + 3x − 4 de grau 5.Para calcularmos o valor do polinomino para x = 2, p(2), podemos fazer asseguintes contas:

p(2) = 3× 25 + 4× 24 − 2× 23 − 22 + 3× 2− 4

o que implica em executarmos n adicoes e∑n

j=1 j = (n+1)n2

multiplicacoes.

Portanto, o procedimento executa Θ(n) adicoes e Θ(n2) multiplicacoes, oque nos leva a concluir que a complexidade computacional do procedimentoacima e da ordem Θ(n2) operacoes computacionais elementares. Sera queeste e o procedimento mais eficiente?

220 6. Revisao de Polinomios

Entretanto, observamos que:

p(x) = 3x5 + 4x4 − 2x3 − x2 + 3x− 4

= (3x4 + 4x3 − 2x2 − x+ 3)x− 4

= ((3x3 + 4x2 − 2x− 1)x+ 3)x− 4

= (((3x2 + 4x− 2)x− 1)x+ 3)x− 4

= ((((3x+ 4)x− 2)x− 1)x+ 3)x− 4

o que resulta no calculo de p(2) com apenas n adicoes e n multiplicacoes.Este segundo procedimento e muito mais eficiente que o anterior, tem umacomplexidade computacional de Θ(n) operacoes.

O esquema de calculo de p(x) acima pode ser utilizado para dividirmosp(x) por (x−α) e daı calculamos q(x) = b0x

4+ b1x3+ b2x

2+ b3x+ b4 e p(α).

Esquema de Horner/Briot-Ruffini

O esquema para calcular o quociente e ilustrado na tabela abaixo, ondeestamos buscando o quociente q(x) da divisao do polinomio p(x) = 3x5 +4x4 − 2x3 − x2 + 3x− 4 por (x− α), com α = 2.

3 4 -2 -1 3 -4

α = 2 6 20 36 70 1463 10 18 35 73 142b0 b1 b2 b3 b4 R = p(2)

A partir da tabela acima, obtemos o quociente atraves dos coeficientes dalinha mais abaixo, ou seja, q(x) = 3x4 + 10x3 + 18x2 + 35x+ 73 e tambem oresto p(2) = 142. Portanto, p(x) = (x− 2)q(x) + 142.

Na forma mais geral, o metodo Briot-Ruffini pode ser expresso atravesdas operacoes indicadas na tabela a seguir:

a0 a1 a2 a3 . . . an−1 anα b0α b1α b2α . . . bn−2α bn−1α

a0 a1 + b0α a2 + b1α a3 + b2α... an−1 + bn−2α an + bn−1α

b0 b1 b2 b3 bn−1 R = p(α)

Corolario 6.1 Se p(x) e um polinomio de grau n > 1 e p(α) = 0 entaoexiste um polinomio unico de grau n− 1, tal que p(x) = (x− α)q(x). Nestecaso, q(x) e chamado de polinomio reduzido.

6. Revisao de Polinomios 221

6.1 Enumeracao de Raızes

6.1.1 Enumeracao das Raızes de Uma Equacao Poli-nomial

Enumerar as raızes de um polinomio p(x) consiste em dizermos quantasraızes o polinomio possui e de que tipo elas sao. No que segue sao apresenta-dos alguns teoremas e outros resultados teoricos que podem nos auxiliar natarefa de enumeracao.

Teorema 6.2 O numero de raızes positivas de uma equacao polinomial p(x)com coeficientes reais, nunca e maior que o numero de trocas de sinal T nasequencia de seus coeficientes nao nulos, e se e menor, entao e sempre porum numero par.

Exemplo

Como exemplo, tome o polinomio p(x) = x3+2x2−3x−5, o qual apresentaa sequencia de sinais (+,+,−,−). Logo, segundo o Teorema 6.2, T ′ = 1 epode-se afirmar com exatidao que p(x) tem uma raiz positiva ja que ele naopode ter um numero negativo de raızes.

Observacao: A mesma regra acima, dada pelo Teorema 6.2, pode ser apli-cada para a enumeracao das raızes reais e negativas de p(x), calculando-sep(−x), pois as raızes positivas de:

p(−x) = −x3 + 2x2 + 3x− 5

se referem as raızes negativas de p(−x). Notando que a sequencia de sinaisde p(−x) e (−,+,+,−), concluımos que T ′ = 2 e daı deduzimos que p(x)pode ter duas ou zero raızes negativas. Tomando como base as deducoes deque p(x) tem uma raiz positiva e duas ou nenhuma raiz negativa, podemosdeduzir que:

• Se p(x) tiver duas raızes negativas, entao nao tera nenhuma raiz com-plexa. Se, contudo, nao tiver raızes negativas, entao tera duas comple-xas.

• E bom lembrar que, se um polinomio tem todos os coeficientes reais ese houver uma raız complexa, entao sua conjugada, tambem sera raizdo polinomio.

222 6. Revisao de Polinomios

Exemplo

Seja p(x) = x4 − x3 + x2 − x + 1 um polinomio de quarto grau. Temosque T = 4 e, portanto, p(x) tem quatro, duas ou nao tem raızes positivas.Procedendo a analise de p(−x) = x4 + x3 + x2 + x + 1, observamos queT ′ = 0 e daı verificamos que p(x) nao tem raızes negativas. Logo p(x) podeter quatro raızes positivas, ou duas raızes positivas e duas complexas, ounenhuma positiva e quatro complexas. Ha apenas tres possibilidades quantoaos tipos das raızes.

6.1.2 Enumeracao das Raızes Complexas

Nesta secao damos continuidade a formas e metodos de se enumerarraızes, onde serao enunciados resultados teoricos e procedimentos de enu-meracao.

Teorema 6.3 (Regra de du Gua) Dada a equacao polinomial p(x) = 0 degrau n sem raızes nulas e se para algum k, 1 6 k < n tivermos a2k 6 ak+1ak−1

entao p(x) tera raızes complexas.

O Teorema 6.3 nos da condicoes suficientes para existencia de raızes com-plexas. Note que se as condicoes do teorema nao puderem ser aplicadas, opolinomio pode ter raızes complexas. A regra da Lacuna abaixo enunciadapermite a conclusao sobre a existencia de raızes complexas

Teorema 6.4 (Regra da Lacuna)

• Se os coeficientes de p(x) forem todos reais e para algum k, 1 6 k < ntivermos ak = 0 e ak+1ak−1 > 0, entao p(x) = 0 tera raızes complexas.

• Se os coeficientes forem todos reais e existirem dois ou mais coeficientesnulos sucessivos, entao p(x) = 0 tera raızes complexas.

Exemplo

Vamos agora exemplificar a aplicacao dos teoremas enunciados. Inicial-mente, tomemos o polinomio p(x) = 2x5 + 3x4 + x3 + 2x2 − 5x + 3, para oqual verificamos que T = 2, e daı descobrimos que p(x) tem duas raızes ouzero raızes positivas. A partir de p(−x) = −2x5 + 3x4 − x3 + 2x2 + 5x + 3,calculamos que T ′ = 3, e daı deduzimos que p(x) tem tres raızes ou uma raızreal negativa. Na tabela abaixo listamos todas as possıveis combinacoes detipos de raızes.

6. Revisao de Polinomios 223

Reais Positivas Reais Negativas Complexas Total2 3 0 52 1 2 50 3 2 50 1 4 5

Pela regra de “du Gua” (ver Teorema 6.3), temos que a22 6 a3a1 ⇒

1 6 3 × 2 = 6. Daı chegamos a conclusao que p(x) tem raızes complexas e,por conseguinte, podemos eliminar a primeira alternativa do quadro anterior,restando apenas tres possibilidades para as raızes.

Exemplo

Repetindo os passos anteriores, tomemos agora o polinomio de sexto graup(x) = 2x6− 3x5− 2x3 + x2− x+1. A partir do fato que T = 4, concluımosque p(x) tem quatro, ou duas raızes, ou zero raızes positivas. Atraves dopolinomio p(−x) = 2x6+3x5+2x3+x2+x+1, temos que T ′ = 0, portanto,p(x) nao tem raızes reais negativas. Pela Regra da Lacuna temos que p(x) = 0tem raızes complexas pois: a2 = 0 e a1a3 > 0. Os possıveis arranjos de tipose numeros de raızes e dado no quadro abaixo:

Reais Positivas Reais Negativas Complexas Total4 0 2 62 0 4 60 0 6 6

Definicao 6.2 Seja f(x) = 0 uma equacao onde f : R 7→ R e uma funcaoqualquer. Se f(x) = 0, entao dizemos que x e uma raiz de f .

Definicao 6.3 Se x e um zero de f(x) entao a multiplicidade m de x e oınfimo de todos os numeros k, tais que:

limx→x

|f(x)||x− x|k <∞

Exemplo

Consideremos a funcao f(x) = x12 , uma raiz de x

12 = 0 e x = 0. Esta raiz

tem multiplicidade 12, pois

limx→0

|x 12 ||x| 12

<∞ mas limx→0

|x 12 ||x|a =∞ para a <

1

2.

224 6. Revisao de Polinomios

Teorema 6.5 Se x e um zero de f e se para algum inteiro m, f(x) e mvezes continuamente diferenciavel, entao a multiplicidade de x e pelo menosm vezes se, e somente se,

f(x) = f ′(x) = f ′′(x) = . . . = fm−1(x) = 0

A multiplicidade e exatamente m se fm(x) 6= 0

Teorema 6.6 Seja p(x) um polinomio de grau n > 1. A multiplicidade deum zero α de p(x) e m se, e somente se,

p(α) = p′(α) = p′′(α) = . . . = pm−1(α) = 0pm(α) 6= 0.

Teorema 6.7 Seja p(x) = a0xn + a1x

n−1 + . . .+ an−1x+ an, um polinomiode grau n. Entao existem numeros distintos α1, α2, . . . , αs (que podem sercomplexos) e inteiros m1,m2, . . . ,ms tal que para uma constante c unica te-mos:

p(x) = c(x− α1)m1 .(x− α2)

m2 . . . (x− αs)ms

s∑

j=1

mj = n.

O teorema acima e decorrencia do teorema fundamental da Algebra, quediz que todo polinomio com coeficientes complexos admite pelo menos umaraiz complexa. Nem todo o polinomio real admite uma raız real, por exemplox2 + 1 so admite raızes complexas.

Teorema 6.8 Se os coeficientes de p(x) sao reais e µ e a multiplicidade deuma raiz α entao perto de α o polinomio p(x) deve ter uma das formas daFigura 6.1.

Observacoes:

• A enumeracao de raızes reais ou complexas pode ser feita aproximada-mente pelo metodo grafico a ser visto posteriormente.

• A existencia de um maximo local negativo, ou mınimo local positivoindica a existencia nas proximidades de raızes complexas.

6. Revisao de Polinomios 225

µ=1 µ=1 µ=1µ=1

ααα α

µ=2,4,6,...

µ=2,4,6,... µ=1,3,5,... µ=1,3,5,...

Figura 6.1: Multiplicidade de raızes

6.2 Localizacao das Raızes

6.2.1 Localizacao das Raızes Reais de Uma EquacaoPolinomial

Dada a equacao polinomial p(x) = 0 podemos ter uma ideia mais oumenos precisa sobre quantos e de que tipo sao as raızes de equacao polino-mial. Este topico foi objeto de estudo na secao anterior. E preciso tambemsaber onde elas estao localizadas, o que sera o foco na presente secao. Seraoapresentadas definicoes e teoremas que permitem realizar a localizacao dasraızes.

Definicao 6.4 Localizar as raızes de p(x) = 0 e determinar um intervaloque contenha todas as raızes reais de p(x). Localizar as raızes complexas edeterminar os raios interno e externo que contenham as raızes complexas dep(x) = 0.

A Figura 6.2 ilustra o conceito de localizacao de raızes reais e complexas.

Teorema 6.9 (Laguerre) Dado o polinomio p(x) de coeficientes reais e dadoum numero α, obtemos p(x) = (x − α)q(x) + R. Se os coeficientes de q(x)e R forem todos positivos ou nulos, entao teremos que todas as raızes reaispositivas xj verificam xj < α.

226 6. Revisao de Polinomios

a b a b

ab

Figura 6.2: Localizacao de raızes

Cota de Laguerre-Thibault

Dado p(x) = 0 de coeficientes reais, faca a deflacao de p(x) por x−1, x−2,x− 3 . . ., ate x−m, onde q(x) tenha todos os coeficientes positivos ou nulos,assim como R(x) > 0 tal m e chamado de cota superior das raızes reais dep(x) = 0. Para determinar a cota inferior basta fazer o mesmo procedimentopara p(−x) e assim determina-se a cota inferior.

Exemplo

Tomemos como exemplo o polinomio p(x) = x5+x4−9x3−x2+20x−12e considere a tarefa de localizarmos as raızes de p(x) = 0.

1 1 -9 -1 20 -121 1 2 -7 -8 12

1 2 -7 -8 -12 0

1 1 -9 -1 20 -122 2 6 -6 -14 12

1 3 -3 -7 6 0

1 1 -9 -1 20 -123 3 12 9 24 132

1 4 3 8 44 120

Logo temos que todas as raızes positivas de p(x) = 0 sao menores que 3.Para pesquisar a localizacao das raızes negativas utiliza-se o mesmo procedi-mento, mas desta vez este e aplicado ao polinomio obtido ao multiplicar-sep(−x) = −x5 + x4 + 9x3 − x2 − 20x− 12 por −1.

6. Revisao de Polinomios 227

1 -1 -9 1 20 121 1 0 -9 -8 12

1 0 -9 -8 12 24

1 -1 -9 1 20 122 2 2 -14 -26 -12

1 1 -7 -13 -6 0

1 -1 -9 1 20 123 3 6 -9 -24 -12

1 2 -3 -8 -4 0

1 -1 -9 1 20 124 4 12 12 52 288

1 3 3 13 72 300Portanto, as raızes pertencem ao intervalo [-4,3].

Teorema 6.10 ( Cota de Vene ) Para toda a raiz positiva α de p(x) = 0onde a0 6= 0, verifica-se que:

0 6 α 6 1 +M

a0 + a1 + . . .+ ap

onde M e o valor absoluto do menor dos coeficientes negativos e ap e o ultimocoeficiente positivo antes do primeiro coeficiente negativo.

Exemplo

Vamos ilustrar a Cota de Vene com o polinomio p(x) = x5 + x4 − 9x3 −x2+20x−12. Note que M = |−12| = 12 e ap = 1. Logo, 0 6 α 6 1+ |−12|

1+1=

1 + 122= 7.

6.3 Localizacao das Raızes Complexas de

Uma Equacao Polinomial

Teorema 6.11 (Cota de Kojima) Dado o polinomio

p(x) = a0xn + a1x

n−1 + . . .+ an−1x+ an

toda a raiz α, real ou complexa, verifica que

|α| 6 q1 + q2

228 6. Revisao de Polinomios

onde q1 e q2 sao os valores maiores de:

aia0

1i

, i = 1, 2, . . . , n.

Exemplo

Seja o polinomio p(x) = x5 + x4 − 9x3 − x2 + 20x − 12, onde a0 = 1,a1 = 1, a2 = −9, a3 = −1, a4 = 20, e a5 = −12. Podemos entao verificarque a serie de fatores e:

111 , 9

12 , 1

13 , 20

14 , 12

15

= 1, 3, 1, 2.114743537, 1.643751829 .

Daı verificamos que q1 = 3 e q2 = 2.114742527. Logo, temos que toda raizsatisfaz |α| 6 5.114742527, o que nos da o raio externo do anel que contemas raızes de p(x).

Para determinar o raio interno do anel, devemos calcular p( 1x) = −12x5+

20x4 − x3 − 9x2 + x + 1 e aplicar o mesmo procedimento, pois as raızes dep( 1

x) sao os inversos das de p(x). Temos entao que:

(

20

12

) 11

,

(

1

12

) 12

,

(

9

12

) 13

,

(

1

12

) 14

,

(

1

12

) 15

=

1.666, 0.288675239, 0.908560296, 0.537284, 0.608364342 .

Daı verificamos que q1 = 1.666 e q2 = 0.908560296. c = 2.575226902 e daı acota inteira e 1

c= 0.388315288⇒ 0.388315288 < |α| < 5.114742527.

Teorema 6.12 (Cota de Cauchy) Dado um polinomio real p(x), entao todaraiz α real ou complexa, de p(x) = 0 satisfaz:

|α| < |β|

sendo β = limi→∞ xi com x0 = 0 e

xi =

(

|a1a0|xn−1

i−1 + |a2a0|xn−2

i−1 + . . .+ |an−1

a0|xi−1 + |

ana0|) 1

n

.

6. Revisao de Polinomios 229

Exemplo

Tomemos o polinomio p(x) = x5+x4−9x3−x2+20x−12. Entao x0 = 0e a0 = 1, o que nos leva a produzir a serie:

xk+1 = [x4k + 9x3

k + x2k + 20xk + 12]

15

Podemos entao verificar que

x1 =5√12 = 1.643751829

x2 = 2.485458195...

x10 = 3.805140857

Como resultado, podemos afirmar que nao ha nenhuma raiz fora do cırculocentrado em zero e de raio 4.0.

6.4 Separacao das Raızes de Uma Equacao

Polinomial

Definicao 6.5 Separar as raızes de uma equacao polinomial e o processo deencontrar uma sequencia de subintervalos distintos, tais que cada subintervalocontenha exatamente uma raiz real e cada raiz real esteja num subintervalo.

Teorema 6.13 (Bolzano) Se f for uma funcao continua em [a, b] e trocarde sinal nos extremos desse intervalo, entao existe pelo menos uma raiz realde f em [a, b].

Teorema 6.14 (Budan) Seja pk(a) o valor da derivada de ordem k de p(x)calculada para x = a. Seja va o numero de variacoes de sinal da sequencia:

p(a), p′(a), p′′(a), . . . , p(n+1)(a)

tomadas nesta ordem. Entao o numero de raızes de p(x) = 0 no intervalo(a, b) e igual ou menor que |va − vb| por um multiplo de 2.

Exemplo

Seja p(x) = x3 − 2x2 − x + 2 um polinomio de grau 3. Pela regra deDescartes temos duas variacoes de sinal e daı segue que existem duas raızes,

230 6. Revisao de Polinomios

ou nao temos raızes positivas. Vamos agora calcular a forma analıtica dasderivadas de p(x):

p′(x) = 3x2 − 4x− 1

p′′(x) = 6x− 4

p′′′(x) = 6

Calculando a cota de Laguerre-Thibault, conforme tabelas que seguemabaixo, podemos deduzir que as raızes positivas sao menores que 3 (cotasuperior igual a 3).

1 -2 -1 21 1 -1 -2

1 -1 -2 0

1 -2 -1 22 2 0 -2

1 0 -1 0

1 -2 -1 23 3 3 6

1 1 12 8Aplicando o Teorema de Budan, temos que v0 = 2 e v3 = 0, conforme

tabelas abaixo, logo ha duas ou nenhuma raiz real em [0, 3].

p(0) = 2 p(3) = 8p′(0) = −1 p′(3) = 10p′′(0) = −4 p′′(3) = 14p′′′(0) = 6 p′′′(3) = 6

Exemplo

Considere agora o polinomio:

p(x) = x4 − 4x3 + 6x2 + 4x+ 1

de grau 4. O numero de variacoes de sinal de p(x) e 4, donde podemos terquatro, duas ou nenhuma raiz positiva. Vamos entao calcular a Cota deLaguerre-Thibault, conforme desenvolvimento abaixo.

1 -4 6 4 11 1 -3 3 7

1 -3 3 7 8

6. Revisao de Polinomios 231

1 -4 6 4 12 2 -2 8 24

1 -2 4 12 25

1 -4 6 4 13 3 -3 3 21

1 -1 3 7 22

1 -4 6 4 14 4 0 24 56

1 0 6 28 57Uma vez que a Cota de Laguerre-Thibault e 4, podemos aplicar o Teorema

de Budan calculando v0 e v4, mas antes disso temos que obter as derivadasde p(x) :

p′(x) = 4x3 − 12x2 + 12x+ 4

p′′(x) = 12x2 − 24x+ 12

p′′′(x) = 24x− 24

p′′′′(x) = 24

Daı calculamos os valores das derivadas nos pontos x = 0 e x = 4, obtendoos resultados do quadro abaixo.

p(0) = 1 p(4) = 81p′(0) = 4 p′(4) = 108p′′(0) = 12 p′′(4) = 108p′′′(0) = −24 p′′′(4) = 72p′′′′(0) = 24 p′′′′(4) = 24

Portanto, deduzimos que v0 = 2 e v4 = 0. O teorema entao nos diz que onumero de raızes em (0, 4) e menor ou igual a |v0 − v4| = 2 por um multiplode 2. Portanto, deve haver duas ou nenhuma raiz no intervalo (0, 4).

6.5 Exercıcios

Exercıcio 6.1 Considere o polinomio:

p(x) = x7 + 4x6 − 7x5 − 34x4 − 24x3 − x+ 1

a) Prof. Miguel afirma que p(x) deve obrigatoriamente possuir pelo me-nos uma raiz real negativa e pelo menos duas raızes complexas. Voceconcorda ou discorda da afirmacao? Justifique a resposta.

232 6. Revisao de Polinomios

b) Prof. Clovis afirma que toda raiz α de p(x) verifica |α| 6 7.24. Voceconcorda ou discorda do Prof. Clovis? Justifique a resposta.

Exercıcio 6.2 Considere o polinomio:

p(x) = 2x7 + 4x6 − 7x5 + 12x4 − x− 1

Para cada afirmacao, indique se voce concorda ou discorda e justifique a suaresposta.

a) Prof. Miguel afirma que p(x) deve obrigatoriamente possuir pelo menosuma raiz real positiva.

b) Prof. Julius afirma que p(x) possui pelo menos duas raızes reais nega-tivas.

c) Prof. Antunes afirma que p(x) possui pelo menos duas raızes comple-xas.

d) Prof. Albus afirma que, se p(x) possuir uma raiz complexa, entao se αe uma raiz complexa, ela satisfaz a relacao: |α| 6 4.

Exercıcio 6.3 Dado o polinomio:

q(x) = 2x7 + 6x6 − 10x5 − 30x4 + 8x3 + 24x2,

execute as tarefas abaixo dando justificativas.

a) Encontre os numeros possıveis de raızes reais positivas.

b) Encontre os numeros possıveis de raızes reais negativas.

c) Podemos dizer que q(x) possui raızes complexas?

d) Se q(x) possui raızes reais, entao localize estas raızes.

e) Se q(x) possui raızes complexas, entao localize estas raızes.

Capıtulo 7

Integracao Numerica

Ao contrario da diferenciacao, a integral de uma funcao f(x) nao neces-sariamente possui uma solucao analıtica. Por exemplo, a integral limitadaF (x) =

∫ b

ae−x2

dx da funcao f(x) = e−x2nao possui solucao analıtica. Entao,

como podemos encontrar F (x)? Uma solucao aproximada (arbitrariamenteaproximada para o caso de uma maquina de precisao ilimitada) pode ser ob-tida por meio de metodos numericos. Este metodos serao objeto de estudono presente capıtulo.

7.1 O Problema da Integracao Numerica

Os metodos para o calculo de integrais definidas F (x) =∫ b

af(x)dx sao

agrupadas em quatro tipos:

Metodo Analıtico: Este metodo consiste em se encontrar a solucaoanalıtica de F (x), por exemplo F (x) =

1xdx = ln x + c. Por ou-

tro lado, F (x) =∫

e−x2dx nao pode ser escrita como uma combinacao

finita de outras funcoes algebricas, logarıtmicas ou exponenciais. Nocaso de F (x) =

∫ x

01

1+x8dx, podemos obter F (x) atraves de varias eta-pas mas estas podem levar a erros e, alem disso, o resultado podeenvolver algumas funcoes que serao avaliadas numericamente que, porsua vez, poderiam acarretar erros numericos. Ha tambem ferramentascomputacionais inspiradas em algoritmos de Inteligencia Artificial (IA)que encontram as primitivas de varias funcoes, tais como as ferramen-tas encontradas em pacotes de software como Mathematica, Maple eMatlab.

Metodo Mecanico: Tais metodos fazem uso de instrumentos que calculama area delimitada por uma curva qualquer, todavia sao limitados quanto

234 7. Integracao Numerica

ao numero de dimensoes e tem aplicacoes restritas.

Metodo Grafico: Toma como base o desenho de y = f(x) no intervalo[a, b] que gera uma sequencia de iterandos no grafico ate que se obte-nha o resultado. Estes metodos sao pouco empregados uma vez quenao sao automaticos e portanto nao podem ser aplicados em sistemascomputacionais.

Metodo Numerico ou Algorıtmico: Os metodos numericos podem serempregados em geral e tem grande apelo pratico uma vez que podemser embutidos em ambientes computacionais.

7.2 Objetivo da Integracao Numerica

O metodo numerico para calcular a integral de f(x) utiliza exclusiva-mente as operacoes aritmeticas necessarias ao calculo de f(x), o que podeser conveniente, assim dispensando o computo das derivadas de f . Usual-mente vamos calcular a integral de f(x) de a ate b, ou seja, F (x) =

∫ b

af(x)dx,

onde −∞ < a < b < +∞.

7.2.1 Filosofias Basicas

Para calcular o valor aproximado da integral definida vamos utilizar umacombinacao linear de valores da funcao f(x) em certos pontos xj, a 6 xj 6 b,chamados de nos e certos valores wj que constituem os pesos. Mais formal-mente, vamos aproximar F (x) com a expressao:

∫ b

a

f(x)dx ∼= w1f(x1) + w2f(x2) + . . .+ wn+1f(xn+1) =n+1∑

j=1

wjf(xj) (7.1)

De acordo com os valores dos pesos e com a escolha de nos, temos no ladodireito de (7.1) o que chamamos de Regra de Integracao. A determinacaodos pesos e dos nos e feita de acordo com varias filosofias que se agrupamem duas subdivisoes:

Fixas: A escolha de nos nao depende do comportamento especıfico da funcaoa ser integrada, mas apenas da regra a ser utilizada.

Adaptativa: A escolha dos pontos xj depende do comportamento dafuncao, de modo que a densidade seja maior onde a funcao f(x) variacom menos “suavidade”.

7. Integracao Numerica 235

Tanto na filosofia fixa como na adaptativa, empregamos varios tipos deregras. As mais importantes sao:

Formulas de Newton-Cotes: Determinamos os pontos xj = x0 + jh quesao igualmente espacados de uma distancia h. Os pesos wj sao obti-dos a partir de um polinomio de grau m que interpola f nos pontos(xj, f(xj)). Portanto, a regra obtida e exata para qualquer polinomiode grau menor ou igual a m.

Formulas de Gauss: Determinamos os pontos xj e os pesos wj de modoque a regra seja exata para qualquer polinomio de grau p = 2n + 1,onde n e o numero de pontos a serem tomados no intervalo [a, b]. Ospontos xj assim obtidos nao sao igualmente espacados.

Formulas baseadas nos metodos de extrapolacao do limite: Asformulas Newtonianas podem apresentar uma convergencia lenta.Uma forma de se aumentar a velocidade de convergencia e aplicar umaformula de Newton-Cotes para h = hj, hj+1 < hj, obtendo-se uma

sequencia de aproximacoes da integral∫ b

af(x)dx.

As integrais a serem calculadas podem ser proprias ou improprias,convergentes ou nao. As integrais improprias sao aquelas nas quais ointervalo de integracao ou integrando sao ilimitados. Tais integrais saodefinidas como um limite de integrais proprias, como esta a seguir:

i.∫∞a

f(x)dx = limx→∞∫ x

af(x)dx, quando o limite existe

ii.∫ b

−∞ f(x)dx = limx→−∞∫ b

xf(x)dx

iii. No caso de integrando nao limitado, f e definida no intervalo (a, b) que e

ilimitada numa vizinhanca de a, entao:∫ b

af(x)dx = limr→a+

∫ b

rf(x)dx,

quando o limite existe.

Alem dos problemas anteriores, podemos ter integrais proprias, convergentes,porem mal comportadas. Isto ocorre quando a funcao nao tem um compor-tamento polinomial, apresenta picos ou oscilacoes frequentes. A Figura 7.1ilustra as questoes relativas a funcoes propias e impropias.

236 7. Integracao Numerica

7.3 Formulas Newtonianas

7.3.1 Consideracoes Iniciais

As formulas Newtonianas sao de aplicacao mais simples quando temos aexpressao de f ou quando obtemos uma tabela de pontos dados experimen-talmente. As formulas dadas pela interpolacao de f por polinomios de grau1, 2 ou m podem ser aplicadas no intervalo [a, b] constituindo regras simples,ou em subdivisoes [xj , xj+1] do intervalo [a, b] formando regras compostas.

As formulas Newtonianas podem ser:

Fechadas: Quando o integrando f e calculado em x0 = a e xm = b sendoque a funcao f deve ser definida nestes pontos.

Abertas: Quando o integrando nao e avaliado em ambas as extremidades dointervalo [a, b] e sim em pontos proximos, assim xm−r = a e xm+r = be 0 < r 6 m sao utilizados quando ha descontinuidade nos extremos.

Com termos de correcao: O integrando e avaliado em pontos xj fora dointervalo [a, b] para fornecer uma correcao ao valor calculado por umaregra fechada.

7.3.2 Regra dos Retangulos

Seja o intervalo finito [a, b] no eixo x, que e particionado em n subin-tervalos [xj, xj+1], j = 1, . . . , n, onde x1 = a, xn+1 = b, e hj = xj+1 − xj.Seja f uma funcao contınua, cuja integral nao e conhecida. Nosso objetivo ecalcular F (x) =

∫ b

af(x)dx pelo calculo das areas de retangulos. Este proce-

dimento e ilustrado na Figura 7.2, a qual exemplifica tres tipos de regras. NaFigura 7.2(a), a area de cada retangulo e dada por A = f(xj)hj, na Figura7.2(b) a area e dada por A = f(xj+1)hj, e por fim na Figura 7.2(c) a area edada por A = f(

xj+xj+1

2)hj. Em qualquer das escolhas, a soma das areas dos

retangulos sera uma aproximacao de∫ b

af(x)dx que denotaremos por I(f):

I(f) =

∫ b

a

f(x)dx

Considerando um intervalo de intregracao [a, b] subdividido em n subinter-valos, teremos:

I(f) ∼=n∑

j=1

Ij

Ij ∼=∫ xj+1

xj

f(x)dx, j = 1, . . . , n

7. Integracao Numerica 237

onde Ij e area do j-esimo retangulo, sendo dada por uma das tres formulasacima.

Duas regras para integracao sao:

Regra Simples: Uma formula simples para aproximacao de I(f) e utilizarapenas um retangulo, o que resulta nas expressoes abaixo dependendode como o retangulo e obtido:

I(f) ∼= f(a)(b− a)

I(f) ∼= f(b)(b− a)

I(f) ∼= f(a+ b

2)(b− a)

Regra Composta: O intervalo [a, b] e subdividido em n sub-intervalos.Pela regra dos retangulos, a integral sera indicada por R(hj) e as regrasde integracao sao:

R(hj) =n∑

j=1

f(xj)hj

R(hj) =n∑

j=1

f(xj+1)hj

R(hj) =n∑

j=1

f(xj + xj+1

2)hj

variando conforme o tipo de retangulo, onde xj+1 = xj + hj. No casoem que hj = h e uma constante, entao temos:

R(hj) = h

n∑

j=1

f(xj)

R(hj) = h

n∑

j=1

f(xj+1)

R(hj) = hn∑

j=1

f(xj + xj+1

2)

e consequentemente xj+1 = xj + h.

238 7. Integracao Numerica

7.3.3 Regra dos Trapezios

Se aproximarmos f por um polinomio f ∗(x) de grau 1 ao inves de umpolinomio de grau zero, como foi realizado na regra dos retangulos, teremos:

f ∗(x) =

[

f(a)− f(b)

a− b

]

x+af(b)− bf(a)

a− b

=f(a)x− bf(a)

a− b+

af(b)− f(b)x

a− b

= f(a)x− b

a− b+ f(b)

a− x

a− b

que pode ser colocado na forma:

f ∗(x) = f(a)x− b

a− b+ f(b)

x− a

b− a

Utilizando a aproximacao linear f ∗(x) de f(x), podemos verificar que:

∫ b

a

f(x)dx ∼=∫ b

a

f ∗(x)dx

=

∫ b

a

f(a)x− b

a− bdx+

∫ b

a

f(b)x− a

b− adx

=f(a)

a− b

b∫

a

(x− b)dx+f(b)

b− a

b∫

a

(x− a)dx

=f(a)

a− b

[

(x− b)2

2

]b

a

+f(b)

b− a

[

(x− a)2

2

]b

a

=f(a)

a− b

[

−(a− b)2

2

]

+f(b)

b− a

(b− a)2

2

=−f(a)(a− b)

2+

f(b)(b− a)

2

=−f(a)(a− b) + f(b)(b− a)

2

=b− a

2[f(a) + f(b)]

Ou seja:∫ b

a

f(x)dx ∼= b− a

2[f(a) + f(b)]

7. Integracao Numerica 239

que corresponde a regra simples do trapezio, conforme ilustracao na Figura7.3.

Se subdividirmos o intervalo [a, b] em n subintervalos e em cada umdeles aproximarmos f por uma reta teremos a regra dos trapezios composta.Indicando por T (hj) a aproximacao de I(f) pela regra composta dostrapezios, teremos:

T (hj) =n∑

j=1

Tj(hj)

=n∑

j=1

f(xj) + f(xj+1)

2hj

onde hj = xj+1−xj, j = 1, . . . , n. Se hj = h, para todo j, podemos simplificara expressao, obtendo:

T (h) = h

[

f(x1) + f(x2)

2+

f(x2) + f(x3)

2+ . . .+

f(xn) + f(xn+1)

2

]

ou ainda,

T (h) =h

2[f(x1) + 2f(x2) + 2f(x3) + . . .+ 2f(xn) + f(xn+1)]

7.3.4 Regra de Simpson

Se aproximarmos f por um polinomio f ∗ de grau 2 (uma parabola) te-remos a chamada Regra de Simpson. Porem, para interpolarmos f por umaparabola precisamos de 3 pontos para construirmos a formula da regra sim-ples. Sejam a e b dois pontos dados e ym, o ponto medio dado por ym = a+b

2.

Pelo polinomio de Lagrange temos que:

f(x) ∼= f ∗(x)

= f(a)(x− b)(x− ym)

(a− b)(a− ym)+ f(ym)

(x− a)(x− b)

(ym − a)(ym − b)+ f(b)

(x− a)(x− ym)

(b− a)(b− ym)

Podemos obter f ∗(x) atraves do polinomio de Gregory-Newton, usando asdiferencas finitas:

f ∗(x) = f(a) + (x− a)∆f(a)

h+ (x− a)(x− ym)

∆2f(a)

2h2

240 7. Integracao Numerica

onde,

∆f(a) = f(ym)− f(a)

∆2f(a) = f(b)− 2f(ym) + f(a)

Fazendo uma mudanca de variavel:

x(α) = a+ αh, α ∈ [0, 2]

dx

dα= h⇒ dx = hdα

x− a = a+ αh− a⇒ x− a = αh

De acordo com esta mudanca de variavel, temos que x(0) = a, x(1) = ym, ex(2) = b para h = b−a

2. Daı deduzimos que:

(x− a)(x− ym) = αh

[

a+ αh− (a+ a+ 2h)

2

]

= αh

[

2a+ 2αh− 2a− 2h

2

]

= αh [α− 1]h = α(α− 1)h2

Podemos entao obter a integral aproximada:

∫ b

a

f ∗(x)dx =

∫ 2

0

[

f(a) + αh∆f(a)

h+

α(α− 1)h2∆2f(a)

2h2

]

hdα

=

∫ 2

0

[

f(a) + α∆f(a) +α(α− 1)∆2f(a)

2

]

hdα

= h

[f(a)α]20 +∆f(a)

[

α2

2

]2

0

+∆2f(a)

2

[

α3

3− α2

2

]2

0

= h[2f(a) + 2(f(ym)− f(a)) +1

3(f(b)− 2f(ym) + f(a))]

Portanto∫ b

a

f ∗(x)dx =h

3[f(a) + 4f(ym) + f(b)],

onde: ym = a+b2

e h = b−a2.

A aproximacao quadratica f ∗(x) de f(x) no intervalo [a, b], com pontomedio em ym, e ilustrada na Figura 7.5.

7. Integracao Numerica 241

Regra Composta de Simpson

Seguindo a mesma tecnica de integracao da regra composta dos trapezios,mas desta fez utilizando o integrador de Simpson, obtemos a Regra Compostade Simpson:

S(hj) =n∑

j=1

Sj(h)

=n∑

j=1

hj

3[f(xj) + 4f(yj) + f(xj+1)]

onde yj =xj+xj+1

2e hj =

xj+1−xj

2, j = 1, . . . , n.

Expandindo a expressao de Simpson e assumindo que hj = h para todoj, podemos expressa-la na forma:

S(h) =h

3[f(x1) + 4f(y1) + 2f(x2) + 4f(y2) + 2f(x3) + . . .

+2f(xn) + 4f(yn) + f(xn+1)] .

7.3.5 Formula Geral das Regras Newtonianas

Podemos generalizar os procedimentos anteriores e aproximar f por umpolinomio de grau m. Lembre que na regra dos retangulos utilizamos umpolinomio interpolador de grau 0, na regra dos trapezios um polinomio degrau 1, e por ultimo um polinomio de grau 2 na regra de Simpson. Aoadotarmos um polinomio de grau m, precisamos determinar m+1 pontos nointervalo [a, b] para a aplicacao da regra simples. Seja:

• h > 0 a distancia entre os nos;

• x0 = a o no inicial;

• xk = x0 + hk, k = 0, . . . ,m, os demais nos; e

• fk = f(xk) o valor da funcao nos diferentes nos.

242 7. Integracao Numerica

Com base nestas definicoes, a formula de interpolacao de Newton nos da:

f(x) =m∑

k=0

(

uk

)

∆kf0 +Rm+1, onde

u =x− x0

h(

uk

)

=u(u− 1)(u− 2) . . . (u− k + 1)

k!

Rm+1 =h

(m+ 1)!u(u− 1) . . . (u−m)fm+1(η), x0 < η < xm

Integrando f e trocando a integral∫

com a somatoria∑

, temos:

∫ b

a

f(x)dx ∼= h

m∑

k=0

ak∆kf0 +Rm+1, onde

ak =

∫ β

α

(

uk

)

du; α =a− x0

he β =

b− x0

h

Rm+1 = hm+1

∫ β

α

(

um+ 1

)

f (m+1)(η(u))du

7.3.6 Exemplo 1

Tomemos como tarefa o calculo de∫ 1

0e−x2

dx, com n = 4 e n = 8 atravesda Regra dos Trapezios.

Caso i, n = 4: Nesta situacao os parametros e nos sao como segue:

h =b− a

4= 0.25

x1 = 0

x2 = 0.25

x3 = 0.5

x4 = 0.75

x5 = 1.0

Usando a expressao:

T (h) =h

2[f(x1) + 2f(x2) + 2f(x3) + . . .+ 2f(xn) + f(xn+1)]

7. Integracao Numerica 243

e substituindo os valores acima, obtemos:

T (h) = 0.125[1 + 2× 0.9394130632 + 2× 0.778800783

+2× 0.589788 + 0.367879441]

= 0.742984098

Caso ii, n = 8: Nesta situacao os parametros e nos sao como segue:

h = 0.125

x1 = 0

x2 = 0.125

x3 = 0.25

x4 = 0.375

x5 = 0.5

x6 = 0.625

x7 = 0.75

x8 = 0.875

x9 = 1.0

Usando a expressao:

T (h) =h

2[f(x1) + 2f(x2) + 2f(x3) + . . .+ 2f(xn) + f(xn+1)]

obtemos:

T (0.125) =0.125

2[f(x1) + 2f(x2) + 2f(x3) + . . .+ 2f(x8) + f(x9)]

= 0.745865615

Comparando os dois resultados, vimos que podemos confiar em doisdıgitos de cada resultado, entao:

∫ 1

0

e−x2 ∼= 0.74

7.3.7 Exemplo 2

Calcular f(x) sendo f a funcao tabelada a seguir, usando a regra deSimpson:

xj 1.9 2.0 2.1 2.2 2.3fj 3.41773 3.76220 4.14431 4.56791 5.03722

244 7. Integracao Numerica

Usando a regra de Simpson, temos:

∫ b

a

f(x)dx =h

3[f(x1) + 4f(x2) + 2f(x3) + 4f(x2) + . . .+ 4f(xn) + f(xn+1)]

h = 0.1

n = 4

Substituindo os valores acima, obtemos:

S(f) =0.1

3[3.41773 + 4× 3.76220 + 2× 4.14431 + 4× 4.56791 + 5.03722]

= 1.68880

7.3.8 Exemplo 3

Calcular∫ 2

1x ln xdx, usando a regra de Simpson, para n = 1 e n = 2.

Caso i, n = 1: Nesta situacao, os parametros sao conforme segue:

h =1

2

S(1) =h

3[f(1) + 4f(1.5) + f(2)]

=1

6[0 + 2.432790649 + 1.386294361]

= 0.636514163

Caso ii, n = 2: Nesta situacao, os parametros sao conforme segue:

h =1

4

S(0.25) =h

3[f(1) + 4f(1.25) + 2f(1.5) + 4f(1.75) + f(2)]

=0.25

3[0 + 1.115717756 + 1.216395324 + 3.917310515 + 1.386294361]

= 0.636309829

7.4 Estimativas de Erros

Para transformar a expressao abaixo numa igualdade:

∫ b

a

f(x)dx ∼=n+1∑

j=1

wjf(xj)

7. Integracao Numerica 245

consideraremos o erro que estamos cometendo. Embora o erro nao possaser calculado exatamente, em muitos casos ele pode ser estimado com boaprecisao. O processo de integracao numerica constitui um problema bem con-dicionado em princıpio. E claro que, ao aproximarmos f por um polinomiof ∗, estamos cometendo um erro mas se observarmos a Figura 7.6 veremosque a soma dos erros se anula a medida que n aumenta.

Adotaremos a notacao abaixo para erros:

• ETTS indicara o erro de truncamento da regra dos trapezios simples; e

• ETTC indicara o erro de truncamento da regra dos trapezios composta.

7.4.1 Erro de Truncamento na Regra dos TrapeziosSimples

Levando os erros em consideracao, a integral pode ser colocada na forma:

∫ b

a

f(x)dx =(b− a)

2[f(a) + f(b)] + ETTS

Teorema 7.1 Se f(x) e duas vezes diferenciavel em [a, b], entao o erro detruncamento ETTS e dado por:

ETTS = −h3

12f ′′(ξ), onde ξ ∈ [a, b]

Exemplo de Aplicacao

Calcular a integral I =∫ 2

1e−x

xdx pela regra dos trapezios simples.

I = T (1)

=1

2[f(1) + f(2)]

= 0.5(3.678794412× 10−1 + 6.76676416× 10−2)

= 0.5(4.355470828× 10−1)

= 2.1777735414× 10−1

O valor exato para 12 casas decimais e 2.170483423687x10−1 e, portanto, oerro absoluto e:

|2.1777735414× 10−1 − 2.170483423687× 10−1| = 4.729× 10−2

246 7. Integracao Numerica

Comparando o erro absoluto com o erro indicado pelo Teorema 7.1, precisa-mos inicialmente calcular as derivadas:

f ′(x) = −e−x

x2− e−x

x

= −(

1

x+

1

x2

)

e−x

f ′′(x) =e−x

x+

e−x

x2+ 2

e−x

x3+

e−x

x2

=

(

1

x+

2

x2+

2

x3

)

e−x

Fazendo ξ = 1, ξ ∈ [1, 2] temos que:

f ′′(ξ) = 5e−1 = 1.839

logo, o erro de truncamento previsto pelo teorema e |1312.f ′′(ξ)| = 0.15325.

Portanto, confirma-se que o erro absoluto e menor que o previsto.

7.4.2 Erro de Truncamento na Regra dos TrapeziosComposta

Teorema 7.2 Se f e duas vezes continuamente diferenciavel em [a, b], entaoo erro de truncamento da formula composta dos trapezios, para n subinter-valos, e dado por:

ETTC = −h2

12(b− a)f ′′(ξ), ξ ∈ [a, b]

Prova. Seja agora h = b−an

e n = b−ah. Para cada subintervalo [xi−1, xi],

i = 1, 2, . . . , n, temos:

∫ xi

xi−1

f(x)dx =h

2[f(xi) + f(xi−1)] + ETT i, onde

ETT i = −h3

12f ′′(ξi), ξi ∈ [xi−1, xi]

Uma vez que:

∫ b

a

f(x)dx =

∫ x2

x1

f(x)dx+

∫ x3

x2

f(x)dx+ . . .+

∫ xn

xn−1

f(x)dx

7. Integracao Numerica 247

e pela regra composta, temos que:

∫ b

a

f(x)dx =h

2[f(x0) + 2f(x1) + . . .+ 2f(xn−1) + f(xn)] +

n∑

i=1

ETT i

mas,

n∑

i=1

ETT i =n∑

i=1

−h3

12f ′′(ξi), ξi ∈ [xi−1, xi]

= −h3

12

n∑

i=1

f ′′(ξi)

= −(b− a)3

12n3

n∑

i=1

f ′′(ξi)

Como f ′′(x) e contınua, f ′′(x) assume todos os valores entre seus maximos emınimos em [a, b]. Portanto, existe algum ξ ∈ [a, b] tal que:

f ′′(ξ) =

n∑

i=1

f ′′(ξi)

n

Logo,

ETTC = −(b− a)3

12n3nf ′′(ξ)

= −(b− a)3

12n2f ′′(ξ)

= −h2

12(b− a)f ′′(ξ)

Exemplo de Aplicacao

Considerando o exemplo anterior, vamos calcular∫ 2

1e−x

xdx, com n =

2, 4, . . . , 256. Os resultados destes calculos, juntamente com o erro absolutoe os limites de erro calculados sao listados na tabela abaixo.

248 7. Integracao Numerica

Valor Erro Limite deh n calculado absoluto erros1 1 0.2177735413 4.729× 10−2 1.53× 10−1

5.0× 10−1 2 0.1832634907 1.280× 10−2 3.83× 10−2

2.5× 10−1 4 0.1737575538 3.270× 10−3 9.58× 10−3

1.25× 10−1 8 0.1715074075 8.240× 10−4 2.40× 10−3

6.25× 10−2 16 0.1706897700 2.060× 10−4 5.60× 10−4

...3.906× 10−3 256 0.1704847700 8.070× 10−7 2.34× 10−6

Podemos observar que cada vez que o numero de intervalos n e dobrado,o erro absoluto e reduzido por um fator de aproximadamente 4, o que estade acordo com o resultado do teorema.

7.4.3 Estimacao Numerica do Erro de Truncamento daRegra dos Trapezios

O que fazer quando f ′′(x) nao estiver disponıvel? Duas possibilidadessao:

i. Calcular f ′′(x) numericamente

ii. Calcular T (h) e T (h2) e comparar os resultados

No caso (i), a segunda derivada f ′′(x) e calculada numericamente pelaserie de Taylor se f e suficientemente diferenciavel:

f ′′(x) =f(x+ h)− 2f(x) + f(x− h)

h2+O(h2)

Logo, um limite de |f ′′(x)| pode ser calculado por:

max16j6n

f(xj+1)− 2f(xj) + f(xj−1)

h2

O limite acima pode ser util no caso da integracao para pontos tabeladosigualmente espacados de h.

No caso (ii), podemos utilizar o Teorema 7.2:

I − T (h) = −(b− a)

12h2f ′′(ξ1), ξ1 ∈ [a, b]

I − T (h

2) = −(b− a)

12

h2

4f ′′(ξ2), ξ2 ∈ [a, b]

7. Integracao Numerica 249

Assumindo que f ′′(ξ1) = f ′′(ξ2), temos que:

4[I − T (h

2)] ∼= I − T (h)

4I − 4T (h

2) ∼= I − T (h)

3I − 3T (h

2) ∼= T (

h

2)− T (h)

I − T (h

2) ∼=

T (h2)− T (h)

3

Chegamos a conclusao de que o erro de truncamento, ao calcularmos T (h2)

e, aproximadamente, a terca parte entre as duas aproximacoes T (h2) e T (h).

Este metodo e particularmente vantajoso, pois, ao calcularmos T (h2) podemos

reutilizar os valores de f usados para calcular T (h). Ou seja,

T (h) = h

[

f(a)

2+ f(a+ h) + f(a+ 2h) + . . .+ f(a+ (n− 1)h) +

f(b)

2

]

T (h

2) =

h

2

[

1

2f(a) + f(a+

h

2) + f(a+ h) + f(a+

3h

2) + f(a+ 2h)

+ . . .+ f(a+ (n− 1)h) + f(a+ (n− 1

2)h) +

f(b)

2

]

Portanto,

T (h

2) =

1

2T (h) +

h

2

n∑

j=1

f(a+ (j − 1

2)h)

logo o numero de avaliacoes e reduzido pela metade.

7.5 Quadratura Gaussiana

Os metodos de integracao numerica apresentados acima (a saber, regrados retangulos, dos trapezios e de Simpson) tomam como base uma regrasimples para escolha dos pontos de avaliacao da funcao f(x), onde xj+1 =xj + h. Esses metodos sao particularmente adequados para dados tabuladosde forma regular, tais como medidas de laboratorio e valores obtidos deprogramas de computador que produzem tabelas.

Se, por outro lado, tivermos a liberdade de escolher os pontos nos quais afuncao f(x) e avaliada, entao uma escolha cuidadosa pode levar a uma maiorprecisao da avaliacao da funcao. Este metodo, conhecido por Integracao

250 7. Integracao Numerica

Gaussiana ou Integracao de Gauss-Legendre, apresenta outras vantagens emvarias situacoes. Na avaliacao da integral:

∫ b

a

f(x)dx (7.2)

nao e necessario avaliar a funcao nos pontos extremos do intervalo, a e b. Estapropriedade e util quando se avalia integrais improprias, tais como aquelascom limites infinitos.

Para efeitos de simplificacao, fazemos uma mudanca de variavel com

x = a+b− a

2(t+ 1)

o que implica:

dx =b− a

2dt

Alem disso, para x = a temos t = −1 e para x = b temos t = 1. Por meioda mudanca de variavel e normalizacao do intervalo de integracao, podemosrepresentar (7.2) por:

(b− a)

2

∫ +1

−1

F (t)dt (7.3)

onde:

F (t) = f(a+b− a

2(t+ 1)) (7.4)

Logo, daqui em diante, vamos considerar apenas o problema normalizado:∫ +1

−1

F (t)dt (7.5)

A forma mais simples de integracao Guassiana se alicerca na escolhade um polinomio aproximador otimo do integrando F (t) sobre o intervalo[−1,+1]. Os detalhes da determinacao desse polinomio, ou seja, a deter-minacao dos coeficientes de t no polinomio, serao abordados mais a frente.Faremos uma aproximacao de (7.5) por valores da funcao e ponderacoes paravalores de t ∈ [−1,+1], conforme a expressao:

∫ +1

−1

F (t)dt =n∑

j=1

ωjF (tj) + E(G)n , n > 1 (7.6)

onde ωj e tj sao escolhidos de maneira que a regra seja exata para polinomiosde grau 2n − 1. Regras desta natureza sao ditas Gaussianas e os pontos tjnao sao necessariamente igualmente espacados. No que segue discutimos ocalculo das ponderacoes ωj e dos pontos de avaliacao tj.

7. Integracao Numerica 251

7.5.1 Regra de Gauss de Primeira Ordem

Nesta situacao, n = 1 e aproximaremos (7.5) de forma exata com umpolinomio de grau p = 2n− 1 = 1, o que leva a expressao:

∫ +1

−1

F (t)dt = ω1F (t1) + E(G)1 (7.7)

Vamos encontrar os valores para situacoes onde F (t) = tk para k ∈ 0, 1.Para k = 0:

∫ +1

−1

F (t)dt =

∫ +1

−1

1dt = [t]+1−1 = 2

O que leva a:ω1F (t1) = 2 ⇔ ω1t

01 ⇔ ω1 = 2

Para k = 1:∫ +1

−1

F (t)dt =

∫ +1

−1

tdt = [t2

2]+1−1 = 0

Daı segue que:

ω1F (t1) = 0 ⇔ ω1t11 = 0 ⇔ t1 = 0

Dos desenvolvimentos acima, concluımos que:

∫ +1

−1

F (t)dt = 2F (0) + E(G)1 (7.8)

7.5.2 Regra de Gauss de Segunda Ordem

Nesta situacao, n = 2 e aproximaremos (7.5) com a expressao:

∫ +1

−1

F (t)dt = ω1F (t1) + ω2F (t2) + E(G)2 (7.9)

Agora, ω1, ω2, t1 e t2 devem ser escolhidos de forma que (7.9) seja exata parapolinomios de grau ate p = 2n − 1 = 3. Vamos encontrar os valores parasituacoes onde F (t) = tk para k ∈ 0, 1, 2, 3.Para k = 0:

∫ +1

−1

F (t)dt =

∫ +1

−1

t0dt =

∫ +1

−1

dt = 2

= ω1F (t1) + ω2F (t2) = ω1t01 + ω2t

02 = ω1 + ω2(7.10)

252 7. Integracao Numerica

Para k = 1:

∫ +1

−1

F (t)dt =

∫ +1

−1

t1dt = [t2

2]+1−1 = 0

= ω1F (t1) + ω2F (t2) = ω1t11 + ω2t

12 = ω1t1 + ω2t2(7.11)

Para k = 2:

∫ +1

−1

F (t)dt =

∫ +1

−1

t2dt = [t3

3]+1−1 =

2

3= ω1t

21 + ω2t

22 (7.12)

Para k = 3:

∫ +1

−1

F (t)dt =

∫ +1

−1

t3dt = [t4

4]+1−1 = 0 = ω1t

31 + ω2t

32 (7.13)

A partir das equacoes (7.10)–(7.13) chegamos a um sitema de equacoes nao-lineares:

ω1 + ω2 = 2 (7.14)

ω1t1 + ω2t2 = 0 (7.15)

ω1t21 + ω2t

22 =

2

3(7.16)

ω1t31 + ω2t

32 = 0 (7.17)

Podemos resolver (7.14)–(7.17) fazendo, primeiramente, ω1 = ω2 = 1, o queresolve (7.14). Daı, obtemos a partir de (7.15) que t1 = −t2. Substiuindoestes resultados em (7.16), deduzimos que t21 + t22 = 2t22 = 2/3⇒ t2 = 1/

√3

e, por sua vez, descobrimos que t1 = −1/√3. Observe ainda que os valores

obtidos para os parametros satisfazem a equacao (7.17). Com base nestesdesenvolvimentos, concluımos que:

∫ +1

−1

F (t)dt = ω1F (t1) + ω2F (t2) + E(G)2

= F (− 1√3) + F (+

1√3) + E

(G)2 (7.18)

7.5.3 Exemplo de Aplicacao

Como exemplo, vamos calcular of valor da integral definida∫ 6

2x3

3dx por

meio da quadratura Gaussiana de segunda ordem.

7. Integracao Numerica 253

Etapa 1: A primeira etapa corresponde a mudanca de variavel. Com a = 2,b = 6 e f(x) = x3/3, obtemos:

x = a+(b− a)

2(t+ 1)

= 2 +(6− 2)

2(t+ 1)

= 4 + 2t

⇒ dx = 2dt

F (t) = f(a+b− a

2(t+ 1))

= f(4 + 2t)

Chegamos assim a equivalencia:

∫ 6

2

x3

3dx =

∫ b

a

f(x)dx =b− a

2

∫ +1

−1

F (t)dt = 2

∫ +1

−1

(2t+ 4)3

3dt

Etapa 2: Com n = 2, temos∫ +1

−1F (t)dt ≈ F (− 1√

3) + F (+ 1√

3). Calculando

estes valores, obtemos:

F (− 1√3) =

(−2/√3 + 4)3

3= 7.678358

F (+1√3) =

(2/√3 + 4)3

3= 45.655075

Entao, calculamos que:

∫ 6

2

x3

3dx = 2

∫ +1

−1

(2t+ 4)3

3dt = 2× (7.678358 + 45.655075)

= 2× 53.333333

= 106.666666

Analiticamente,

∫ 6

2

x3

3dx =

[

x4

4× 3

]6

2

=64 − 24

12= 106.666666

verificando o erro nulo para o caso de um polinomio de grau 3.

254 7. Integracao Numerica

Tabela 7.1: Ponderacoes e pontos de amostragem para quadratura Gaussianan ωj tj1 ω1 = 2 t1 = 0

2 ω1 = ω2 = 1 t1 = −1/√3 e t2 = 1/

√3

3 ω1 = ω2 = 5/9 t1 = −√0.6 e t2 =

√0.6

ω3 = 8/9 t3 = 04 ω1 = ω4 = 0.3478548451 t1 = −0.8611363116 e t4 = −t1

ω2 = ω3 = 0.6521451549 t2 = −0.3399810436 e t3 = −t2

7.5.4 Quadratura de Ordem Superior

Atraves de desenvolvimento semelhante ao apresentado acima, e possıvelencontrar as ponderacoes ωj e os pontos de avaliacao tj para a integracaoGaussiana de ordem 3, 4, e maior. Abaixo apresentamos na Tabela 7.5.4 osvalores ja calculados destes parametros para quadratura de ordem ate 4.

Com relacao aos erros cometidos pela regra da quadratura Gaussiana, es-timativas dos erros podem ser estabelecidas conforme a ordem da quadratura.Para n = 2,

E(G)2 =

1

135F (iv)(β), para β ∈ [−1,+1]

Portanto,

|E(G)2 | 6

1

135max|F (iv)(β)| : β ∈ [−1,+1]

Para o caso de f(x) corresponder a um polinomio de grau igual ou inferior a3, o erro produzido pela quadratura e nulo.

7.6 Referencias

O conteudo deste capıtulo foi inspirado nos textos de Claudio e Marins[1] e de Dyer e Ip [3].

7.7 Exercıcios

Exercıcio 7.1 Calcule∫ 2

1exdx usando i) a regra dos retangulos simples e ii)

a regra dos trapezios simples.

Exercıcio 7.2 Considere a Tabela 7.2 com pontos de uma funcao desconhe-cida f(x), mas contınua. Tarefas:

7. Integracao Numerica 255

a) Calcule∫ 4

0f(x)dx usando a Regra de Simpson

b) Calcule∫ 4

0f(x)dx usando a Regra dos Trapezios

c) Calcule∫ 4

0f(x)dx usando a Regra dos Retangulos com altura dada pela

media dos valores da funcao nos extremos de cada subintervalo.

Tabela 7.2: Pontos da funcao f(x)

x 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0f(x) -4271 -2522 499 1795 4358 7187 10279 13633 17217

Exercıcio 7.3 Seja f(x) uma funcao duas vezes diferenciavel no intervalo[a, b]. Entao o erro de truncamento produzido pela regra dos trapezios sim-

ples, ETTS, obtido ao se calcular∫ b

af(x)dx e dado por

ETTS = −h3

12f ′′(ξ), onde ξ ∈ [a, b].

Calcule o erro maximo de ETTS gerado ao aplicarmos a regra dos trapeziospara calcular

∫ 2

1e−x

x2 dx.

Exercıcio 7.4 Calcule o erro maximo de ETTS gerado ao aplicarmos a regrados trapezios simples para calcular

∫ π

π/2[2x4−3x3+2x2−x+1−sin(x−π/2)]dx.

Exercıcio 7.5 Desejamos calcular∫ 4

−4f(x)dx da forma mais precisa

possıvel. Nao conhecemos a funcao f(x), mas sabemos os valores de f emalguns pontos, conforme Tabela 7.3. Sabendo que f(x) e um polinomio degrau 6, como que voce calcularia a integral? Basta explicar com clareza comoque voce resolveria o problema. Nao e necessario calcular o valor da integral.

Tabela 7.3: Pontos da funcao f(x)

x -3 -2 -1 0 1 2 3f(x) 1339 171 7 1 3 79 751

Exercıcio 7.6 Calcule aproximacoes para as integrais I1 e I2 por meio dosmetodos:

256 7. Integracao Numerica

i. regra dos retangulos simples (extremo a esquerda);

ii. regra dos retangulos composta (extremo a esquerda), com n = 10;

iii. regra dos trapezios simples;

iv. regra dos trapezios composta, com n = 10;

v. regra de Simpson simples;

vi. regra de Simpson composta, com n = 10;

vii. quadratura Gaussiana de 2a ordem; e

viii. quadratura Gaussiana de 3a ordem.

I1 =

∫ 3

0

(3x3 + 2x2 + 2x− 2)dx

I2 =

∫ 5

0

e−x2

x+ 1dx

Outras tarefas:

i. calcule o valor analıtico de I1;

ii. calcule o erro absoluto das aproximacoes calculadas acima para I1, itens(a)-(h) acima;

iii. calcule o erro maximo cometido com a regra dos trapezios simples combase nos resultados teoricos, assumindo que nao se conhece o valorexato de I1; e

iv. calcule o erro maximo cometido com a regra dos trapezios compostacom base nos resultados teoricos, assumindo que nao se conhece o valorexato de I1.

7. Integracao Numerica 257

(a) (b)

(c) (d)

xx

xx

y

yy

y

f(x)

f(x)

f(x)f(x)

aa

aa

bb

bb

Integral propriaIntegral propria

Integral impropriaIntegral impropria- Intervalo de integracao limitado

- Bem comportada- Integrando suave, polinomial

- Mal comportada

- Integrando pode ser limitado- Integrando nao limitado ou ilimitado

- Integrando nao suave, comvariacoes bruscas

Figura 7.1: Comportamento de integrais

258 7. Integracao Numerica

x1x1x1 x2x2x2 x3x3x3 x4x4x4

(a) (b) (c)

Figura 7.2: Regras dos retangulos

A

f(x)f ∗(x)

a b

Figura 7.3: Regra simples do trapezio

x1 = a x2 x3 x4 x5 x6 = b

Figura 7.4: Regra composta do trapezio

7. Integracao Numerica 259

a bym

f(x)

f ∗(x)

Figura 7.5: Regra de Simpsom

a b

f(x)

f ∗(x)

x

y

Figura 7.6: Cancelamento de erros

260 7. Integracao Numerica

Capıtulo 8

Resolucao Numerica deEquacoes DiferenciaisOrdinarias

Fenomenos fısicos frequentemente envolvem relacoes entre uma variavelindependente x e uma variavel dependente y, que nao sao faceis ou mesmopossıveis de serem descritas como uma funcao da variavel independente: y =f(x). Por outro lado, podemos muitas vezes estabelecer a relacao entre y ex atraves de seus valores e as derivadas da funcao desconhecida dy/dx. Emcircuitos eletricos, por exemplo, desejamos encontrar a voltagem como umafuncao do tempo, v(t), que pode ser escrita como uma relacao das derivadasde v no tempo e as propriedades do circuito. Uma relacao expressa comouma funcao da variavel independente x, da variavel dependente y e suasderivadas y′(x), y′′(x), . . . e dita equacao diferencial. Uma relacao que envolvederivadas ate ordem n e dita equacao diferencial ordinaria (EDO), podendoser colocada na forma matematica:

f(x, y(x), y′(x), . . . , y(n)(x)) = 0

Neste capıtulo faremos uma breve introducao a modelagem de fenomenosfısicos atraves de equacoes diferenciais, desenvolveremos ainda metodos paraencontrar solucoes numericas para equacoes e sistemas de equacoes diferen-ciais ordinarias. No caso da variavel independente ser o tempo t, o sistemade equacoes diferenciais ordinarias toma a forma:

x1 = f1(x1, . . . , xn)

x2 = f2(x1, . . . , xn)...

...

xn = fn(x1, . . . , xn)

262 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Mais especificamente, estaremos interessados no problema de encontrar atrajetoria x(t), t ∈ [0, T ], a partir de um estado inicial x(0) ∈ R

n ondex(t) = (x1(t), . . . , xn(t)).

8.1 Modelagem com Equacoes Diferenciais

Objetivando ilustrar a modelagem com equacoes diferencias, desenvolve-remos a seguir modelos de sistemas dinamicos.

8.1.1 Circuito RC

O circuito RC e composto de uma fonte de tensao, vi(t), em serie com umresistor R e um capacitor C, conforme ilustracao da Figura 8.1. Da Fısica,sabemos que a corrente no capacitor e proporcional a taxa de variacao datensao atraves do capacitor, matematicamente:

i(t) = Cdvc(t)

dt, (8.1)

sendo a capacitancia C a constante de proporcionalidade. Pela lei de Kirchoff,a soma das quedas dos potenciais ao longo da malha deve ser nulo, o queleva a expressao:

vi(t)−Ri(t)− vc(t) = 0 (8.2)

Substituindo i(t) em (8.2) pela relacao (8.1), surge uma equacao diferencialde primeira ordem:

vi(t)−RCdvc(t)

dt− vc(t) = 0 =⇒ dvc(t)

dt= − 1

RCvc(t) +

1

RCvi(t) (8.3)

Considere o caso simples onde vi(t) = 0 para todo t e vc(0) = voc , corres-pondendo a situacao de descarga do capacitor. Entao, a solucao analıtica de(8.3) pode ser obtida:

dvc(t)

dt= − 1

RCvc(t) ⇔

dvc(t)

vc(t)= − dt

RC

⇔∫ T

t=0

dvc(t)

vc(t)=

∫ T

t=0

− dt

RC

⇔ ln vc(t) = −t

RC+ k (8.4)

onde k e uma constante. Portanto, a partir de (8.4), deduzimos que a tensaono capacitor decresce exponencialmente na taxa inversa de RC:

vc(t) = e−t

RC+k = eke−

tRC = voce

− tRC (8.5)

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 263

+

+

+

−−

vi(t)

R

C vc(t)i(t)

Figura 8.1: Circuito RC

Para um circuito RC onde R = 2 Ω, C = 0.1 F e vc(0) = 2 V , a curva detensao no capacitor em funcao do tempo pode ser observada na Figura 8.2.Esta curva caracteriza a descarga da energia do capacitor que, por sua vez,e dissipada pelo resistor.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Tempo (s)

Vc

(V)

Figura 8.2: Curva de descarga do capacitor em um circuito RC

8.1.2 Circuito RLC

O circuito RLC consiste de uma fonte de tensao vi(t) em serie com umresistor R, um indutor L e um capacitor C, de acordo com o diagrama daFigura 8.3. A lei de Kirchoff nos diz que a soma das quedas dos potenciaisao longo da malha deve ser nulo, portanto:

vi(t)−Ri(t)− Ldi(t)

dt− vc(t) = 0 (8.6)

Lembramos que a queda de tensao no indutor e proporcional a taxa de va-riacao da corrente, sendo L a constante de proporcionalidade. Uma vez que a

264 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

corrente atraves do capacitor e proporcional a taxa de variacao da queda detensao no capacitor, obtemos juntamente com (8.6), o sistema de equacoesdiferenciais de 1a ordem:

vi(t) = Ri(t) + Ldi(t)

dt+ vc(t) (8.7)

i(t) = Cdvc(t)

dt(8.8)

que, por sua vez, pode ser colocado na forma matricial:

[

di(t)/dtdvc(t)/dt

]

=

[

−R/L −1/L1/C 0

] [

i(t)vc(t)

]

+

[

1/L0

]

vi(t) (8.9)

Alternativamente, o sistema de primeira ordem (8.9) pode ser colocado comouma equacao diferencial de segunda ordem, bastando para isto substituir(8.8) em (8.7):

vi(t) = LCd2vc(t)

dt2+RC

dvc(t)

dt+ vc(t) (8.10)

Aqui ilustramos como se transforma uma EDO de ordem n em um sistemaEDO de primeira ordem com n equacoes. Definindo x como variavel deestado:

x(t) =

[

x1(t)x2(t)

]

=

[

vc(t)dvc(t)/dt

]

e estabelecendo u(t) como a entrada e y(t) como a saıda, teremos:

u(t) = vi(t), y(t) = vc(t)

Note que a entrada e a tensao vi(t), enquanto a saıda (o que e observado) ea queda de tensao no capacitor. Agora podemos expressar a EDO (8.10) de2a ordem em um sistema EDO de 1a ordem:

[

x1(t)x2(t)

]

=

[

0 1−1/LC −R/L

] [

x1(t)x2(t)

]

+

[

01/LC

]

u(t) (8.11)

y(t) =[

1 0]

[

x1(t)x2(t)

]

(8.12)

As equacoes diferenciais do circuito RLC, conforme (8.11)–(8.12), fazemparte dos sistemas de equacoes diferenciais lineares:

x = Ax+ Bu (8.13)

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 265

++

+

+−

vi(t)

R L

C vc(t)i(t)

Figura 8.3: Circuito RLC

para A ∈ Rn×n, x ∈ R

n, B ∈ Rn×m e u ∈ R

m. Supondo que u e uma funcaode x como, por exemplo, u = −Kx onde K e a matriz de ganhos, podemosassumir que (8.13) e da forma:

x = Ax (8.14)

Uma solucao analıtica para (8.14) pode ser obtida. Quando este sistemase reduz a uma equacao, x = ax, a solucao e trivial, assumindo a formax(t) = eat. O caso geral nao e muito diferente do caso particular, para tanto,definimos a funcao exponencial de matriz como:

eAt = I + At+1

2!A2t2 +

1

3!A3t3 + . . . =

∞∑

k=0

(At)k

k!(8.15)

Entao, x(t) = eAtx0 e a solucao de (8.14) com x(0) = x0. Basta verificar que:

d

dt

[

eAt]

x0 =d

dt

[

I + At+1

2!A2t2 +

1

3!A3t3 + . . .

]

x0

=

[

0 + A+ A2t+1

2!A3t2 +

1

3!A4t3 + . . .

]

x0

= A

[

I + At+1

2!A2t2 +

1

3!A3t3 + . . .

]

x0

= AeAtx0 (8.16)

Uma propriedade fundamental de sistemas dinamicos sob a acao de con-troladores e a estabilidade, que pode ser entendida como a convergencia doestado x(t) para um ponto de equilıbrio x∗. De maneira simplificada, dizemosque o sistema (8.14) e estavel se:

limt→∞

x(t) = x∗

266 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Sob quais condicoes o sistema caracterizado pela equacao x = ax e estavel?E facil de verificar que a estabilidade e garantida a partir de qualquer pontoinicial x0 = x(0) quando a < 0, o que equivale a dizer que lim

t→∞eatx0 = 0.

O que podemos dizer sobre a convergencia de um sistema multivariavelcaracterizado pelo sistema EDO x = Ax? Convergencia pode ser garantidaquando eAt, em outras palavras, quando a serie I+At+A2t2/2!+A3t3/3!+. . .e convergente, o que ocorre quando todos os autovalores de A tem parte realnegativa.

A Figura 8.4 ilustra a resposta do circuito RLC para uma entrada nula,u(t) = 0, com R = 2 Ω, C = 0.1 F , L = 0.4 H, vc(0) = 2 V e vc(0) = 10 V/s.Sao dadas as curvas vc(t) e vc(t) para t ∈ [0, 4] s. Observe que o circuitoRLC e convergente para a origem a partir do ponto inicial dado. Na verdade,o circuito e estavel como pode ser verificado calculando os autovalores de A,a saber −2∓ 4j, os quais tem parte real negativa garantindo convergencia apartir de qualquer estado inicial.

0 0.5 1 1.5 2 2.5 3 3.5 4−1

0

1

2

3

Tempo (s)

Vc

(V)

0 0.5 1 1.5 2 2.5 3 3.5 4−10

−5

0

5

10

Tempo (s)

dVc/

dt (

V/s

)

Figura 8.4: Resposta do circuito RLC a entrada u(t) = 0.

8.1.3 Supensao de Automovel (Simplificada)

A suspensao de uma roda de veıculo automator pode ser representada,de forma simplificada, pela massa M (Kg) suportada pela roda, um con-junto de molas representado pela mola ideal com constante K (N/m) e umamortecedor representado pelo sistema de absorcao B (Ns/m). A Figura 8.5apresenta os diversos componentes do sistema de suspensao. Conforme eixoscoordenados, o sistema esta em repouso na posicao y = 0 e velocidade y = 0.

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 267

O sistema de suspensao e submetido a uma forca externa f(t) dependente doterreno e da carga do veıculo. As forcas e respectivas direcoes de referenciaestao indicadas na figura. De acordo com a lei de Newton, a soma das forcas

que atuam no sistema deve igualar a massa vezes a aceleracao,n∑

i=1

Fi = Ma,

ou seja, f − FM − FK − FB = Md2y(t)/dt2. Formalmente:

f(t)−Mg −Ky(t)−Bdy(t)

dt= M

d2y(t)

dt2(8.17)

d2y(t)

dt2+

B

M

dy(t)

dt+

K

My(t) = −g + 1

Mf(t) (8.18)

Da mesma forma que no circuito RLC, vamos definir o estado do sistemacomo x(t), sendo este dado por:

[

x1(t)x2(t)

]

=

[

y(t)dy(t)/dt

]

(8.19)

Procedendo a mudanca de variavel, substituımos x(t) no lugar de y(t) edy(t)/dt em (8.17)–(8.18), obtendo:

[

x1(t)x2(t)

]

=

[

y(t)dy(t)/dt

]

⇔[

x1(t)x2(t)

]

=

[

y(t)y(t)

]

(8.20)

que nos leva a:

[

x1(t)x2(t)

]

=

[

x2(t)

− BM

dy(t)dt− K

My(t)− g + 1

Mf(t)

]

=

[

x2(t)− B

Mx2(t)− K

Mx1(t)− g + 1

Mf(t)

]

(8.21)

Separando as influencias do estado e externas, o sistema (8.21) assume aforma:

[

x1

x2

]

=

[

0 1−K/M −B/M

] [

x1

x2

]

+

[

01/M

]

u+

[

0−1

]

g(8.22)

y =[

1 0]

[

x1

x2

]

(8.23)

onde u = f(t) e a entrada (forca externa), x(t) e o estado e y = x1(t) e asaıda (posicao).

268 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

x

yf

FBFK

FM

B K

M

Figura 8.5: Suspensao de automovel simplificada

8.1.4 Sistema de Massas Acopladas

O sistema de duas massas acopladas pode ser visto na Figura 8.6. As-sumimos que a forca exercida pela “mola” e nula quando os blocos estaoseparados de uma distancia ∆y, FK = 0, enquanto a forca exercida pelo“amortecedor” e nula se a variacao de velocidade da massa M1 em relacao aM2 e nula, FB = 0. Aplicando a 2a lei de Newton, a soma das forcas aplicadasem cada massa iguala a massa vezes a aceleracao, em notacao matematica,isto equivale a dizer que:

M1y1(t) = FK + FB

= K [y2(t)− y1(t)−∆y] + B [y2(t)− y1(t)] (8.24)

M2y2(t) = f(t)− FK − FB

= f(t)−K [y2(t)− y1(t)−∆y]−B [y2(t)− y1(t)] (8.25)

Deixando o vetor x(t) definir as variaveis de estado como:

x1(t)x2(t)x3(t)x4(t)

=

y1(t)y1(t)y2(t)y2(t)

podemos representar o sistema EDO de segunda ordem (8.24)–(8.25) comoum sistema EDO de primeira ordem, x = Ax + Bu, com variavel de estado

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 269

dada pelo vetor x, como segue:

x1(t)x2(t)x3(t)x4(t)

=

0 1 0 0− K

M1− B

M1

KM1

BM1

0 0 0 1KM2

BM2

− KM2− B

M2

x1(t)x2(t)x3(t)x4(t)

+

0

−K∆y

M1

0K∆y

M2

+

0001

M2

u

(8.26)com u(t) = f(t).

y1

y2

M1 M2 f(t)

K

B

FK

FB

Figura 8.6: Sistema de duas massas acopladas

8.1.5 Motor de Corrente Contınua

Um modelo simplificado do motor de corrente contınua controlado pelaarmadura aparece na Figura 8.7. Neste esquema, va(t) e a tensao aplicadaa armadura, que esta em serie com o resistor Ra, o indutor La da armadurae a tensao vb(t) induzida pela corrente ia(t). A corrente da armadura geraum torque T (t) = kmia(t) proporcional a magnitude da corrente. O torquegerado movimenta a carga e o movimento rotacional produz a tensao vb(t)(forca eletromotriz). O sistema ilustra a conversao de energia eletrica emenergia mecanica. Sendo J o coeficiente de inercia da carga e D o coeficienteviscoso da mesma, temos pela 2a lei de Newton que:

T (t) = kmia(t)

= Jd2Θ(t)

dt2+D

dΘ(t)

dt(8.27)

vb(t) = kbw(t)

= kbdΘ(t)

dt(8.28)

270 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

onde w(t) e a velocidade angular. Equacionando o circuito da armadura,obtemos:

va(t) = Raia(t) + Ladia(t)

dt+ vb(t)

= Raia(t) + Ladia(t)

dt+ kb

dΘ(t)

dt(8.29)

Agora, escolhendo x(t) =[

ia(t) Θ(t) dΘ(t)/dt]T

e u(t) = va(t), podemoscolocar as equacoes (8.27)–(8.29) na forma:

x1(t)x2(t)x3(t)

=

−Ra/La 0 −kb/La

0 0 1km/J 0 −D/J

x1(t)x2(t)x3(t)

+

1/La

00

u(t) (8.30)

Note que (8.29) e um sistema de equacoes diferenciais ordinarias de primeiraordem.

va

Ra La

vb

+

+

−−

T Θ

J,D

ia

Figura 8.7: Motor de corrente contınua (CC) controlado pela armadura

8.1.6 Satelite em Orbita

Aqui consideramos a dinamica de um satelite em orbita em torno daTerra, como mostra a Figura 8.8. Adota-se o sistema de coordenadas polares,onde r(t) e a distancia entre o satelite e a Terra e α(t) e o angulo em relacaoa referencia. Tanto o angulo quanto a distancia variam no tempo, portantoo movimento do satelite e caracterizado por r(t), r(t), α(t) e α(t). O sateliteesta equipado com um sistema de propulsao que produz uma impulsao nadirecao tangencial a sua trajetoria, Ft(t), e uma impulsao ortogonal a tra-jetoria, Fr(t). Conforme diagrama da figura, a velocidade tangencial vt(t)

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 271

esta relacionada a velocidade angular pela equacao:

vt(t) = r(t)α(t)

Ja a velocidade radial e precisamente a taxa de variacao radial:

vr(t) = r(t)

A energia cinetica total do sistema, k(t), instantanea e dada por:

k(t) =1

2[vt(t)

2 + vr(t)2]

=1

2[r(t)2α(t)2 + r(t)2] (8.31)

Conforme o operador Lagrange, temos que:

d

dt

[

∂k(t)

∂r(t)

]

−[

∂k(t)

∂r(t)

]

= Fr(t)−cM

r(t)2(8.32)

d

dt

[

∂k(t)

∂α(t)

]

−[

∂k(t)

∂α(t)

]

= Ft(t) (8.33)

onde c e a constante gravitacional. Desenvolvendo (8.32), concluımos que:

Mr(t)−Mr(t)α(t)2 = Fr(t)−cM

r(t)2

ou, alternativamente,

r(t) = r(t)α(t)2 − c

r(t)2+ Fr(t) (8.34)

Similarmente, desenvolvendo (8.33), concluımos que:

2Mr(t)r(t)α(t) +Mr(t)2α(t) = Ft(t)

ou

α(t) = −2r(t)α(t)

r(t)+

Ft(t)

Mr(t)2(8.35)

Em sıntese, a dinamica do satelite em orbita e caracterizada pelas equacoesordinarias de segunda ordem (8.34)–(8.35):

r(t) = r(t)α(t)2 − c

r(t)2+ Fr(t) (8.36)

α(t) = −2r(t)α(t)

r(t)+

Ft(t)

Mr(t)2(8.37)

272 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

M

vr

vt

α

r

Figura 8.8: Satelite em orbita

8.1.7 Pendulo Invertido

Aqui, ilustramos a concepcao do sistema dinamico que caracteriza o mo-vimento de um veıculo com pendulo invertido acoplado, conforme mostra aFigura 8.9. Serao obtidas as equacoes diferenciais que regem o movimentodo veıculo e do pendulo em resposta a forcas externas e a acao da gravidade.

mg

Fy

Fz

uM

θ

θ

θ

m

l

z

y

Figura 8.9: Veıculo com pendulo invertido

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 273

Sistema Dinamico

Para tornar o desenvolvimento mais simples, assumimos que o carro e opendulo se movem no mesmo plano, e que podemos desprezar a friccao, amassa da haste e a forca do vento. O problema classico de controle consisteem encontrar uma lei de controle que mantenha o pendulo na posicao vertical,o qual se encontra deslocado da posicao podendo estar se deslocando parabaixo. Faz-se entao uso da forca horizontal para trazer o pendulo de voltaa posicao vertical. A forca horizontal e denotada por u(t), a posicao dohorizontal do veıculo e dada por y(t) enquanto que a posicao horizontal damassa do pendulo e denotada por yp(t), e o angulo da haste do pendulo emrelacao ao eixo vertical e denotado por θ(t). Assumimos que no sistema decoordenadas (y, z) a origem de z e a posicao onde a haste esta acoplada aocarro, ou seja, z = 0 na origem do angulo θ.

De acordo com as leis de Newton, as forcas aplicadas segundo o eixo ho-rizontal devem estar em equilıbrio, ou seja, a massa do carro multiplicadapela aceleracao acrescida da massa do pendulo multiplicada por sua ace-leracao deve igualar a forca externa. Matematicamente, este princıpio leva aequacao:

Md2

dt2y +m

d2

dt2yp = u (8.38)

A posicao da massa do pendulo pode ser expressa como uma funcao de y edo angulo θ:

yp = y + l sin θzp = l cos θ

(8.39)

onde l e o comprimento da haste do pendulo. E substituindo (8.40) em (8.38)obtemos:

Md2

dt2y +m

d2

dt2(y + l sin θ) = u (8.40)

Observando que:

d

dtsin θ = (cos θ)θ (8.41)

d2

dt2sin θ = −(sin θ)θ2 + (cos θ)θ (8.42)

d

dtcos θ = −(sin θ)θ (8.43)

d2

dt2cos θ = −(cos θ)θ2 − (sin θ)θ (8.44)

podemos colocar (8.40) na forma:

(M +m)y −ml(sin θ)θ2 +ml(cos θ)θ = u (8.45)

274 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Aplicando agora as leis de Newton ao movimento rotacional, verificamos queos torques aplicados a massa do pendulo devem estar em equilıbrio, ou seja,o torque resultante da aceleracao angular deve igualar ao torque resultanteda acao da gravidade. Isto leva a equacao

(Fy cos θ)l − (Fz sin θ)l = (mg sin θ)l (8.46)

As forcas Fy e Fz sao as componentes das forcas que atuam na massa dopendulo, podendo ser obtidas a partir das equacoes (8.39) e (8.41)–(8.44),resultando nas equacoes:

Fy = md2

dt2yp

= md2

dt2(y + l sin θ)

= m(

y − l sin θθ2 + l cos θθ)

(8.47)

Fz = md2

dt2zp

= −m(

l cos θθ2 + l sin θθ)

(8.48)

Substituindo (8.47) e (8.48) em (8.46) e observando que l se cancela, obtemosa equacao:

mg sin θ = m(

y − l sin θθ2 + l cos θθ)

cos θ +m(

l cos θθ2 + l sin θθ)

sin θ

= my cos θ −ml sin θ cos θθ2 +ml cos θ cos θθ

+ml cos θ sin θθ2 +ml sin θ sin θθ

= my cos θ +mlθ (8.49)

Portanto, as equacoes que descrevem o sistema sao (8.45) e (8.49), que jus-tapostas levam ao sistema:

(M +m)y −ml(sin θ)θ2 +ml(cos θ)θ = u

my cos θ +mlθ = mg sin θ(8.50)

O sistema de equacoes diferenciais (8.50) e relativamente complexo em vir-tude de sua natureza nao-linear.

Modelo Matricial

No que segue, modificamos o sistema (8.50) de maneira a deixar asvariaveis y e θ em funcao das demais. O sistema (8.50) e equivalente a:

(M +m)y +ml(cos θ)θ = u+ml(sin θ)θ2

my cos θ +mlθ = mg sin θ

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 275

que pode ser colocado em forma matricial:

[

(M +m) ml cos θm cos θ ml

] [

y

θ

]

=

[

u+ml sin θθ2

mg sin θ

]

(8.51)

E multiplicando pela matriz inversa ambos os lados da igualdade (8.51) ob-temos:

[

y

θ

]

=1

(M +m)ml −m2l cos2 θ

[

ml −ml cos θ−m cos θ (M +m)

] [

u+ml sin θθ2

mg sin θ

]

(8.52)

=1

(M +m)l −ml cos2 θ

[

lu+ml2 sin θθ2 −mlg sin θ cos θ

− cos θu−ml sin θ cos θθ2 + (M +m)g sin θ

]

Sistema de Equacoes de 1a Ordem

Podemos expressar (8.52) em um sistema envolvendo apenas derivadasde variaveis por meio de uma mudanca de variaveis, fazendo:

x1

x2

x3

x4

=

yyθ

θ

x1

x2

x3

x4

=

yy

θ

θ

(8.53)

o que nos leva a concluir que:

x1 = x2

x2 =u+ml sin x3x4

2 −mg sin x3 cos x3

(M +m)−m cos2 x3

x3 = x4

x4 =− cos x3u−ml sin x3 cos x3x4

2 + (M +m)g sin x3

(M +m)l −ml cos2 x3

(8.54)

Concluımos que o sistema pode ser modelado pelas equacoes (8.50) ou, equi-valentemente, pelas equacoes (8.54) por meio da mudanca de variaveis defi-nida por (8.53). De forma mais compacta, (8.54) pode ser colocado em formavetorial fazendo x = (x1, x2, x3, x4) e F (x, u) corresponder ao lado direito dosistema (8.54), o que leva a:

x = F (x, u) (8.55)

276 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Linearizacao

Podemos, alternativamente, considerar uma linearizacao do sistema (8.50)em torno do ponto de equilıbrio θ = 0 e θ = 0, colocando o pendulo na posicaovertical, o que sera objeto de analise mais a frente.

Tomando como ponto de equilıbrio a posicao (y, y, θ, θ) = 0 e forca u = 0e assumindo pequenas perturbacoes no ponto de equilıbrio1, podemos sim-plificar o modelo x = F (x, u) por meio de uma aproximacao linear fazendouso da serie de Taylor:

x = F (0, 0) +∇xF (0, 0)x+∇uF (0, 0)u

= ∇xF (0, 0)x+∇uF (0, 0)u (8.56)

Fazendo F (x, u) = [f1, f2, f3, f4]T , com f1 = x2, f2 = (u + ml sin x3x4

2 −mg sin x3 cos x3)/[(M + m) − m cos2 x3], f3 = x4 e f4 = (− cos x3u −ml sin x3 cosx3x4

2+(M +m)g sin x3)/[(M +m)l−ml cos2 x3], podemos pro-ceder a linearizacao, conforme segue. Para f1, obtemos:

∂x1

f1 = 0,∂

∂x2

f1 = 1,∂

∂x3

f1 = 0,∂

∂x4

f1 = 0,∂

∂uf1 = 0

Para f2, obtemos:∂

∂x1

f2 = 0,∂

∂x2

f2 = 0

∂x3

f2 =ml cos x3x4

2 −mg cos2 x3 +mg sin2 x3

(M +m)−m cos2 x3

−(u+ml sin x3x42 −mg sin x3 cos x3)(2m cos x3 sin x3)

[(M +m)−m cos2 x3]2

∂x3

f2(0) = −mg

M∂

∂x4

f2 =2ml sin x3x4

(M +m)−m cos2 x3

⇒ ∂

∂x4

f2(0) = 0

∂uf2 =

1

(M +m)−m cos2 x3

⇒ ∂

∂uf2(0) =

1

M

Para f3, obtemos:

∂x1

f3 = 0,∂

∂x2

f3 = 0,∂

∂x3

f3 = 0,∂

∂x4

f3 = 1,∂

∂uf3 = 0,

1Note que F (0, 0) = 0 o que implica x = 0

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 277

Para f4, obtemos:∂

∂x1

f4 = 0,∂

∂x2

f4 = 0

∂x3

f4 =sin x3u−ml cos2 x3x

24 +ml sin2 x3x

24 + (M +m)g cos x3

(M +m)l −ml cos2 x3

− [2ml cos x3 sin x3][− cos x3u−ml sin x3 cos x3x42 + (M +m)g sin x3]

[(M +m)l −ml cos2 x3]2

∂x3

f4(0) =(M +m)g

Ml∂

∂x4

f4 =−2ml sin x3 cos x3x4

(M +m)l −ml cos2 x3

⇒ ∂

∂x4

f4(0) = 0

∂uf4 =

− cos x3

(M +m)l −ml cos2 x3

⇒ ∂

∂uf4(0) = −

1

Ml

A partir das derivadas ∂fi(0)/∂xj, geramos a aproximacao linear:

x1

x2

x3

x4

=

0 1 0 00 0 −mg

M0

0 0 0 1

0 0 − (M+m)gMl

0

x1

x2

x3

x4

+

01M

0− 1

Ml

u (8.57)

Problemas como o descrito acima tem as relacoes entre as variaveis des-critas em termos de equacoes diferenciais, ou seja, equacoes que envolvem umfuncao desconhecida e algumas de suas derivadas. Uma equacao que envolvederivadas ate ordem n e chamada de equacao diferencial ordinaria (ODE).

8.2 Exemplos de Equacoes Diferenciais

Exemplo

Uma lista de equacoes diferenciais exemplo segue abaixo:

a) dydx

= y + x2

b) dydx

= y2

c) dydx

= 2x+ 3

d) ex dydx

+ 7xy = x2 + 1

e) dydx

= y + 1

278 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

f) d2ydx2 + 3 dy

dx− 17y = 0

g) xyy′′ + xy′ = 0

h) exy′′ + 2y′ + 3xy = x+ 3

As equacoes dadas em (a) e (e) sao equacoes diferenciais de primeira ordem elineares. Ja as equacoes (f) e (h) sao equacoes diferenciais de segunda ordeme lineares, enquanto que a equacao (g) e uma equacao diferencial de segundaordem e nao-linear.

Exemplo

Considere a equacao diferencial linear de primeira ordem:

dy

dx= 2x+ 3

que pode ser escrita como y′ = f(x) sendo f(x) = 2x+3 uma funcao contınuapara a < x < b. A solucao da equacao e dada por:

y =

f(x)dx+ c

=

(2x+ 3)dx

= x2 + 3x+ c

8.3 Problema de Valor Inicial

O problema de valor inicial consiste em encontrar uma solucao para aequacao diferencial

y(n)(x) = f(x, y, y′, . . . , y(n−1)) (8.58)

sendo as condicoes iniciais dadas por:

y(a) = ξ1

y′(a) = ξ2...

...

y(n−1)(a) = ξn

No que segue desenvolveremos metodos numericos para resolver of problema(8.58).

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 279

8.4 Sistemas de Equacoes Diferenciais

Um sistema de equacoes diferenciais de primeira ordem tem a seguinteforma:

y′1(x) = f1(x, y1, y2, . . . , yn)y′2(x) = f2(x, y1, y2, . . . , yn)

...y′n(x) = fn(x, y1, y2, . . . , yn)

(8.59)

Quando o problema acima tem solucao, entao ele tem, em geral, variassolucoes, ou seja, uma famılia de solucoes. Com as condicoes iniciais abaixo,temos o problema do valor inicial:

y1(x) = y(x)y2(x) = y′(x)

...yn(x) = yn−1(x)

Note que a equacao diferencial do problema de valor inicial, (8.58), pode sercolocada na forma de um sistema de equacoes diferenciais de primeira ordem,conforme modelo dado por (8.59). Para tanto, basta proceder como segue:

y(n) = f(x, y, y′, . . . , y(n−1)) ⇔

y(n)(x) = f(x, y, y′, . . . , y(n−1))y1 = yy2 = y′

...yn = y(n−1)

y′1 = y′

y′2 = y′′

...y′n = y(n)

y′1 = y2y′2 = y′3...

y′n = f(x, y1, y2, . . . , yn)

(8.60)

Exemplo

Considere o problema de valor inicial dado por:

y′′′(x) = xy′ + exy(x) + x2 + 1, 0 6 x < 1 (8.61)

280 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

tal que y(0) = 1, y′(0) = 0, e y′′(0) = −1. Podemos entao transformar (8.61)em um sistema de equacoes de primeira ordem, fazendo:

y1 = yy2 = y′

y3 = y′′⇒

y′1 = y2y′2 = y3y′3 = xy2 + exy1 + x2 + 1y1(0) = 1, y2(0) = 0, y3(0) = −1

(8.62)

8.5 Equacoes de Diferencas

Uma equacao de diferencas de ordem n e uma sequencia de equacoes daforma:

gk(yk+n, yk+n−1, . . . , yk) = 0, k = 0, 1, 2 . . .yj = ξj, j = 0, 1, 2 . . . , n− 1

(8.63)

Os gk sao funcoes de n + 1 variaveis e os valores ξj sao dados especıficos.Uma solucao de tal equacao e uma sequencia (y0, y1, . . . , yn−1, yn, yn+1, . . .)que satisfaz as equacoes (8.63).

Uma forma especial das equacoes (8.63) e:

αnyk+n + αn−1yk+n−1 + . . .+ αyk = 0, k = 0, 1, 2, . . .yj = ξj, j = 0, 1, 2, . . . , n− 1

(8.64)

Em (8.64), os gk independem de k e sao funcoes lineares homogeneas de todasas variaveis, e por esta razao sao chamadas de equacoes de diferencas lineareshomogeneas, com coeficientes constantes.

Exemplos

Abaixo listamos tres exemplos de equacoes de diferencas lineares:

a) yk+2 − 5yk+1 + 6yk = 0, y0 = 0, y1 = 1

b) yk+1 − yk = 0 e y0 = 0

c) yk+3 − 2yk+2 − yk+1 + 2yk = 0, y0 = 0, y1 = −3, e y2 = 1

8.6 Metodo de Euler

Estudaremos agora metodos que aproximam uma equacao diferencial poruma equacao de diferencas. Determinar numericamente uma solucao de uma

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 281

equacao diferencial e encontrar os valores (y1, y2, . . . , yn) atraves de uma apro-ximacao da equacao de diferencas. Tal aproximacao introduz um erro detruncamento e um erro de arredondamento.

Vamos resolver a ODE de primeira ordem da forma y′ = f(x, y) sujeitaa condicao inicial y(x0) = y0. Primeiramente, vamos analisar o problemagraficamente. Suponhamos que y = F (x) e que a solucao analıtica seja acurva mostrada no grafico da figura abaixo.

y = F (x)

x0 x1 x2

y0

y1

y2

x

y

Figura 8.10: Ilustracao de uma primitiva F (x)

Para fazer uma estimativa de y1, em torno do ponto (x0, y0) vamos con-siderar que:

dy

dx|(x0,y0) = f(x0, y0)

que pode ser aproximado em torno de (x0, y0) por:

y − y0x− x0

∼= f(x0, y0)

Observando que, se h = x1 − x0 tender a zero, a ordenada do ponto Q(y) tende a y1 e daı:

y = y0 + hf(x0, y0)y1 ∼= y0 + hf(x0, y0)

(8.65)

Generalizando, temos a seguinte equacao a diferencas, que e a expressao deEuler:

yk+1 = yk + hf(xk, yk) (8.66)

282 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

x0 x1

y0

y1

x

y

P (x1, y1)

Q(x1, y)y

Figura 8.11: Metodo de Euler

Outro enfoque consiste em considerar a aproximacao:

y′(x) ∼= [y(x+ h)− y(x)]

h(8.67)

Introduzindo a notacao

xk = a+ kh, = 0, 1, 2, . . .

de modo que a = x0 < x1 < x2 < . . . < xn = b. Fazendo yk representaruma aproximacao para y(xk) onde y(x) e a solucao de y′ = f(x, y(x)), entao(8.67) sugere que:

y′(xk) =[yk+1 − yk]

hPortanto,

yk+1 − yk = hy′(xk)⇒ yk+1 = yk + hf(xk, yk) (8.68)

que e novamente a expressao do metodo de Euler.

8.6.1 Exemplo

Resolver a equacao diferencial y′ = 2x + 3, para x = 1.0, 1.1, 1.2, 1.3,tendo como condicoes iniciais y = 1 quando x = 1.

Temos que f(x, y) = 2x+ 3, x0 = 1, y0 = 1, h = 0.1.

Passo 0 Temos, pelas condicoes iniciais que:

y0 = 1

x0 = 1

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 283

Passo 1 Calculamos y1 para x1 = 1.1 conforme segue:

y1 = y0 + hf(x0, y0)

= 1 + 0.1(2× 1 + 3)

= 1.5

x1 = x0 + h

x0 = 1.0y0 = 1.0

x1 = 1.1y1 = 1.5

Passo 2 Calculamos y2 para x2 = 1.2 conforme segue:

y2 = y1 + hf(x1, y1)

= 1.5 + 0.1(2× 1.1 + 3)

= 2.02

x2 = 1.2

Passo 3 Calculamos y3 para x3 = 1.3 conforme segue:

y3 = y2 + hf(x2, y2)

= 2.56

x3 = 1.3

8.6.2 O Algoritmo de Euler

Algoritmo de Euler (f, a, b, ξ, h)

x← ay ← ξEnquanto x 6 b

y ← y + hf(x, y)x← x+ hSaida(x,y)

Fim enquanto

8.7 Metodo de Euler para Sistemas de

Equacoes

Aqui vamos estender o metodo de Euler desenvolvido na secao para resol-ver numericamente sistemas de equacoes diferenciais.. Vejamos inicialmente

284 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

um sistema de duas equacoes:

y′ = f(t, y, z)z′ = g(t, y, z)

Fazendo h0 = t1 − t0, temos:

y(t1) = y1= y0 + h0f(t0, y0, z0)

z(t1) = z1= z0 + h0g(t0, y0, z0)

Generalizando para um passo h qualquer, temos:

yk+1 = yk + hf(tk, yk, zk)zk+1 = zk + hg(tk, yk, zk)

Para um conjunto de n equacoes o metodo assume a forma:

yk+11 = yk1 + hf1(x(k), y

k1 , y

k2 , . . . , y

kn)

yk+12 = yk2 + hf2(x(k), y

k1 , y

k2 , . . . , y

kn)

...yk+1n = ykn + hfn(x(k), y

k1 , y

k2 , . . . , y

kn)

(8.69)

Logo, as equacoes (8.69) nos dao um processo iterativo para calcular a solucaonumerica aproximada de y(x) a partir de um conjunto de condicoes iniciais.Isto significa que a trajetoria (xk, y

k) : k = 0, 1, 2, . . ., conforme (8.69),produz uma solucao aproximada para y(x).

8.8 Metodos Baseados na Serie de Taylor

Tomemos como ponte de partida a equacao diferencial ordinaria:

y′ = f(x, y(x))

y(x0) = y0

Seja y = F (x) a solucao, ou seja, F ′(x) = f(x, y) com F (x0) = y0. Assu-miremos que F e diferenciavel ate ordem n. Expandindo F (x) na serie deTaylor em torno de x0, temos:

F (x) = F (x0) +x− x0

1!F ′(x0) +

(x− x0)2

2!F ′′(x0) + . . .

+(x− x0)

n

n!F (n)(x0) (8.70)

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 285

Sabemos que:

F (x0) = y0

F ′(x0) = f(x0, y0)

= y′0

Entretanto precisamos ainda determinar y′′0 , y′′′0 , . . . , y

(n)0 . Nao conhecemos

estas derivadas pois F (x) nao e conhecida. Se f for suficientemente derivavel,elas podem ser determinadas considerando-se a derivada total em relacao ax, pois f e funcao implıcita de y. Isto nos leva aos desenvolvimento abaixo:

y′ = f(x, y(x))

y′′ = f ′(x, y(x))

= ∂f∂y

dydx

+ ∂f∂x

= fy(x, y(x)).f(x, y(x)) + fx(x, y(x))= fyf + fx

y′′′ = ∂fyf

∂y. dydx

+ ∂fyf

∂x+ ∂fx

∂x. dydx.∂fx∂x

= fxx + 2fxyf + fyyf2 + fxfy + f 2

y f

(8.71)

8.8.1 Exemplo

Considere a ODE y′ = x + y2 e a condicao inicial y(0) = 1. Conformedesenvolvimento acima, sabemos que

y′′ = fx + fyf = 1 + 2y′y.

Observando que fx = 1, fy = 2y, fxx = 0 e fxy = 0, podemos verificar que:

y′′′ = fyyf2 + fxfy + f 2

y f

= 2(x+ y2)2 + 1.(2y) + (2y)2(x+ y2)

= 2(x+ 2xy2 + y4) + 2y + 4y2x+ 4y4

= 2x+ 4xy2 + 2y4 + 2y + 4y2x+ 4x4

= 6y4 + 2y + 4xy2 + 4y2x+ 2x

286 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Asim temos:

y′(0) = 0 + y20 = y20= 1

y′′(0) = 1 + 2yy′

= 1 + 2y0y′0

= 1 + 2.1.1

= 3

y′′′(0) = 6y4 + 2y + 4xy2 + 4y2x+ 2x

= 6y40 + 2y0

= 6.1 + 2.1

= 8

Isto nos leva a solucao aproximada:

y(x) = 1 + x+3

2x2 +

8

6x3 + ET

Onde ET denota o erro cometido.

8.9 Metodo de Runge-Kutta

Os metodos de Runge-Kutta sao obtidos pela serie de Taylor em que seomite os termos de mais alta ordem na expansao. Se cancelarmos os termosque contem potencias de h de ordem maior que p, obtemos um metodo deordem p. O metodo de Euler estudado anteriormente e de primeira ordem.Para desenvolvermos os metodos, vamos expandir yk+1 em vez de F (x) comodescrito na equacao (8.70), ou seja:

yk+1 = y(xk) + hy′(xk) +h2

2y′′(xk) +

h3

6y′′′(xk) (8.72)

8.9.1 Metodo de Runge-Kutta de Segunda Ordem

Assumindo que y(x) e tres vezes continuamente diferenciavel, entao oteorema de Taylor nos da:

yk+1 = y(xk) + hy′(xk) +h2

2y′′(xk) +

h3

6y′′′(ξk) (8.73)

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 287

para algum ξk ∈ [xk, xk+1]. Usando a notacao

y′(xk) = f(xk, y(xk))

vemos que

y(xk+1) = y(xk) + hf(xk, y(xk)) +h2

2[df(x, y(x))

dx] +O(h3) (8.74)

Para calcular df(x,y(x))dx

poderıamos usar uma das formulas de (8.71), masterıamos o problema das derivadas parciais, entao usamos uma aproximacaodada pela derivacao do polinomio interpolador de grau um, ou seja:

p(x) = f(x1)x− x2

x1 − x2

+ f(x2)x− x1

x2 − x1

entao:

p′(x) = f(x1)1

x1 − x2

+ f(x2)1

x2 − x1

daı temos com h = x2 − x1 que:

df(x, y(x))

dx=

1

h[f(x+ h, y(x+ h))− f(x, y(x))] +O(h) (8.75)

Escrevendo a equacao (8.75) para x = xk e substituindo em (8.74), temos:

y(xk+1) = y(xk) + hf(xk, y(xk))

+h2

2

[

f(xk+1, y(xk+1))− f(xk, y(xk))

h

]

+O(h3)

∼= y(xk) +h

2[f(xk+1, y(xk+1)) + f(xk, y(xk))]

= yk +h

2[f(xk+1, yk+1)− f(xk, yk)] (8.76)

Todavia, a formula (8.76) nao pode ser utilizada para calcular y1, y2, . . . porcausa do termo yk+1 = y(xk+1) no lado direito da igualdade. As formulasdo tipo (8.76) sao chamadas formulas implıcitas. Substituindo yk+1 emf(xk+1, yk+1) pela expressao do metodo de Euler, temos:

f(xk+1, yk+1) = f(xk+1, y(xk) + hy′(xk) +O(h2))

= f(xk+1, y(xk) + hy′(xk)) +O(h2) (8.77)

A substituicao de (8.77) em (8.76), nos leva a:

yk+1 = yk +h

2[f(xk, yk) + f(xk+1, yk + hf(xk, yk)] +O(h3) (8.78)

288 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

que e conhecida como formula de Runge-Kutta de segunda ordem.Para uma equacao diferencial do tipo y′ = f(x, y), com condicao inicial

y(x0) = y0, O metodo Runge-Kutta de segunda-ordem pode ser reescrito daseguinte forma:

xk+1 = xk + h

yk+1 = yk +k1 + k2

2,

onde:

k1 = hf(xk, yk)

k2 = hf(xk+1, yk + k1)

8.10 Exercıcios

Exercıcio 8.1 Considere o Problema com Condicoes de Contorno a seguir:

−d2x(t)

dt2+ x(t) = r(t) , com

t0 6 t 6 tfx(t0) = x0 e x(tf ) = xf

(8.79)

O problema, contınuo na variavel t, consiste em determinar a funcao x(t) quesatisfaz (8.79).

Este problema pode ser tratado computacionalmente atraves da discre-tizacao do intervalo de tempo considerado. Como r(t) e uma funcao conhe-cida, divide-se o intervalo [t0 , tf ] em n+1 subintervalos igualmente espacadose considera-se a informacao relativa a r(t) em n instantes de tempo discretos:

tk = t0 + kT ⇒ r(tk) = rk , k = 1, 2, . . . , n

Deseja-se, entao, calcular os valores aproximados de x(t) nos instantes deter-minados, levando em consideracao as condicoes de contorno:

x(tk) = xk , k = 1, 2, . . . , ncom x(t0) = x0 e x(tf) = x (t0 + (n+ 1)T ) = xf

Para tanto, pode-se utilizar a aproximacao seguinte:

d2x(t)

dt2≈ x(t+ T )− 2x(t) + x(t− T )

T 2(8.80)

a) Equacione a estrategia de discretizacao delineada acima, conhecidacomo Metodo das diferencas finitas, sob a forma de um sistema deequacoes lineares que permita determinar as aproximacoes xk.

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 289

b) Considere r(t) = t, t0 = 0, tf = 1, x(0) = x(1) = 0 e n = 6:

i. Utilize um metodo direto para obter a solucao do sistema deequacoes correspondente. Justifique a escolha de metodo.

ii. Utilize o Metodo de Gauss-Siedel para encontrar uma aproximacaopara a solucao (10 iteracoes / aproximacao inicial “nula”). Analisea convergencia do metodo.

Exercıcio 8.2 Para o circuito dado na Figura 8.12, a equacao diferencialordinaria de segunda ordem que descreve o comportamento dinamico do sis-tema e dada por:

Ld2

dt2i(t) +R

d

dti(t) +

1

Ci(t) = 3.5 cos (3.5t)

Executar as seguintes tarefas:

a) Calcular utilizando o metodo de Euler o valor da corrente apos 3.8segundos, assumindo que i(0) = i′(0) = 0. Utilizar passo de integracaosuficientemente pequeno. A implementacao deve ser feita em Matlab,Octave ou Scilab.

b) Calcular utilizando o metodo de Runge-Kutta o valor da corrente apos3.8 segundos, assumindo que i(0) = i′(0) = 0. Utilizar passo de inte-gracao suficientemente pequeno. A implementacao deve ser feita emMatlab, Octave ou Scilab.

c) Gerar grafico da curva i(t) para o perıodo de integracao.

d) Gerar grafico da curva i′(t) para o perıodo de integracao.

R = 1 L = 3H

C = 0, 005F

t = 0

sin(3, 5t)

Figura 8.12: Circuito eletrico

290 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Exercıcio 8.3 Para o pendulo invertido ilustrado na Figura 8.9, a dinamicado movimento pode ser aproximada em torno do estado (y, y, θ, θ) =(0, 0, 0, 0) pelas equacoes diferenciais abaixo:

(M +m)y +mlθ = u

2lθ − 2gθ + y = 0(8.81)

onde M = 10Kg, m = 0.5Kg, g = 9.8m/s2, e l = 50cm. Executar asseguintes tarefas:

a) Fazendo x1 = y, x2 = y, x3 = θ, x4 = θ e x = (x1, x2, x3, x4), obter umsistema de equacoes diferenciais

x = F (x, u)

equivalente ao sistema de equacoes (8.81).

b) Seja a lei de controle dada por u(t) = −Kx(t) onde

K = [ −3.1623 −10.1554 −494.4166 −110.6079 ]

Obter a trajetoria de x(t) para t ∈ [0, 10s] usando o metodo de Runge-Kutta e fazendo x(0) = [ 0.2 0 0.5 0 ]T . Apresentar em graficos ascurvas x1(t), . . . , x4(t). Qual e o valor de x(10)?

c) Repetir o item (b) com x(0) = [ −0.3 0 0.8 0 ]T .

Exercıcio 8.4 Considere o sistema mecanico da Figura 8.13, onde:

• M = 5kg, massa do corpo;

• K = 3m/N , coeficiente da mola;

• D = 1Ns/m, coeficiente de atrito viscoso;

• F = 10e−2tN , forca aplicada no corpo; e

• V (t), velocidade do corpo.

A equacao diferencial que caracteriza o movimento do corpo e dada por:

5d2V (t)

dt2+ 4

dV (t)

dt+

1

3V (t) = −20e−2t

Sabemos que para t = 0s a velocidade do corpo e 1.5m/s e a aceleracao e0.5m/s2.

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 291

a) Calcular utilizando o metodo de Euler a velocidade e aceleracao docorpo apos 5s. Utilizar passo de integracao suficientemente pequeno.A implementacao deve ser feita em Matlab, Octave ou Scilab.

b) Calcular utilizando o metodo de Runge-Kutta de 2a ordem a velocidadee aceleracao do corpo apos 5s. Utilizar passo de integracao suficiente-mente pequeno. A implementacao deve ser feita em Matlab, Octave ouScilab.

c) Apresentar grafico da curva V (t) para o perıodo de integracao.

d) Apresentar grafico da curva V ′(t) para o perıodo de integracao.

M

V (t)

FK

Figura 8.13: Sistema mecanico

Exercıcio 8.5 A dinamica do movimento do sistema de dois pendulos des-crito Figura 8.14 pode ser descrita pelas equacoes diferenciais abaixo:

θ1 = −d−11 (d2θ2 + φ1)

θ2 =(

m2α22 + I2 − d22

d1

)−1 (

u+ d2d1φ1 −m2l1α2θ

21 sin θ2 − φ2

)

d1 = m1α21 +m2(l

21 + α2

2 + 2l1α2 cos θ2) + I1 + I2d2 = m2(α

22 + l1α2 cos θ2) + I2

φ1 = −m2l1α2θ22sin θ2 − 2m2l1α2θ2θ1 sin θ2 + (m1α1 +m2l1)g cos(θ1 − π

2) + φ2

φ2 = m2α2g cos(θ1 + θ2 − π2)

(8.82)onde u e o torque aplicado na junta, m1 = m2 = 1 sao as massas dashastes, l1 = l2 = 1 sao os comprimentos das hastes, α1 = α2 = 1/2 saoos comprimentos ate o centro de massa das barras, I1 = I2 = 1 sao osmomentos de inercia das barras, e g = 9.8 e a aceleracao da gravidade.Todas as unidades estao no sistema internacional.

292 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

a) Fazendo x1 = θ1, x2 = θ1, x3 = θ2, x4 = θ2 e x = (x1, x2, x3, x4), obterum sistema de equacoes diferenciais

x = F (x, u)

equivalente ao sistema de equacoes (8.82).

b) Quando nenhum torque externo e aplicado, u(t) = 0, obter a trajetoriade x(t) para t ∈ [0, 10s] usando o metodo de Runge-Kutta de 2a ordeme fazendo x(0) = [π

7, 0.2, π

10,−0.1]. Apresentar em graficos as curvas

x1(t), . . . , x4(t). Qual e o valor de x(10)?

Θ

Θ2

1Torque

Figura 8.14: Sistema mecanico de dois pendulos

Exercıcio 8.6 Seja o PVI:

y′(t) = f(t, y(t))y(t0) = y0 , t0 6 t 6 tf

a) Represente graficamente e de uma explicacao para um passo do metodode Euler.

b) Elabore um pseudo-codigo para a implementacao computacional dometodo de Runge-Kutta de 2a-ordem. Considere:

i) dados de entrada (fornecidos pelo usuario): a condicao inicial, ointervalo de calculo e o numero de iteracoes desejadas;

ii) que para valores particulares de (t, y), o valor numerico def(t, y(t)) obtidos pela chamada de uma “rotina” (ou funcao auxi-liar) com a sintaxe: Fty = avaliaF(t,y);

8. Resolucao Numerica de Equacoes Diferenciais Ordinarias 293

iii) dados de saıda: o programa correspondente ao pseudo-codigo de-ver fornecer os valores aproximados de y(t) ao longo das iteracoese os valores correspondentes da variavel independente.

294 8. Resolucao Numerica de Equacoes Diferenciais Ordinarias

Referencias Bibliograficas

[1] D. M. Claudio and J. M. Marins. Calculo Numerico Computacional.Atlas, 1994.

[2] T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algo-rithms. MIT Press, Cambridge, MA, 1990.

[3] C. C. Dyer and S. S. Ip. An Elementary Introduction to Scientific Compu-ting. Division of Physical Sciences, Univerisity of Toronto at Scarborough,January 2000.

[4] H. Jeffreys and B. S. Jeffreys. Methods of Mathematical Physics. Cam-bridge University Press, Cambridge, England, 3rd edition, 1988.

[5] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling. Nu-merical Recipes in FORTRAN: The Art of Scientific Computing. Cam-bridge University Press, Cambridge, England, 2nd edition, 1992.

[6] S. L. Salas, E. Hille, and J. T. Anderson. Calculus: One and SeveralVariables, with Analytic Geometry. John Wiley and Sons, New York,NY, 5th edition, 1986.

[7] L. Vandenberghe. Applied Numerical Computing. Lecture Notes forEE103, 2001.

296 Referencias Bibliograficas

Apendice A

Fundamentos Matematicos

A.1 Limites e Continuidade

Informalmente,limx→c

f(x) = l

significa que para x proximo mas diferente de c, f(x) esta proximo de l, oque significa dizer que se

|x− c| e pequeno mas diferente de zero, entao |f(x)− l| e pequeno.

Dizer que limx→c f(x) = l significa dizer que |f(x) − l| pode tornar-se arbi-trariamente pequeno simplesmente fazendo |x − c| suficientemente pequenomas diferente de zero. Se voce tomar ǫ > 0, entao |f(x) − l| pode se tornarmenor do que ǫ se 0 < |x − c| < δ para um δ suficientemente pequeno. Adefinicao a seguir formaliza este princıpio.

Definicao A.1 O limite de uma funcao

limx→c

f(x) = l sse

para cada ǫ > 0 existe δ > 0 tal quese 0 < |x− c| < δ, entao |f(x)− l| < ǫ

Exemplo A.1 Mostre que limx→2(2x− 1) = 3.

(Encontrando δ) Seja ǫ > 0. Desejamos encontrar δ > 0 tal que,

se 0 < |x− 2| < δ, entao |(2x− 1)− 3| < ǫ

Primeiramente, estabelecemos a conexao entre

|(2x− 1)− 3| e |x− 2|.

298 A. Fundamentos Matematicos

A conexao e simples,

|(2x− 1)− 3| = |2x− 4| = 2|x− 2|. (A.1)

Para fazer |(2x− 1)− 3| menor do que ǫ, precisamos apenas fazer |x− 2| serduas vezes menor. Isso sugere a escolha de δ = ǫ

2. (Mostrando que funciona)

Para mostrar que esta escolha funciona, note que se 0 < |x − 2| < ǫ2, entao

2|x− 2| < ǫ e de (A.1) temos que |(2x− 1)− 3| < ǫ.

Definicao A.2 (O limite a esquerda de uma funcao) Seja f uma funcaodefinida no intervalo (a, c).

limx→c−

f(x) = l sse

para cada ǫ > 0 existe δ > 0 tal quese c− δ < x < c, entao |f(x)− l| < ǫ

Definicao A.3 (O limite a direita de uma funcao) Seja f uma funcao defi-nida no intervalo (c, d).

limx→c+

f(x) = l sse

para cada ǫ > 0 existe δ > 0 tal quese c < x < c+ δ, entao |f(x)− l| < ǫ

Segue das definicoes acima que

limx→c

f(x) = l sse limx→c+

= l e limx→c−

= l

Dizemos que um processo e contınuo se ele e realizado sem interrupcaoe sem mudancas bruscas. Na matematica, a palavra “contınuo” tem umsignificado diferente.

Seja f uma funcao definida no intervalo aberto (c− δ, c+ δ).

Definicao A.4 A funcao f e contınua no ponto c se e somente selimx→c f(x) = c.

Se o domınio da funcao f contem o intervalo aberto (c− δ, c + δ), entaoha apenas duas razoes para f nao ser contınua no ponto c: i) f(x) naotem um limite quando x tende para c, neste caso dizemos que c e umadescontinuidade; ii) f(x) tem um limite l, mas o limite l e diferente de c. Noultimo caso, podemos eliminar a descontinuidade redefinindo f de forma quef(x) = l. A Figura A.1 ilustra a transformacao de uma funcao descontınua(a) em uma funcao contınua (b).

Uma funcao que e contınua dentro de um intervalo nao tem saltos nem in-terrupcoes, portanto a sua curva nao e quebrada. Com base nestes princıpios,dois teoremas podem ser estabelecidos.

A. Fundamentos Matematicos 299

xx

yy

cc

(a) (b)

Figura A.1: Eliminando a descontinuidade de uma funcao.

Teorema A.1 (Teorema do valor intermediario) Se f e contınua no inter-valo [a, b] e C e um numero entre f(a) e f(b), entao existe c ∈ [a, b] tal quef(c) = C.

Teorema A.2 (Teorema do maximo e mınimo) Se f e contınua em [a, b],entao f tem um valor maximo M e mınimo m no intervalo [a, b].

A.2 Diferenciacao

Considere uma funcao f : R → R e o ponto (x, f(x)) de seu grafico,conforme Figura A.2. Como que se obtem, quando esta existe, a tangente dacurva no ponto (x, f(x))?

Para responder esta questao, tomamos um numero pequeno h 6= 0 e nacurva obtemos o ponto ((x + h), f(x + h)), conforme ilustracao na FiguraA.3. Agora tracamos a reta secante que passa pelos pontos (x, f(x)) e ((x+h), f(x + h)). Dependendo de h > 0 ou h < 0, a secante tera diferentesinclinacoes. A medida que h tende para zero da direita, a secante tendepara uma posicao limite, o mesmo ocorrendo quando h tende para zero daesquerda. A reta nesta posicao limite e dita “tangente da curva no ponto(x, f(x))”.

Uma vez que as secantes tem inclinacao dada por:

f(x+ h)− f(x)

h

espera-se que a tangente, a posicao limite destas secantes, tenha inclinacao

300 A. Fundamentos Matematicos

x

y

(x, f(x))

Figura A.2: Funcao exemplo.

x x

y

(x, f(x)) (x, f(x))

f(x) f(x)

(x + h, f(x + h))

(x + h, f(x + h))

h > 0 h < 0

Secante

Secante

Limite

Limite

Figura A.3: Secantes da funcao.

A. Fundamentos Matematicos 301

dada por:

limh→0

f(x+ h)− f(x)

h.

Definicao A.5 Uma funcao f e dita diferenciavel no ponto x se

limx→c

f(x+ h)− f(x)

hexiste.

Se este limite existe, entao a derivada de f no ponto x e denotada por f ′(x).

Teorema A.3 Se f e diferenciavel no ponto x, entao f e contınua em x.

Teorema A.4 (Regra do produto) Se f e g sao duas funcoes diferenciaveisno ponto x, entao

(fg)′(x) = f(x)g′(x) + f ′(x)g(x).

Definicao A.6 (Derivada da soma e multiplo escalar) Seja α um numeroreal. Se f e g sao diferenciaveis no ponto x, entao f + g and αf sao dife-renciaveis no ponto x tal que:

(f + g)′(x) = f ′(x) + g′(x) and (αf)′(x) = αf ′(x).

Aqui vamos considerar a diferenciacao de funcoes compostas. Suponhaque y e uma funcao diferenciavel em u:

y = f(u)

e u e uma funcao diferenciavel em x:

u = g(x).

Portanto, y e uma funcao de x:

y = f(u) = f(g(x)).

Podemos dizer que y tem uma derivada em relacao a x? Sim, y tem umauma derivada em relacao a x dada pela formula:

dy

dx=

dy

du

du

dx.

A formula acima e conhecida como regra da cadeia, a qual diz que a taxa devariacao de y com respeito a x e a taxa de variacao de y com respeito a u

302 A. Fundamentos Matematicos

vezes a taxa de variacao de u com respeito a x. Como exemplo, considere asfuncoes a seguir:

y = 2u e u = 3x.

Entao, temos quey = 2x.

Note quedy

dx= 6,

dy

du= 2,

du

dx= 3

o que nos leva a confirmar a regra da cadeia pois:

dy

dx=

dy

du

du

dx.

Teorema A.5 (Regra da cadeia) Se g e diferenciavel no ponto x e f e dife-renciavel no ponto g(x), entao a composicao f.g e diferenciavel no ponto xtal que

(f.g)′(x) = f ′(g(x))g′(x).

A.2.1 Aplicacao de Diferenciacao

Um tanque cujo corte facial e um triangulo equilatero recebe agua na taxade 4 cm3/min. Tendo a abertura do tanque 12 cm de comprimento, com quevelocidade a agua esta subindo no instante em que ela atinge a profundidadede 11

2cm?

A Figura A.4 ilustra o corte facial do tanque. Seja x a profundidadeda agua e V o volume de agua em cm3. Sabemos que dV

dt= 4 cm3/min e

desejamos saber dxdt

quando x = 32cm. Note que l = x

tan(60o)= x

√3

3. Portanto,

a area da secao facial e lx =√33x2 e o volume de agua armazenado no tanque

e 12(

x2√3

3

)

= 4√3x2.

Diferenciando V = 4√3x2 com respeito a t obtemos

dV

dt= 8√3x

dx

dt.

Substituindo x = 32e dV

dt= 4, temos

4 = 8√3

(

3

2

)

dx

dt

o que nos leva a concluir que

dx

dt=

1

9

√3.

A. Fundamentos Matematicos 303

No instante em que a agua atinge a altura 112cm, o nıvel da agua esta subindo

a uma taxa de 19

√3cm/s.

x

60oNıvel daAgua

l

Figura A.4: Corte facial do tanque.

A.3 Teorema do Valor Medio

O Teorema do Valor-Medio foi primeiramente enunciado pelo matematicoJoseph Louis Lagrange (1736–1813), cujas aplicacoes podem ser encontradasem varios problemas da matematica.

Teorema A.6 (Torema do Valor Medio) Se f e uma funcao diferenciavelem (a, b) e contınua em [a, b], entao existe um numero c ∈ (a, b) tal que

f ′(c) =f(b)− f(a)

b− a.

O numero c e a inclinacao da reta l que passa atraves dos pontos (a, f(a)) e(b, f(b)). Dizer que existe pelo menos um numero c tal que

f ′(c) =f(b)− f(a)

b− a

significa dizer que o grafico da funcao f tem pelo menos um ponto (c, f(c))no qual a tangente e paralela a l. Esta configuracao e ilustrada na FiguraA.5.

304 A. Fundamentos Matematicos

l

a bc x

(c, f(c))

(b, f(b))

(a, f(a))

f(x)

Tangente

Figura A.5: Ilustracao do Teorema do Valor Medio.

A.4 Maximos e Mınimos

Em problemas de Engenharia e Fısica, rotineiramente se deseja deter-minar quao grande ou quao pequena uma certa quantidade pode ser. Se oproblema admite uma formulacao matematica, entao podemos em princıpioreduzi-lo ao problema de encontrar o valor mınimo ou maximo de uma certafuncao. No que segue, vamos considerar os valores maximos e mınimos deuma funcao em um intervalo aberto.

Definicao A.7 (Mınimo/Maximo Local) Uma funcao f tem um maximolocal no ponto c sse

f(c) ≥ f(x) para todo x suficiente proximo de c.

A funcao tem um mınimo local no ponto c sse

f(c) ≤ f(x) para todo x suficiente proximo de c.

As nocoes de pontos de maximo e mınimo locais sao ilustradas na FiguraA.6.

A.5 Introducao a Equacoes Diferenciais

Na Natureza e comum encontrarmos sistemas cujas grandezas variam notempo. Se uma quantitade y varia no tempo de acordo com uma equacaodiferencial, entao y e tipicamente descrita por uma equacao que envolve y e

A. Fundamentos Matematicos 305

a b c

(c, f(c))

(b, f(b))

(a, f(a))

f(x)

x

y

Maximo

Maximo

Mınimo Local

Local

Local

Figura A.6: Pontos de maximo e mınimo de uma funcao.

suas derivadas. Tal equacao e conhecida como equacao diferencial. Exemplosde equacoes diferenciais sao:

y′ = 2y + e−y2 , 2y′′ − y′ + 2y = 0, y′′ + 2y′ − y = x.

Equacoes diferenciais sao essencias na modelagem matematica de fenomenosfısicos, tendo inumeras aplicacoes reais em engenharia, fısica e matematica.

Muitas vezes os problemas de interesse sao tao complexos que a analisedestes torna-se intratavel. A investigacao do impacto de novas polıticas cam-biais na economia de um paıs e a influencia do acumulo de resıduos poluentesem um ecosistema configuram sistemas de complexidade consideravel. Emtais sistemas, o topico de interesse pode ser identificado com certa facilidademas, por outro lado, e muito difıcil de se chegar a conclusoes. As relacoes en-tre as grandezas podem nao ser aparentes. Em tais situacoes, se faz necessarioo emprego de modelos simplificados que tomam como hipoteses premissas res-tritivas. Por exemplo, na modelagem de sistemas mecanicos podemos des-considerar as variacoes da gravidade e a resistencia do ar para velocidadesbaixas. Contudo, e importante que as hipoteses sejam enunciadas de formaa deixar claro as limitacoes e a regiao de validade. Se as hipoteses podemser escritas em notacao matematica, entao as ferramentas de modelagem esolucao matematica podem ser empregadas no tratamento do problema. Oprocesso de transcrever, formular, analisar e resolver um problema em umcontexto matematico e conhecido como modelagem matematica.

O objetivo da modelagem matematica e melhor enteder um fenomeno domundo real, o que nao e uma tarefa trivial. Muitas vezes, desejamos construirum modelo que nos permita fazer predicoes que por sua vez podem ser em-pregadas para influenciar a evolucao de eventos. Por exemplo, o modelo de

306 A. Fundamentos Matematicos

um tanque de biomassa pode ser utilizado na determinacao da temperaturae composicao que garantam maior geracao de energia.

Equacoes Diferenciais de Primeira Ordem

A ordem de uma equacao diferencial e a ordem da derivada mais alta queaparece na equacao. As equacoes

y′ + 2y = x3 and y′ − xy/2 = ex

sao equacoes de primeira ordem;

y′′ − 2y′ + y = 2x and y′′ + 4y = 0

sao equacoes de segunda ordem. Uma funcao y e dita uma solucao da equacaodiferencial se ela satisfaz a equacao. Por exemplo, a funcao

y = x+ e−2x

e uma solucao da equacao diferencial

y′ + 2y = 2x+ 1.

Basta verificar que

y′ + 2y = (x+ e−2x)′ + 2(x+ e−2x) = 1− 2e−2x + 2x+ 2e−2x = 2x+ 1.

Para ilustrar a solucao de equacoes diferenciais de primeira ordem, vamosconsiderar equacoes lineares na forma

y′ + p(x)y = q(x)

onde p e q(x) sao funcoes contınuas. No caso mais simples, quando p(x) = 0para todo x, a equacao se reduz a

y′ = q(x). (A.2)

As solucoes desta equacao sao antiderivadas de q podendo ser escritas naforma y = Q(x). Portanto,

y = Q(x) + c (A.3)

e uma solucao com c sendo uma constante arbitraria. A equacao (A.3) e ditasolucao geral e qualquer solucao de (A.2) pode ser obtida ajustando o valorda constante c. A funcao y = x2, por exemplo, resolve a equacao diferencialy′ = 2x. A solucao geral e portanto y = x2 + c.

A. Fundamentos Matematicos 307

Para resolver uma equacao na forma

y′ + p(x)y = q(x)

primeiramente calculamos

P (x) =

p(x)dx

sem considerar constantes. Multiplicamos a equacao diferencial por eP (x)

obtendo

eP (x)y′ + eP (x)p(x)y = eP (x)q(x).

O lado esquerdo da equacao acima e

d

dx[eP (x)y]

portanto, a equacao pode ser escrita como

d

dx[eP (x)y] = eP (x)q(x).

Integrando, obtemos

eP (x)y =

eP (x)q(x)dx+ c

e a solucao e dada por

y = e−P (x)∫

eP (x)q(x)dx+ c.

Modelo Presa-Predador

Objetivando ilustrar a modelagem matematica, vamos considerar umcenario de duas especies onde uma serve de alimento a outra. Digamos queas especies sao raposas e coelhos. Se a populacao de coelhos cresce, entaoas raposas encontram presas com mais facilidade e em decorrencia de me-lhor alimento tambem crescem em numero. Apos algum tempo, a populacaode coelhos decresce. Como consequencia, a populacao de raposas tambemdecresce em virtude da dificuldade de encontrar alimento. A reducao dapopulacao de raposas, por sua vez, facilita o crescimento da populacao decoelhos, levando de volta ao inıcio do ciclo.

308 A. Fundamentos Matematicos

Seja x o numero de raposas e y o numero de coelhos no instante t. Vamosconsiderar as especies separadamente. Se nao ha raposas, a populacao decoelhos cresce exponencialmente, o que pode ser modelado pela equacao

dy

dt= ay, a > 0. (A.4)

Por outro lado, se nao ha coelhos, a populacao de raposas decresce exponen-cialmente conforme modelo

dx

dt= −bx, b > 0. (A.5)

Para considerar a interacao entre especies, vamos assumir que ha um numeroabundante de coelhos e raposas. Vamos assumir tambem que a taxa na qualraposas matam coelhos e proporcional ao produto xy. Assim, subtraımosum termo proporcional a xy de (A.4), dessa forma modelando a reducao dapopulacao de coelhos. Adicionamos tambem um termo proporcional a xya expressao (A.5), modelando o crescimento da populacao de raposas. Omodelo em equacoes diferenciais fica

dy

dt= ay − sxy,

dx

dt= rxy − bx, onde a, b, r, s > 0.

O termo xy e adotado em vez da expressao x+ y pois a quantitdade xy e amaior possıvel quando x e y sao aproximadamente iguais. O maior numerode presas serao capturadas quando nao ha um numero relativo elevado deraposas a procura de presas e quanto nao ha um numero muito pequeno decoelhos.

As equacoes diferenciais A.5 forma um sistema de equacoes. Podemosresolver o sistema eleminando a variavel independente t:

dy

dx=

dy/dt

dx/dt

que pode ser escrita como

dy

dx=

y(a− sx)

x(ry − b).

A. Fundamentos Matematicos 309

Separando as variaveis obtemos

dy

y(a− sx)=

dx

x(ry − b),

ry − b

ydy =

(a− sx)

xdx,

ry − b ln y + sx− a ln x = c,

ry + sx− ln xayb = c,

ry + sx− c = ln xayb,

ery+sx−c = xayb,

e−c =xayb

eryesx.

Fazendo k = e−c, a solucao fica

k =xayb

eryesx. (A.6)

Note que k pode ser calculado com base nos valores iniciais de x e y (x(0)e y(0)). Observe tambem que k nao depende do tempo. Para analisar ocomportamento da solucao, note que o lado direito de (A.6) e composto dedois termos similares da forma:

f(z) =zp

emz, p,m > 0.

O grafico da curva f(z) tem a forma dada na Figura A.7.Se fixarmos o valor de x em (A.6) e resolvermos a equacao para y, obte-

remos dois valores. Ou seja, f(z) assume este valor em dois pontos, z1 e z2.A excecao ocorre quando y = b/r onde z = p/m. Nesse valor de y, x assumeseu valor maximo ou mınimo. De forma similar, linhas horizontais ordinari-amente interceptam o grafico de (A.6) duas vezes, sendo que y assume seuvalor maximo ou mınimo quando x assume o valor a/s. O grafico de (A.6) euma curva conhecida como trajetoria. Trajetorias para dois valores de K eparametros fixos para a, b, r e s aparecem na Figura A.8.

Para determinar a direcao das trajetorias, conforme indicado pelas setas,basta verificar que

dx

dy= x(ry − b) > 0 sse y > b/r.

Portanto, o movimento e no sentido horario. O ponto E = (a/s, b/r) e umponto de equilıbrio. As duas populacoes nao mudam com o passar do tempo.Na pratica tal equilıbrio nao ocorre. O comportamento cıclico ilustrado pelafigura melhor representa o caso real.

310 A. Fundamentos Matematicos

z1 z2

f(z)

( pme

)p

zpm

Figura A.7: Grafico da funcao f(z) = zp

emz , p,m > 0.

41 2 3 5 6 7 9 108

1

2

3

4

5

6

7 x = as= 4

y = br= 3

y

x

K = 0, 16

Figura A.8: Trajetorias para K = 0, 16.

A. Fundamentos Matematicos 311

A.6 Vetores

Uma tripla x = (x1, x2, x3) que define uma direcao v = x1i + x2j + x3ke um vetor do plano cartesiano, onde i e o vetor de comprimento unitarioque da a direcao do eixo x, j e o vetor de comprimento unitario que da adirecao do eixo y, e k e unitario e da a direcao do eixo z. Os vetores i, j ek sao ortogonais entre si. Note que i = (1, 0, 0), j = (0, 1, 0) e k = (0, 0, 1).O ponto 0 = (0, 0, 0) e a origem do plano cartesiano e serve de referencia.A Figura A.9 ilustra o plano cartesiano. Neste apendice vamos diferenciarescalares de vetores adotando fonte em negrito para os vetores.

x

z

y0

Figura A.9: Plano cartesiano.

A adocao do plano cartesiano para representacao de vetores facilitaoperacoes basicas sobre vetores. Por exemplo, a soma vetorial de dois ve-tores a = (a1, a2, a3) e b = (b1, b2, b3) pode ser obtida fazendo:

a+ b = (a1, a2, a3) + (b1, b2, b3) = (a1 + b1, a2 + b2, a3 + b3)

A multiplicacao de um vetor a por um escalar α tambem e simples, sendodada por:

αa = (αa1, αa2, αa3)

A soma vetorial de dois vetores a e b esta exemplificada na Figura A.10.Dois vetores nao nulos a e b sao ditos paralelos se a = αb para algum

escalar α. Dois vetores paralelos a e b tem a mesma direcao se α > 0; elestem direcoes opostas se α < 0.

O comprimento de um vetor e medido por meio de normas. A norma l-2ou norma Euclidiana de um vetor x = (x1, x2, x3) e definida como:

‖x‖ =√

x21 + x2

2 + x23

312 A. Fundamentos Matematicos

x

z

y0

a

b

a+ b

Figura A.10: Soma vetorial.

Note que toda a norma ‖ · ‖ satisfaz as propriedades:

(1) ‖x‖ ≥ 0 para todo x ∈ R3;

(2) ‖αx‖ = |α|‖x‖ para todo x ∈ R3 e α ∈ R; e

(3) ‖a+ b‖ ≤ ‖a‖+ ‖b‖ para todo a,b ∈ R3.

A.6.1 Produto Interno

O produto interno tem inumeras aplicacoes em fısica e geometria. Paradois vetores arbitrarios a = (a1, a2, a3) e b = (b1, b2, b3), o produto interno eum escalar denotado por a · b e definido por:

a · b = a1b1 + a2b2 + a3b3

Observe que a · a = ‖a‖2. O produto interno de um vetor a qualquer com ovetor nulo e zero:

a · 0 = 0 e 0 · a = 0

Podemos mostrar que o produto interno e comutativo verificando que:

a · b = a1b1 + a2b2 + a3b3 = b1a1 + b2a2 + b3a3 = b · aEscalares tambem sao passıveis de fatoracao conforme a deducao abaixo de-monstra:

αa · βb = αβa1b1 + αβa2b2 + αβa3b3

= αβ(a1b1 + a2b2 + a3b3)

= αβa · b

A. Fundamentos Matematicos 313

Da maneira semelhante ao desenvolvido acima pode-se mostrar que o produtointerno e distributivo, ou seja, a · (b+ c) = a · b+ a · c.

Se dois vetores a e b sao nao nulos, entao o produto interno a · b podeser interpretado geometricamente tomando como base o triangulo formadopelos vetores a, b e a− b conforme indicado na Figura A.11. Pela lei doscosenos, temos que:

‖a− b‖2 = ‖a‖2 + ‖b‖2 − 2‖a‖‖b‖ cos θo que nos leva a:

2‖a‖‖b‖ cos θ = ‖a‖2 + ‖b‖2 − ‖a− b‖2= [a21 + a22 + a23] + [b21 + b22 + b23]

−[(a1 − b1)2 + (a2 − b2)

2 + (a3 − b3)2]

= [a21 + a22 + a23] + [b21 + b22 + b23]

−[a21 − 2a1b1 + b21 + a22 − 2a2b2 + b22 + a23 − 2a3b3 + b23]

= 2a1b1 + 2a2b2 + 2a3b3

= 2a · bportanto, concluımos que:

a · b = ‖a‖‖b‖ cos θ (A.7)

a

b

a− b

θ

Figura A.11: Produto interno.

A partir da expressao (A.7) podemos verificar que o produto interno nosda uma medida do quanto as direcoes de dois vetores se assemelham. Amedida que as direcoes de dois vetores se tornam opostas o produto internoentre eles decresce.

1) Quanto dois vetores a e b tem a mesma direcao, θ = 0, o produtointerno se torna:

a · b = ‖a‖‖b‖que e o maximo valor possıvel para o produto interno a · b.

314 A. Fundamentos Matematicos

2) Quando a e b tem direcoes opostas, θ = −π, o produto interno assumeo valor:

a · b = −‖a‖‖b‖

que e o mınimo valor possıvel para a · b.

3) Quando a e b sao ortogonais, θ = π2, o produto interno assume o valor:

a · b = 0

Concluımos que dois vetores sao perpendiculares se e somente se oproduto interno entre eles e nulo.

A.6.2 Projecoes

Se b e um vetor nao nulo, entao um vetor a arbitrario pode ser escritode maneira unica como a soma de um vetor b‖ paralelo a b e um vetor b⊥

ortogonal a b:

a = b‖ + b⊥

Uma ilustracao da decomposicao de a em b‖ (projecao de a sobre b) e b⊥ edada na Figura A.12.

a

b

b‖

b⊥

θ

Figura A.12: Produto interno.

A projecao de a sobre b e denotada por projb(a). Para a ilustracao da

Figura A.12, projb(a) = b‖. Note que a projecao de a em b e um multiplo

α do vetor b, ou seja:

projb(a) = b‖ = αb

A. Fundamentos Matematicos 315

Podemos calcular α por meio da relacao trigonometrica dada na Figura A.12:

α = ‖a‖ cos θ

= ‖a‖‖b‖‖b‖ cos θ

=1

‖b‖a · b

Logo, concluımos que a projecao de a em b pode ser definida como:

projb(a) = αb

=a · b‖b‖ b

= (a · b)ub

onde ub = b/‖b‖ e o vetor unitario na direcao de b. Vale ressaltar quea projecao de um vetor sobre outro pode ser facilmente calculada a partirdo produto interno entre eles. Para calcular a representacao do vetor a emtermos de componentes ortogonais e paralelas ao vetor b, basta calcular b‖

e depois subtrair de a para obter b⊥.A desigualdade de Schwartz, |a · b| ≤ ‖a‖‖b‖, e facilmente demonstrada

a partir do produto interno:

|a · b| = |‖a‖‖b‖ cos θ|= ‖a‖‖b‖ | cos θ|≤ ‖a‖‖b‖ (A.8)

Fazendo uso da desigualdade de Schwartz podemos tambem demonstrar adesigualdade triangular:

‖a+ b‖ ≤ ‖a‖+ ‖b‖

Para tanto, basta verificar que:

‖a+ b‖2 = (a+ b) · (a+ b)

= a · a+ a · b+ b · a+ b · b= a · a+ 2a · b+ b · b≤ a · a+ 2|a · b|+ b · b≤ ‖a‖2 + 2‖a‖‖b‖+ ‖b‖2= (‖a‖+ ‖b‖)2

Logo, deduzimos que ‖a+ b‖ ≤ ‖a‖+ ‖b‖.

316 A. Fundamentos Matematicos

A.6.3 Produto Cruzado

Na mecanica e eletromagnetismo a nocao de produto cruzado desempenhaum papel relevante. Na Mecanica, o produto cruzado esta relacionado amomento de angular, torque e fenomenos de rotacao. No Eletromagnetismo,o produto cruzado permite expressas leis das forcas que atuam sobre cargaseletricas em movimento. Para vetores

a = a1i+ a2j+ a3k e b = b1i+ b2j+ b3k,

o produto cruzado a× b e definido como:

a× b = (a2b3 − a3b2)i+ (a3b1 − a1b3)j+ (a1b2 − a2b1)k

Diferentemente do produto interno a ·b que e um escalar, o produto internoa×b e um vetor. Tomando como base o determinando de matrizes, podemosexpressar o produto cruzado como um determinante:

a× b =

i j ka1 a2 a3b1 b2 b3

=

a2 a3b2 b3

i−∣

a1 a3b1 b3

j+

a1 a2b1 b2

k

As seguintes propriedade de produto cruzado podem ser verificadas pormeio de manipulacoes algebricas:

1) (Anticomutatividade) b× a = −a× b;

2) (Autocancelamento) a× a = 0;

3) (Fatoracao de escalares) αa× βb = αβa× b;

4) (Distributividade sobre soma) a× (b+ c) = (a× b) + (a× c);

5) (Ortogonalidade) (a× b) ⊥ a e (a× b) ⊥ b; e

6) ‖a× b‖2 = ‖a‖2‖b‖2 − (a · b)2.Se um dos vetores a e b e nulo, a = 0 ou b = 0, entao a× b = 0. Caso

nenhum dos vetores seja nulo, entao podemos expressar o produto internocomo:

a · b = ‖a‖‖b‖ cos θe usando a propriedade (6) podemos verificar que:

‖a× b‖2 = ‖a‖2‖b‖2 − (a · b)2= ‖a‖2‖b‖2 − ‖a‖2‖b‖2 cos2 θ= ‖a‖2‖b‖2(1− cos2 θ)

= ‖a‖2‖b‖2 sin2 θ

A. Fundamentos Matematicos 317

que por sua vez implica em:

‖a× b‖ = ‖a‖‖b‖ sin θEsta expressao nos diz que a norma do produto cruzado de dois vetores naonulos e precisamente a area do paralelogramo cujos lados sao definidos porestes vetores. Esta propriedade e ilustrada na Figura A.13.

‖a‖

‖b‖ ‖b‖ sin θ

θ

Figura A.13: A area do paralelogramo com lados a e b e precisamente ‖a×b‖.

A.7 Calculo Vetorial

Dadas funcoes reais f1, f2 e f3 (fj : R → R), entao para cada t ∈ R

podemos definir o vetor:

f(t) = f1(t)i+ f2(t)j+ f3(t)k (A.9)

que induz uma funcao vetorial f . Por exemplo, fazendo f1(t) = sin t, f2(t) =cos t, f3(t) = 0, obtemos a funcao vetorial:

f(t) = sin ti+ cos tj

Note que para todo t,

‖f(t)‖ =√

sin2 t+ cos2 t = 1

Definicao A.8 (Limite) Uma funcao f dada por (A.9) possui um “limite”em t0 se e somente se f1, f2 e f3 possuem limite em t0. Seja u = x1i+x2j+x3k. Dizemos que:

limt→t0

f(t) = u ⇔ limt→t0

f1(t) = x1,

limt→t0

f2(t) = x2, e

limt→t0

f3(t) = x3 (A.10)

318 A. Fundamentos Matematicos

Definicao A.9 (Continuidade) Dizemos que uma funcao vetorial f econtınua em t0 se e somente se cada componente e contınua em t0. Ma-tematicamente, f e contınua se e somente se

limt→t0

f1(t) = f1(t0), limt→t0

f2(t) = f2(t0) e limt→t0

f3(t) = f3(t0)

De forma mais compacta, f e contınua ⇔ limt→t0 f(t) = f(t0).

Definicao A.10 (Diferenciacao) Uma funcao vetorial f e diferenciavel emt se e somente se cada um de seus componentes e diferenciavel em t. Logo

f ′(t) = f ′1(t)i+ f ′

2(t)j+ f ′3(t)k

sendo f ′(t) dita derivada de f dem t.

Podemos tambem definir f ′(t) como o limite do vetor do quociente dediferenca:

f ′(t) = limh→0

f(t+ h)− f(t)

hRegras de diferenciacao:

i. (f + g)′(t) = f ′(t) + g′(t)

ii. (αf)′(t) = αf ′(t) (para todo escalar α)

iii. [u(t)f(t)]′ = u′(t)f(t) + u(t)f ′(t)

iv. (f · g)′(t) = f(t) · g′(t) + f ′(t) · g(t)

v. (f × g)′(t) = f ′(t)× g(t) + f(t)× g′(t)

vi. f(u(t))′ = f ′(u(t))u′(t) (regra da cadeia)

Definicao A.11 (Integracao) Para uma funcao vetorial f contınua em [a, b],a integral de f e definida componente a componente:

∫ b

a

f(t)dt =

(∫ b

a

f1(t)dt

)

i+

(∫ b

a

f2(t)dt

)

j+

(∫ b

a

f3(t)dt

)

k

Regras de integracao:

i.∫ b

a[f(t) + g(t)]dt =

∫ b

af(t)dt+

∫ b

ag(t)dt

ii.∫ b

aαf(t)dt = α

∫ b

af(t)dt (para todo escalar α)

iii.∫ b

ac · f(t)dt = c ·

∫ b

af(t)dt (para todo vetor c)

iv.∫ b

a‖f(t)‖dt ≥ ‖

∫ b

af(t)dt‖

A. Fundamentos Matematicos 319

A.8 Funcoes de Multiplas Variaveis

A.8.1 Exemplos

Seja D ⊆ R2 um subconjunto do plano xy e seja f(x, y) uma funcao que

associa a cada ponto (x, y) de D um escalar. Tal funcao e dita funcao de duasvariaveis. O conjunto D e dito domınio de f . O conjuunto I = f(x, y) :(x, y) ∈ D e dito varredura de f .

Dois exemplos:

• Para D = R2, a funcao f(x, y) = xy associa um valor real a cada

elemento de D.

• Seja D = (x, y) : x2+ y2 < 1 o disco aberto de raio unitario no planoxy. A funcao f(x, y) = 1√

1−(x2+y2)esta definida dentro do disco aberto

D.

Seja D ⊆ R3 um subconjunto do espaco xyz. Uma funcao f(x, y, z)

que associa um valor real a cada ponto (x, y, z) de D e dita funcao de tresvariaveis. Da mesma forma que no caso anterior, D e o domınio de f ef(x, y, z) : (x, y, z) ∈ D e a varredura.

Como exemplo, Seja D = (x, y, z) : x2 + y2 + z2 < 1 uma bola tri-dimensional aberta de raio unitario. A cada ponto (x, y, z) ∈ D associamoso numero f(x, y, z) =

1− (x2 + y2 + z2).

A.8.2 Superfıcies

As superfıcies no espaco xyz definidas por equacoes da forma:

ax2 + by2 + cz2 + dxy + exz + fyz + hx+ iy + jz + k = 0 (A.11)

sao conhecidas por superfıcies quadraticas. Exemplos de superfıcies destafamılia sao: i) elipsoide; ii) hiperboloide de uma folha; iii) hiperboloide deduas folhas; iv) conica quadratica.

A.8.3 Elipsoide

O elipsoide com centro na origem e simetrico com respeito aos tres eixosconsiste das solucoes da equacao:

x2

a2+

y2

b2+

z2

c2= 1

320 A. Fundamentos Matematicos

O elipsoide ε = (x, y, z) : x2

a2+ y2

b2+ z2

c2= 1 intercepta os eixos coordenados

em 6 pontos: (±a, 0, 0), (0,±b, 0), e (0, 0,±c). Esses pontos sao conhecidospor vertices.

A superfıcie definida por ε e limitada, satisfazendo: |x| ≤ a, |y| ≤ b, e|z| ≤ c.

Todos os tracos do elipsoide definem elipses. Por exemplo, o traco noplano xy e obtido fazendo z = 0 que consiste da equacao:

x2

a2+

y2

b2= 1

a qual define uma elipse no plano xy.

Todas as secoes paralelas aos planos coordenados sao tambem elipses. Porexemplo, fazendo y = y0, teremos:

x2

a2+

z2

c2= 1− y20

b2

Esta elipse e a intersecao do elipsoide com o plano definido por y = y0.

Os numeros a, b e c sao os semi-eixos do elipsoide. Quando todos ossemi-eixos sao iguais, a superfıcie ε define uma esfera.

A.8.4 Derivadas Parciais

Seja f uma funcao de x, y e z, por exemplo, considere f(x, y, z) = 3x2y−5x cos(πy) + sin(z)x2. A derivada parcial de f com respeito a x e a funcao∂f∂x

obtida diferenciando f com respeito a x, enquanto que y e z sao tomadascomo constantes. Para o exemplo dado,

∂f

∂x= 6xy − 5 cos(πy) + 2 sin(z)x

A derivada parcial de f com respeito a y e a funcao ∂f∂y

obtida diferenciandof com respeito a y, enquanto que x e z sao tomadas como constantes. Parao exemplo dado,

∂f

∂y= 3x2 + 5πx sin(πy)

Da mesma forma para z, obtemos

∂f

∂z= x2 cos(z)

A. Fundamentos Matematicos 321

Formalmente, as derivadas parciais sao definidas em termos dos limites:

∂f

∂x= lim

h→0

f(x+ h, y, z)− f(x, y, z)

h∂f

∂y= lim

h→0

f(x, y + y, z)− f(x, y, z)

h

∂f

∂z= lim

h→0

f(x, y, z + h)− f(x, y, z)

h

Definicao A.12 Seja f : Rn → R uma funcao multivariada. Se as primei-ras derivadas parciais de f sao contınuas no ponto x, entao f e diferenciavelem x e

∇f(x) = ∂f

∂x(x)i+

∂f

∂y(x)j+

∂f

∂z(x)k

A.8.5 Diferenciacao e Gradiente

No caso de funcoes univariadas, o quociente

f(x+ h)− f(x)

h

era dito derivada de f no ponto x quando o quociente tinha limite parah → 0. No caso multivariado, podemos tomar a diferenca f(x + h) − f(x),mas o quociente

f(x+ h)− f(x)

hnao faz sentido ja que h e um vetor.

Seja o(h) um numero que e proporcional ao comprimento de h, i.e. ‖h‖.Dizemos que f : Rn → R e diferenciavel no ponto x se e somente se existeum vetor y tal que

f(x+ h)− f(x) = y · h+ o(h)

Tal vetor y, quando definido, e unico. Este vetor e dito gradiente de f noponto x e denotado por ∇f(x).

A.9 Conversao Entre Bases

A.9.1 Conversao de Numeros Inteiros

Sendo N um numero inteiro expresso em uma base S, representado porNS, deseja-se converter esse mesmo numero a base R (R 6= S), ou seja trans-formar NS em MR mantendo-se o valor do dado. Para fazermos tal conversao

322 A. Fundamentos Matematicos

Tabela A.1: Exemplo de conversao de base: (283)10 = (100011011)2n 0 1 2 3 4 5 6 7 8 9Nn 283 141 70 35 17 8 4 2 1 0An — 1 1 0 1 1 0 0 0 1

podemos lancar mao do metodo da sequencia de divisoes. Inicialmente di-vidiremos N por R, que gerara um resto A1 e um quociente N1, que depoisde dividido por R gerara um resto A2 e um quociente N2. Repetiremos esseprocesso ate chegarmos a um Nn−1 < R, que produzira um An = Nn−1. Umavez feitas todas as divisoes necessarias podemos construir o M , M = AnAn−1

. . .A1. Esse resultado pode ser melhor entendido se repararmos que:

N = R×N1 + A1

= R× (R×N2 + A2) + A1

= R× (R× (R×N3 + A3) + A2) + A1

...

= R× (R× (R× (. . . (R×Nn−1 + An−1) . . .) + A2) + A1

= R× (R× (R× (. . . (R× An + An−1) . . .) + A2) + A1

Ou seja:

N = An ×Rn−1 + An−1 ×Rn−2 + . . .+ A2 ×R + A1

Comprovando que NS = MR.

Exemplo:

Deseja-se converter o numero (283)10 para a base binaria.De acordo com o metodo das divisoes sequenciais, teremos a Tabela A.9.1Lembrando que Nn e o quociente e An e o resto da divisao de Nn−1 por

R, no caso 2.Uma vez calculados os valores de An podemos dizer que (283)10 =

(100011011)2, de acordo com M = AnAn−1 . . .A1 e 283 = 1 × 28 + 1 ×24 + 1× 23 + 1× 21 + 1× 20.

A.9.2 Conversao de Numeros Puramente Fracionarios

Como vimos, a conversao de um numero inteiro N pode ser representadapor: N = An × Rn−1 + An−1 × Rn−2 + . . . + A2 × R + A1. Por extensao,

A. Fundamentos Matematicos 323

Tabela A.2: Exemplo de conversao de base: (0.283)10 = (0.01001)2i NF ×R = R×NF Ai

-1 0.283× 2 = 0.566 0-2 0.566× 2 = 1.132 1-3 0.132× 2 = 0.264 0-4 0.264× 2 = 0.528 0-5 0.528× 2 = 1.056 1

podemos dizer que a parte fracionaria de um numero (aqui chamada de NF )tem sua conversao para a base R dada por:

NF = A−1 ×R−1 + A−2 ×R−2 + A−3 ×R−3 + . . .

Podemos definir os valores de A−1,A−2, etc por uma sequencia de multi-plicacoes, ou seja ao pegarmos o NF e multiplicarmos por R, teremos umnovo numero, o qual sua parte inteira sera igual ao fator A−1. Se subtrairmoso valor de A−1 da multiplicacao, teremos um novo numero fracionario semparte inteira, e podemos aplicar novamente o metodo. O numero de iteracoesdeterminara o numero de casas apos a vırgula (precisao) da conversao.

NF = A−1 ×R−1 + A−2 ×R−2 + A−3 ×R−3 + . . .

NF ×R = A−1 + A−2 ×R−1 + A−3 ×R−2 + . . .

R× (NF ×R− A−1) = A−2 + A−3 ×R−1 + . . .

A parte inteira de NF × R sera o valor de A−1. A parte inteira de R ×(NF ×R−A−1) sera o valor de A−2. E assim sucessivamente ate o numerodesejado de casas apos a vırgula.

Exemplo:

Deseja-se converter o numero (0.283)10 para a base binaria, com uma pre-cisao de 5 casas apos a vırgula. De acordo com o metodo das multiplicacoessequenciais, teremos a Tabela A.9.2.

Uma vez montada a tabela e facil visualizar os valores de Ai e por con-sequencia chegar a conversao desejada: (0.283)10 = (0.01001)2

A.9.3 Conversao de Numeros com Parte Fracionaria eParte Inteira

Caso um numero contenha tanto parte inteira quanto fracionaria, deve-mos proceder a conversao separadamente e juntar as duas solucoes no final,

324 A. Fundamentos Matematicos

pois:

NT = N +NF

N = An ×Rn−1 + An−1 ×Rn−2 + . . .+ A2 ×R + A1

NF = A−1 ×R−1 + A−2 ×R−2 + A−3 ×R−3 + . . .

Portanto:

NT = An ×Rn−1 + An−1 ×Rn−2 + . . .+ A2 ×R + A1

+A−1 ×R−1 + A−2 ×R−2 + A−3 ×R−3 + . . .

Exemplo:

Deseja-se converter o numero (283.283)10 para a base binaria, comuma precisao de 5 casas apos a vırgula. Utilizando os resultados ja en-contrados nos exemplos anteriores, chegamos ao resultado: (283.283)10 =(100011011.01001)2

A.9.4 Exercıcios

i. Um dado numero tem sua representacao dada por (275.65625)10, pede-se sua representacao na base binaria com precisao de 5 casas decimais.

ii. Desafio: Usando o MatLab (ou similar), implementar um algoritmoque transforme um certo numero decimal em um binario, e vice versa.

A.10 Referencias

Os conceitos apresentados neste apendice sao resumos editados e tradu-zidos do livro texto de Salas, Hille e Anderson [6]. O leitor interessando emaprofundar os topicos acima pode consultar diretamente o referido texto.

Apendice B

Exemplos de Codigo Matlab

B.1 Capıtulo 3

B.1.1 Figura 3.2

x =[];

y1 = [];

y2 = [];

y3 = [];

y4 = [];

y5 = [];

j = 0;

for k=-3:0.1:3

j = j+1;

x(j) = k;

y1(j) = exp(k);

y2(j) = exp(k) - exp(-k);

y5(j) = 0;

end

clf;

subplot(2,2,1);

plot(x,y1);

hold;

plot(x,y5);

subplot(2,2,2);

plot(x,y2);

hold;

plot(x,y5);

j=0;

for k=-2:0.1:2

j = j+1;

326 B. Exemplos de Codigo Matlab

x3(j) = k;

y3(j) = exp(k) - exp(-k) -3*k;

end

subplot(2,2,3);

plot(x3,y3);

hold;

plot(x,y5);

x4 = [];

y4b = [];

j=0;

for k=-5:0.1:5

j = j+1;

x4(j) = k;

y4(j) = cos(k) - 0.5;

y4b(j) = 0;

end

subplot(2,2,4);

plot(x4,y4);

hold;

plot(x4,y4b);

B.1.2 Metodo de Ponto Fixo para Funcao f(x) =x2/10− x+ 1

%--------------------------

% Iterative Process

x = [];

l = [];

x(1) = 1.5;

l(1) = 1;

for k=2:100

x(k) = (x(k-1)^2)/10 + 1;

l(k) = k;

end

plot(l,x);

B.1.3 Algoritmo da Biseccao

function [x] = bissec(funcao,a,b);

% BISSEC calcula a raiz de funcoes nao-lineares dentro de um

% intervalo estabelecido. Ela recebe os seguintes parametros:

%

% -> BISSEC(funcao,a,b)

B. Exemplos de Codigo Matlab 327

%

% - funcao = funcao definida por apenas uma variavel qualquer. Deve estar entre

% aspas simples.

% - a = extremo esquerdo do intervalo de avaliacao

% - b = extremo direito do intervalo de avaliacao

%

% Exemplo:

%

% >> BISSEC(’2*x^2+3*x-6’,1,3)

%

% ans %

% 1.1375

if (nargin ~= 3)

error(’A funcao BISSEC precisa de tres parametros. Mais informacoes: >> help bissec’);

end

lim=1000;

e1=10^(-10);

e2=10^(-10);

x0=a;

x1=b;

i=0;

f0=subs(funcao,x0);

f1=subs(funcao,x1);

if (f0*f1 > 0)

error(’Nao existe raiz entre a e b’);

end

while (i < lim)

if (abs(f0) <= e2)

x=x0;

break

end

if (abs(f1) <= e2)

x=x1;

break

end

if ((abs(x0-x1)) < (e1*(abs(x1))))

x=x0;

break

end

x2=(x0+x1)/2;

f2=subs(funcao,x2);

328 B. Exemplos de Codigo Matlab

if ((f2*f0) < 0)

x1=x2;

f1=f2;

else

x0=x2;

f0=f2;

end

i=i+1;

end

if (i > lim)

error(’Nao atingiu exatidao’);

end

Apendice C

Exercıcios Resolvidos

Capıtulo 2

Secao 2.1

i.

G =F

E

=(Y + Y + Y + Y + Y )−H

(X +X +X)−H

=

5

(

3

5−H

)

−H

3

(

2

3−H

)

−H

=3− 6H

2− 4H

=0

0

Indeterminacao.

ii. (a) HP25, F (10, 9,−98, 100)(a) 358200000001

(b) 0.100000000 · 10−98

(c) 0.999999999 · 10100(d) x : |x| > 0.999999999 · 10100 (e) x : 0 < |x| < 0.100000000 · 10−98

330 C. Exercıcios Resolvidos

(b) IBM 360/370, F (16, 6,−64, 63)(a) 4.026531841

(b) 0.100000 · 16−64

(c) 0.FFFFFF · 1663(d) x : |x| > 0.FFFFFF · 1663(e) x : 0 < |x| < 0.100000 · 16−64

(c) B6700, F (8, 13,−51, 77)(a) 124107374985217

(b) 0.1000000000000 · 8−51

(c) 0.7777777777777 · 1077(d) x : |x| > 0.7777777777777 · 1077(e) x : 0 < |x| < 0.1000000000000 · 8−51

iii. 0.110 para ambos os casos

Secao 2.4.1

i. ∇(a) = 5

8∆(a) =

3

4o(a) =

3

4∇(b) = 5

8∆(b) =

3

4o(b) =

5

8

ii. EA(∇(a)) =5

56ER(∇(a)) =

1

8

EA(∆(a)) =1

28ER(∆(a)) =

1

20

EA(o(a)) =5

56ER(o(a)) =

1

8

EA(∇(b)) =1

24ER(∇(b)) =

1

16

EA(∆(b)) =1

12ER(∆(b)) =

1

8

EA(o(b)) =1

24ER(o(b)) =

1

16

iii. DIGSE(x) = 4DIGSE(y) = 4

iv. Sim

C. Exercıcios Resolvidos 331

Secao 2.8

Exercıcio 2.1 Nao. Aumento de precisao nao implica aumento de exatidao.

Exercıcio 2.2 Nao. Ha muitos algoritmos mais exatos porem com custostemporais maiores para chegar a solucao.

Exercıcio 2.3 Erro Inerente: Erro intrınseco ao modelo matematico ado-tado. Para corrigi-lo, faz-se necessaria uma revisao do modelo identifi-cando as origens de tal erro.Erro de Discretizacao: Erro que aparece quando substitui-se umprocesso infinito por um processo finito. Para diminui-lo, deve ser au-mentado o numero de iteracoes ou termos relevantes.Erro de Arredondamento: Surge ao trabalharmos com maquinasdigitais e sistemas de ponto flutuante, onde faz-se necessario o arre-dondamento. Pode ser minimizado utilizando o arredondamento parao numero de maquina mais proximo (ox).

Exercıcio 2.6 17

Exercıcio 2.7 28.8125; 0.421875; 1000011; 1011101.001

Exercıcio 2.10

yn =

∫ 2

0

nn logn xex−1dx =

∫ 2

0

xnex−1dx

y1 =

∫ 2

0

xex−1dx =1 + e2

e

yn =

∫ 2

0

xnex−1dx = 2ne− nyn−1

y1 =1 + e2

e

y2 = 22e− 2y1 =2(e2 − 1)

e

y3 = 23e− 3y2 =2(e2 + 3)

e

y4 = 24e− 4y3 =8(e2 − 3)

e

Exercıcio 2.11 (a) 0 < | x| < 0.250 (b) | x| > 3.5 (c) 0.250

332 C. Exercıcios Resolvidos

(d) 0.3125

(e) 0.375

Exercıcio 2.12 b1 precisa ser maior que zero pois se fosse zero terıamos duasrepresentacoes diferentes em ponto flutuante para o mesmo numero, oque e nao desejavel.

Exercıcio 2.13 i. Sim

ii. Nao

iii. Sim

iv. Sim

Exercıcio 2.14 Item a)

f(x+∆x) =√x sin(x) +

[

1

2√xsin(x) +

√x cos(x)

]

∆x+

+

[ −14(x)

3

2

sin(x) +cos(x)

2√x

+1

2√xcos(x)−√x sin(x)

]

∆x2

2

f(x) =√x0 sin(x0) +

[

1

2√x0

sin(x0) +√x0 cos(x0)

]

(x− x0) +

+

[ −14(x0)

3

2

sin(x0) +cos(x0)

2√x0

+1

2√x0

cos(x0)−√x0 sin(x0)

]

(x− x0)2

2

=

π

2sin(π

2

)

+

[

1

2√

π2

sin(π

2

)

+

π

2cos(π

2

)

]

(

x− π

2

)

+

−14(

π2

)3

2

sin(π

2

)

+cos(

π2

)

2√

π2

+1

2√

π2

cos(π

2

)

−√

π

2sin(π

2

)

(

x− π2

)2

2

= 1.2533 + 0.3985(

x− π

2

)

− 1.3803(x− π

2 )2

2

Item b) f(

π3

)

= 0.8552. Item c) f(

π3

)

= 0.8862, ER = 3.50.

Exercıcio 2.15 Conversao de numeros na base 4 para base 5 em ponto flutuantes.Tem-se os algorismos na base a ser transformada:

N4 = 0.132

Para facilitar o processo converte-se esse numero a uma base familiar(base 10, porexemplo):

N4 → N10 = 0× 40 + 1× 4−1 + 3× 4−2 + 2× 4−3 = 0 +1

4+

3

16+

2

64=

8 + 6 + 1

32=

15

32= 0, 46875

C. Exercıcios Resolvidos 333

A partir do numero obtido, aplica-se o metodo de conversao ja conhecido(base 10para outra base qualquer):

i. O numero escrito na base 10 e multiplicada pelo numero de algorismospossıveis na nossa base(5, para base 5, 2 para base 2);

ii. Do numero resultante da multiplicacao subtrai-se o maior numero inteiropossıvel que ainda o mantenha positivo;

iii. Esse numero inteiro e o primeiro elemento da mantissa do algorismo ja con-vertido e a mantissa resultante da subtracao passa novamente pelos processos1,2,3.

0, 46873 ∗ 5→ 2, 34375⇒ 20, 34375 ∗ 5→ 1, 71875⇒ 10, 71875 ∗ 5→ 3, 59375⇒ 30, 59375 ∗ 5→ 2, 96875⇒ 20, 96875 ∗ 5→ 3, 84375⇒ 4

Logo, o numero N4 = 0, 132, N10 =0, 46875 em base 5 e 0, 21324∗...

1

5+

1

25+

1

125+

1

625+

1

3125

*O numero obtido atraves desse metodo possui ”infinitos”algorismo, visto que po-

emos multiplicar ”infinitamente”a mantissa por 54, logo o valor resultante, no seu

reconvertidos sera uma aproximacao do valor real. Entretanto, existem casos em

que a mantissa assume o valor zero, logo nesse caso o numero tem dıgitos finitos.

334 C. Exercıcios Resolvidos

Capıtulo 3

Secao 3.9

Exercıcio 3.1 Discordo. Ha casos onde o Metodo de Newton nao convergepara a solucao entrando em lacos infinitos ou divergindo.

Exercıcio 3.2

xk+1 = xk − f(xk)

f ′(xk)= xk −

√xk

1

2√xk

= xk − 2xk = −xk se x > 0

xk+1 = xk − f(xk)

f ′(xk)= xk +

√−xk

1

2√

−xk

= xk − 2xk = −xk se x < 0

a) Sim. x = 0b) Nao

c) Sim. x = ℜ− 0

Exercıcio 3.3 Discordo.

Exercıcio 3.4 x∗ = 0.56116456934659

Exercıcio 3.5 x = 1.8

Exercıcio 3.6

(x− x2)2 − 3x2 − 5x− 5 = 0

x4 − 2x3 − 2x2 − 5x− 5 = 0

Aplicando-se o Metodo da Bisseccao na equacao acima com (a, b) =(−1.5, 0) tem-se como solucao z∗ = (−0.9006426,−1.7117997).

Exercıcio 3.7

g(x) = x+ c(x)f(x)

g(x) = x+ (xe−x)

(

− 1

e−x(1 + x)

)

g(x) =x2

x+ 1

Para o ponto fixo convergir para uma solucao com x0 ∈ I = [0, 1), afuncao deve obedecer a tres condicoes:

C. Exercıcios Resolvidos 335

i. Deve ser contınua em I.

Visivelmente satisfeita.

ii. g(I) ∈ I

Como g(0) = 0 e g(1) = 0.5 e todos os outros pontos de g(I)estao dentro de I, a condicao 2 e satisfeita.

iii. |g′(I)| < 1

g′(x) =x2 + 2x

(x+ 1)2

Como |g′(0)| = 0 e |g′(1)| = 0.75 e todos os outros pontos de g′(I)estao dentro de I, a condicao 3 e satisfeita.

Exercıcio 3.8 Pode-se calcular a raiz de um numero xs pelo metodo deNewton.

y =√xs

y2 = xs

y2 − xs = 0

Aplicando o Metodo de Newton na equacao f(y) = y2 − xs acimavisando encontrar uma solucao positiva yn positiva:

yn+1 = yn −f(yn)

f ′(yn)

yn+1 = yn −y2n − xs

2yn

yn+1 =1

2

(

yn +xs

yn

)

Se iterar-se esta funcao a partir de um chute inicial y0 proximo asolucao, o metodo ira convergir para a solucao ideal.

Exercıcio 3.9 Implemente em uma plataforma computacional.

Exercıcio 3.10 ∇F (x, y) =

[

∂f1/∂x ∂f1/∂y∂f2/∂x ∂f2/∂y

]

336 C. Exercıcios Resolvidos

∇F =

[

e−x2−y2 − 2xe−x2−y2(x− y + 14) −e−x2−y2 − 2ye−x2−y2(x− y + 1

4)

4x − sin y

]

∇F (1, 0) =

[

−0.55181916 −0.367879444 0

]

F (1, 0) =

[

0.459849303

]

Para calcular o primeiro iterando utiliza-se a formula:

[

x1

y1

]

=

[

x0

y0

]

−∇F−1(x0, y0) · F (x0, y0)

=

[

10

]

−[

0 0.25−2.71828183711 −0.375

]

·[

0.459849303

]

=

[

0.252.375

]

Exercıcio 3.11

i) Falso

ii) Falso

iii) Falso

iv) Falso

v) Falso

Exercıcio 3.12 Substituindo as expressoes:

f(x) = x3 + 2.21x+ 2(5.3ex − x)

= x3 + 0.21x+ 10.6ex

Basta aplicar algum metodo numerico para encontrar um x∗ tal quef(x∗) = 0.

Exercıcio 3.13

P (λ) = −λ5 + 2λ4 + 72λ3 + 34λ2 − 647λ− 918

autovalores(A) = −2.2307, −2, −6.4588, 3.4468, 9.2427

Exercıcio 3.14 Desenvolver em uma plataforma computacional.

C. Exercıcios Resolvidos 337

Exercıcio 3.15 O problema consiste em:

min P (x, y) = min πx+ 2x+ 2y

A(x, y) = 2xy = 3.8

Fazendo as devidas substituicoes:

f(x) = πx+ 2x+3.8

x

f ′(x) = π + 2− 3.8

x2

f ′′(x) =7.6

x3

Note que para x > 0, f ′′(x) esta crescendo, entao f(x) e convexa.Portanto, o ponto de mınimo pode ser encontrado fazendo f ′(x) = 0.

f ′(x) = 0

π + 2− 3.8

x2= 0

x =

3.8

π + 2

Tem-se que x = 0.859694 e y = 2.210088.

Exercıcio 3.17 O processo iterativo advem da aplicacao do metodo de New-ton para computar f(x) =

√x.

a) Primeiramente, observe que g(y) e continua em I e portanto nosresta mostrar que g(y) ∈ I para todo y ∈ I.

g(y) ∈ I ⇔ 1 < g(y) < x

⇔ 1 <y2 + x

2y< x

1 < (y2 + x)/2y ⇔ 2y < y2 + x⇔ y2− 2y+ x > 0. Analisando asraızes da funcao quadratica, temos que ∆ = b2 − 4ac = 4− 4x <0⇔ x > 1. Portanto a quadratica tem somente raızes complexas esendo convexa nunca assumira valor negativo, verificando-se assimque 1 < (y2 + x)/2y para todo y ∈ I.

Por outro lado, (y2 + x)/2y < x ⇔ y2 + x < 2yx ⇔ y2 − 2xy +x < 0. Analisando as raızes da funcao quadratica, temos que∆ = b2 − 4ac = (−2x)2 − 4x = 4x2 − 4x = 4x(x − 1). ∆ > 0 ⇔

338 C. Exercıcios Resolvidos

4x2− 4x > 0⇔ 4x2 > 4x⇔ x2 > x⇔ |x| > 1, que e verificado jaque x > 1. Considere as duas raızes da quadratica dadas por:

y′ =−b+

√∆

2a=

2x+√

4(x2 − x)

2

= x+√x2 − x

> x (ja que x > 1)

y′′ =−b−

√∆

2a=

2x−√

4(x2 − x)

2

= x−√x2 − x

Note que:

y′′ > 1⇔ x−√x2 − x > 1

⇔ (x− 1) >√x2 − x

⇒ (x− 1)2 >√x2 − x

2

⇔ x2 − 2x+ 1 > x2 − x

⇔ −2x+ 1 > −x⇔ x < 1

Assim, a raiz y′′ ≤ 1 e a raiz y′ > x. Ja que a quadratica y2−2xy+x < 0 e convexa, na regiao definida pelo intervalo I = (1, x) estaassume valor estritamente negativo e, portanto, (y2 + x)/2y < x.

O desenvolvimento acima mostra que g(y) e contınua e g(I) ⊆ I,garantindo a existencia de um ponto fixo em I.

C. Exercıcios Resolvidos 339

Capıtulo 4

Secao 4.19

Exercıcio 4.1

a) Aplicando na equacao Diofantina, tem-se:

(a0+a1s)(d0+d1s+d2s2)+(b0+b1s)(n0+n1s+n2s

2) = δ0+δ1s+δ2s2+δ3s

3

Por igualdade de polinomios:

a0d0 + b0n0 = δ0

a1d0 + b0d1 + b1n0 + b0n1 = δ1

a0d2 + a1d1 + b0n2 + b1n1 = δ2

a1d2 + b1n2 = δ3

Escrevendo em modo matricial:

d0 0 n0 0d1 d0 n1 n0

d2 d1 n2 n1

0 d2 0 n2

a0a1b0b1

=

δ0δ1δ2δ3

b) Pelos dados fornecidos:

n0 = 1 n1 = 1 n2 = 0

d0 = 1 d1 = 2.5 d2 = 1

δ0 = 40 δ1 = 34 δ2 = 10 δ3 = 1

Substituindo na matriz:

1 0 1 02.5 1 1 11 2.5 0 10 1 0 0

a0a1b0b1

=

4034101

Apos aplicar o Metodo de Gauss com pivoteamento:

A(s) = −29 + s

B(s) = 69 + 36.5s

340 C. Exercıcios Resolvidos

c)

1 01 10 1

[

b0b1

]

=

40337.5

Exercıcio 4.2

a) O criterio das linhas diz que dado um sistema de equacoes Ax = b,se

n∑

j=1 ; j 6=i

| aij| < | aii| , i = 1, 2, ..., n

entao o Metodo de Gauss-Seidel gera uma sequencia convergente.

Aplicando-o para as linhas da matriz:

1a linha) |0.7|+ | − 1|+ |1| < |3| Verdadeiro2a linha) |1|+ | − 1|+ |0| < |2| Falso3a linha) |1|+ | − 1|+ |0.7| < |3| Verdadeiro4a linha) |1|+ |0|+ |1| < |2| Falso

Nao se pode afirmar nada sobre os Metodos de Jacobi e Gauss-Seidel a partir do criterio das linhas pois a condicao suficientenao foi corroborada.

b) Aplicando o criterio de Sassenfeld obteve-se os seguintes β:

β1 = 0.9 β21 = 0.45 β3 = 0.45 β4 = 0.675

Por este criterio, pode-se concluir que ha convergencia garantida.

c)[

t11 t21 v11 v21]t=

[

1

3

1

6− 1

18− 5

36

]t

Exercıcio 4.3

a) Sim. Vide Teorema 4.5.

b) Sim. A convergencia e uma caracterıstica intrınseca ao sistema,independente do chute inicial. Se converge para um ponto inicialdiferente da solucao, convergira para todos.

C. Exercıcios Resolvidos 341

Exercıcio 4.4

||x− x′||||x|| ≤ κ(A)

||b− b′||||b||

||x− y|| ≤ κ(A)||x|| ||b− (b−∆b)||||b||

||x− y|| ≤ κ(A)||x|| ||∆b||||b||

S =

y ∈ ℜn : ||x− y|| ≤ κ(A)||x|| ||∆b||||b||

Exercıcio 4.5 Ometodo de Jacobi pode portar-se como o metodo de Gauss-Seidel. Para tanto, o chute inicial x0 for igual a solucao x∗.

Exercıcio 4.6 A solucao mais sensata e a fatoracao LU da matriz A, o quefacilita a resolucao de diferentes problemas com matrizes b diferentes.Caso optasse por outros metodos, como Eliminacao de Gauss, a matrizA teria que ser processada a cada modelo diferente.

Exercıcio 4.7 Falso. O metodo iterativo pode ou nao convergir casodet(A) = 0. Para tanto, devem ser analisados os outros criterios comocriterio das linhas, diagonal dominante ou criterio de Sassenfeld.

Exercıcio 4.8 Desenvolver sobre uma plataforma computacional. A solucaoe:

[

x1 x2 x3 x4

]

=[

−0.6126 1.9404 1.5985 1.2270]

Exercıcio 4.9 ||A||∞ = 24 ||B||1 = 40 ||C|| = 4

Exercıcio 4.10 A matriz B = −D−1(A − D) define o processo itera-tivo de Jacobi com preparador classico. Note que ‖B‖1 = 1.1 e‖B‖∞ = 1.1714, nao permitindo concluir que o processo converge.No entanto, ‖B‖2 =

λmax(BTB) = 0.9530 < 1, garantindo que oprocesso iterativo xk+1 = Bxk +D−1b e convergente.

Exercıcio 4.11

i. κ(A) = ||A||.||A−1||ii. Nao. O sistema tera obrigatoriamente infinitas solucoes, nao po-

dendo ter apenas uma.

342 C. Exercıcios Resolvidos

iii. Sim. Um sistema linear tem uma solucao, infinitas solucoes ounenhuma solucao.

iv. Correto.

Exercıcio 4.12

i. rank(A) = rank([A|b]) < n

ii. A matriz A deve ser definida positiva.

iii. U =

1 1 30 2 20 0 1

Para b1: x1 =[

7.25 2.75 −3]

Para b2: x2 =[

16.25 6.75 −7]

Exercıcio 4.13[

fxfy

]

= CBA

[

∆Sx

∆Sy

]

onde: C =

[

sin θ1 sin θ2 − cos θ3− cos θ1 cos θ2 − cos θ3

]

B =

k1 0 00 k2 00 0 k3

A =

sin θ1 − cos θ1sin θ2 cos θ2− cos θ3 − sin θ3

Resolvendo o sistema para as condicoes especificadas, chega-se a:

∆S =

[

0.01620.0275

]

Exercıcio 4.14

i. FALSO

ii. VERDADEIRO

iii. VERDADEIRO

iv. VERDADEIRO

v. FALSO

C. Exercıcios Resolvidos 343

vi. FALSO

vii. FALSO

viii. VERDADEIRO

Exercıcio 4.15

Avn = λnvn

(A− λnI)vn = 0

A− λ1I 0 · · · 00 A− λ2I · · · 0

0 0. . . 0

0 0 · · · A− λnI

v1v2...vn

=

00...0

Exercıcio 4.16 Falso. Testar os diferentes preparadores para o sistema:

[

4 11 4

] [

x1

x2

]

=

[

00

]

O sistema com preparador unitario nao convirgira enquanto o sistemacom preparador classico convirgira.

344 C. Exercıcios Resolvidos

Capıtulo 5

Secao 5.10

Exercıcio 5.1

1 t1 t21 t31 0 0 0 01 t2 t22 t32 0 0 0 01 t3 t23 t33 0 0 0 01 t4 t24 t34 −1 −t4 −t24 −t340 1 2t4 3t24 0 −1 −2t4 −3t240 0 0 0 1 t5 t25 t350 0 0 0 1 t6 t26 t360 0 0 0 1 t7 t27 t37

c0c1c2c3d0d1d2d3

=

y1y2y300y5y6y7

Exercıcio 5.2[

x1, k+1

x2, k+1

]

=

[

x1, k

x2, k

]

−[

∂f1/∂x1 ∂f1/∂x2

∂f2/∂x1 ∂f2/∂x2

]−1 [f1f2

]

onde:

∂f1/∂x1 =2x1, k

(x21, k + 2x2

2, k + 1) log(10)

∂f1/∂x2 =4x2, k

(x21, k + 2x2

2, k + 1) log(10)

∂f2/∂x1 = −2x1, k

∂f2/∂x2 = 1

f1 = log(x21, k + 2x2

2, k + 1)− 1

2f2 = x2, k − x2

1, k + 0.2

Exercıcio 5.3

xk+1

yk+1

zk+1

=

xk

ykzk

∂f1/∂x ∂f1/∂y ∂f1/∂z∂f2/∂x ∂f2/∂y ∂f2/∂z∂f3/∂x ∂f3/∂y ∂f3/∂z

−1

f1f2f3

xk+1

yk+1

zk+1

=

xk

ykzk

2xk 6zky2k + 4y3k 2y3k

9x2k − 12xkzk −3y2k −6x2

k

1 −1 −2

−1

x2k + 2zky

3k + y4k

3x3k − 6x2

kzk − y3kxk − 2zk − yk

C. Exercıcios Resolvidos 345

Exercıcio 5.4 Faz sentido utilizar P quando rank(A) = rank([A|b]) < n,ou seja, tem-se um sistema subdimensionado com infinitas solucoes.Sao aplicaveis em sistemas de otimizacao onde procura-se a solucao demenor norma.

Exercıcio 5.5 Faz sentido utilizar P quando rank(A) < rank([A|b]), ouseja, nao ha solucao para o sistema. Neste caso tenta-se minimizar oerro da solucao encontrada. Tem aplicacoes em problemas similarescomo ajuste de curvas, ajuste de polinomios e identificacao de sistemasdiscretos por predicao.

Exercıcio 5.7

[

1 1 · · · 1 1392

372· · · 3

212

]

2×20

vx1vx2...vx19vx20

20×1

=

[

01

]

[

1 1 · · · 1 1392

372· · · 3

212

]

2×20

vy1vy2...vy19vy20

20×1

=

[

04

]

Exercıcio 5.8

a) 13.1816 e 0.1517

b) 13.1816

c) 13.1816

Exercıcio 5.9 E possıvel.

Cj = cj ⇔ lnCj = ln cj ⇔ ln(exayj bkj g

zjd

tj) = ln cj

x+ y ln aj + k ln bj + z ln gj + t ln dj = ln cj

O problema se constitui entao em min ||Aw − b|| 2, aonde

A =

1 ln a1 ln b1 ln g1 ln d11 ln a2 ln b2 ln g2 ln d2

...1 ln am ln bm ln gm ln dm

w =

xykzt

b =

ln c1ln c2...

ln cn

346 C. Exercıcios Resolvidos

Exercıcio 5.11

i. FALSO

ii. VERDADEIRO

iii. FALSO

iv. FALSO

v. VERDADEIRO

vi. VERDADEIRO

vii. FALSO

viii. FALSO

ix. VERDADEIRO

Exercıcio 5.12 Se g(x) = −f ′′(x) e h(x) = f ′(x) entao existe x tal que:

g(x) < 0 ⇔ f ′′(x) > 0

h(x) = 0 ⇔ f ′(x) = 0

Entao x satisfaz a condicao suficiente de segunda ordem para mınimolocal. Entao pode-se aplicar o pacote de software.

C. Exercıcios Resolvidos 347

Capıtulo 6

Secao 6.5

Exercıcio 6.1

a) Calculando a Cota de Laguerre-Thibault:

p (x) = x7 + 4x6 − 7x5 − 34x4 − 24x3 − x+ 1

S = (+,+,−,−,−,−,+) ⇒ T = 2

p (−x) = −x7 + 4x6 + 7x5 − 34x4 + 24x3 + x+ 1

S ′ = (−,+,+,−,+,+,+) ⇒ T ′ = 3

Possui 2 ou nenhuma raızes positivas e, 3 ou 1 raızes negativas.

Por a5 = 0, pode-se concluir pela Regra da Lacuna que para haverraızes complexas a4a6 > 0.

a4 · a6 > 0 ⇒ (−24) · (−1) > 0 ⇒ 24 > 0

Possui raızes complexas conjugadas.

VERDADEIRO

b) Pela Cota de Kojima, tem-se a seguinte serie de fatores:4, 2.646, 3.24, 2.213, 1, 1. A soma dos dois maiores fatores e7.24. Desta forma, pode-se afirmar que o modulo de toda e qual-quer raiz de p (x) e menor que 7.24.

VERDADEIRO

Exercıcio 6.2

p (x) = 2x7 + 4x6 − 7x5 + 12x4 − x− 1

S = (+,+,−,+,−,−) ⇒ T = 3

p (−x) = −2x7 + 4x6 + 7x5 + 12x4 + x− 1

S ′ = (−,+,+,+,+,−) ⇒ T ′ = 2

Possui 3 ou 1 raızes positivas e, 2 ou nenhuma raızes negativas.

Por a5 e a4 serem nulos, pode-se concluir pela Regra da Lacuna que haraızes complexas conjugadas.

348 C. Exercıcios Resolvidos

Pela Cota de Kojima, tem-se a seguinte serie de fatores:2, 1.8708, 1.8171, 0.8909, 0.9057. A soma dos dois maiores fatores e3.8708. Desta forma, pode-se afirmar que o modulo de toda e qualquerraiz de p (x) e menor que 4.

a) VERDADEIRO

b) FALSO

c) VERDADEIRO

d) VERDADEIRO.

Exercıcio 6.3

q(x) = (2x5 + 6x4 − 10x3 − 30x2 + 8x1 + 24)x2

h(x) = 2x5 + 6x4 − 10x3 − 30x2 + 8x1 + 24

S = (+,+,−,−,+,+) ⇒ T = 2

h(−x) = −2x5 + 6x4 + 10x3 − 30x2 − 8x1 + 24

S ′ = (−,+,+,−,−,+) ⇒ T ′ = 3

a) q(x) tem duas ou nenhuma raiz positiva

b) q(x) tem tres ou uma raiz positiva

c) Nao possui raızes complexas (verificar com a Regra da Lacuna)

d) As raızes sao 0, 0, 1, 2, −1, −2, −3 (tentar encontrar as cotassuperior e inferior)

e) Nao ha raızes complexas.

C. Exercıcios Resolvidos 349

Capıtulo 7

Secao 7.7

Exercıcio 7.1

i) 4.4816890

ii) 5.0536689

Exercıcio 7.2

a) 20598

b) 20851

c) Pela Esquerda = 15479 Pela Direita = 26223.

Exercıcio 7.3 Considerando ξ = 1, por ser aonde f ′′(ξ) possui maiormodulo, tem-se que

max ETTS = 0.3372

Exercıcio 7.4

f(x) = 24 − 3x3 + 2x2 − x+ 1− sin(

x− π

2

)

f ′(x) = 8x3 − 9x2 + 4x− 1− cos(

x− π

2

)

f ′′(x) = 24x2 − 18x+ 4 + sin(

x− π

2

)

Considerando ξ = π, por ser aonde f ′′(ξ) possui maior modulo, e h = π2:

max ETTS =

(

π2

)3

12×(

24π2 − 18π + 4 + sin(π

2

))

max ETTS = 59.85562

350 C. Exercıcios Resolvidos

Capıtulo 8

Secao 8.10

Exercıcio 8.2 i(3.8) = 0.0043

Exercıcio 8.3 [Item a)] Partindo das equacoes diferenciais dadas no pro-blema reescritas abaixo:

(M +m) y +mlθ = u

2lθ − 2gθ + y = 0

Primeiramente e preciso modificar as variaveis utilizadas, como suge-rido no prrblema. As novas variaveis utilizadas sao as seguintes:

y = x1

y = x2

θ = x3

θ = x4

Com estas novas variaveis, as equacoes ficam da seguinte forma:

(M +m) x2 +mlx4 = u2lx4 − 2gx3 + x2 = 0

Pode-se manipular estas duas equacoes de forma a obter um sistemada forma x = F (x, u). Isolando x2 da primeira equacao e substituindona segunda equacao obtem-se a seguinte expressao:

x4 =2g (M +m)

l (2M +m)x3 −

u

l (2M +m)

Realizando o mesmo procedimento, agora isolando x4 da segundaequacao e substituindo na primeira equacao, tem-se o seguinte resul-tado:

x2 =−mg

(

M + m2

)x3 +u

(

M + m2

)

Sabendo que x1 = x2 e x3 = x4 pode-se montar o seguinte sistemas dotipo x = F (x, u):

x1

x2

x3

x4

=

0 1 0 00 0 −mg

M+m2

0

0 0 0 1

0 0 2g(M+m)l(2M+m)

0

·

x1

x2

x3

x4

+

01

(M+m2 )

0−1

l(2M+m)

· u

C. Exercıcios Resolvidos 351

[Item b)] Substituindo os valores das variaveis do problema e da leide controle u = −kx, pode-se simplificar as equacoes, chegando a umproblema do tipo x = (A− bk) x, dado por

x1

x2

x3

x4

=

0 1 0 00, 3085 0, 9908 47, 7577 10, 7910

0 0 0 1−0, 3085 −0, 9908 −28, 1577 −10, 7910

·

x1

x2

x3

x4

(C.1)

Este sistema de equacoes define o movimento do pendulo invertidoao longo do tempo. Para calcular estas saıdas aplica-se o metodode Runge-Kutta para equacoes diferenciais do tipo x = F (x, t) comcondicao inicial x (t0) = x0 conhecida e h dado como o intervalo deintegracao .

Aplicando o metodo chega-se as seguintes expressoes:

tk+1 = tk + h

xk+1 = xk +k1 + k2

2k1 = h · F (xk, tk)

k2 = h · F (xk + k1, tk+1)

As condicoes iniciais do problema sao conhecidas e dadas por:

t0 = 0

h = 0, 1

x0 =[

0, 2 0 0, 5 0]T

x (0) = x0 =[

0 23, 9406 0 −14, 1406]T

onde x0 foi calculado com o sistema de equacoes (C.1). Pode-se exem-plificar a solucao do problema calculando a primeira iteracao. Paraeste caso tem-se os seguintes valores:

t1 = 0, 1

k1 = h · x0

=[

0 2, 3941 0 −1, 4141]T

k2 = h · x1

= h · x (x0 + k1, t1) =[

0, 2394 1, 1053 −0, 1414 −0, 1253]T

x (0, 1) =[

0, 3197 1, 7497 0, 4293 −0, 7697]T

352 C. Exercıcios Resolvidos

A tabela a seguir apresenta alguns pontos da trajetoria de x.

x (0) x (0, 1) · · · x (9, 9) x (10)

x1 0, 2 0, 3197 · · · −0, 0845 −0, 0896x2 0, 0 1, 7497 · · · −0, 0553 −0, 0483x3 0, 5 0, 4293 · · · 0, 0037 0, 0035x4 0, 0 −0, 7697 · · · −0, 0022 −0, 0021

A seguir esta um grafico representando a evolucao de x (t) no intervalode 0 a 10 segundos para as condicoes iniciais dadas.

0 1 2 3 4 5 6 7 8 9 10−2

−1

0

1

2

3

4

5

Tempo (s)

Am

plitu

de

Trajetórias de x(t)

x1(t)x2(t)x3(t)x4(t)

Figura C.1: Trajetoria do sistema pendulo invertido.

[Item c)] Modificando agora a condicao inicial x0 e aplicando o mesmoprocedimento chega-se ao grafico de x (t) dado a seguir. Percebem-sevariacoes em relacao as amplitudes se comparadas ao grafico anterior,porem apresentando comportamento semelhante ao longo da trajetoria.

x (0) x (0, 1) · · · x (9, 9) x (10)

x1 −0, 3 −0, 1094 · · · −0, 1201 −0, 1286x2 0, 0 2, 7898 · · · −0, 0908 −0, 0800x3 0, 8 0, 6878 · · · 0, 0058 0, 0054x4 0, 0 −1, 2218 · · · −0, 0033 −0, 0032

C. Exercıcios Resolvidos 353

0 1 2 3 4 5 6 7 8 9 10−2

−1

0

1

2

3

4

5

6

7

Tempo (s)

Am

plitu

de

Trajetórias de x(t)

x1(t)x2(t)x3(t)x4(t)

Figura C.2: Trajetoria do sistema pendulo invertido.

Exercıcio 8.4

x1 = V = x2

x2 = V = −45x2 − 1

15x1 − 4e−2t

a) V (5) = −0.4365m/s V (5) = −0.0306m/s2

b) V (5) = −0.4343m/s V (5) = −0.0307m/s2