• Nenhum resultado encontrado

Poligrafo de calculo numerico

N/A
N/A
Protected

Academic year: 2021

Share "Poligrafo de calculo numerico"

Copied!
71
0
0

Texto

(1)

UNIVERSIDADE LUTERANA DO BRASIL

NOTAS DE AULA DE

CÁLCULO NUMÉRICO

Profa. Sandra P. Renz

(2)

SUMÁRIO

INTRODUÇÃO 3

1 CONVERSÃO DE NÚMEROS NOS SISTEMAS DECIMAL E BINÁRIO 4 2 ERROS DE ARREDONDAMENTO E ARITMÉTICA COMPUTACIONAL 8

3 ZEROS DE FUNÇÕES 13

4 MÉTODOS ITERATIVOS PARA CALCULAR RAÍZES REAIS 16 5 RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES 23

Aplicações 28

Exercícios complementares 5.6 35

Qual método é melhor: o direto ou o iterativo? 36

6 INTERPOLAÇÃO 37

Forma de Lagrange para grau 1 40

Forma de Lagrange para grau 2 41

7 MÉTODO DOS MÍNIMOS QUADRADOS 43

8 INTEGRAÇÃO NUMÉRICA 48

9 EXERCÍCIOS DE REVISÃO 57

Grau 1 57

Grau 2 58

ANEXO 1- REVISÃO DE CÁLCULO DIFERENCIAL E INTEGRAL 60 ANEXO 2- RESPOSTAS DOS EXERCÍCIOS 63

ANEXO 3- FÓRMULAS 70

(3)

INTRODUÇÃO

O presente caderno pedagógico foi elaborado a partir de um conjunto de notas de aula da disciplina de Cálculo Numérico com a finalidade de facilitar ao aluno os conceitos básicos e essenciais para o desenvolvimento da mesma.

Ao longo dos anos foram selecionados textos de autores consagrados como: Humes (1986), Barroso (1987), Ruggiero e Lopes (1997), Burden e Faires (2003) e adaptados para o curso de Licenciatura em Matemática.

Os conteúdos são apresentados seguidos de exemplos resolvidos ou que serão resolvidos pelos educandos em sala de aula com o uso de calculadoras científicas. Procurou-se abranger o conteúdo de forma que o estudante pudesProcurou-se conectá-los aos conteúdos estudados no Ensino Médio.

Desta forma, espero que esse material possa contribuir para a construção dos conceitos aqui envolvidos.

(4)

1 CONVERSÃO DE NÚMEROS NOS SISTEMAS DECIMAL E BINÁRIO

Nesta disciplina vamos estudar mudança de base no sistema decimal e no sistema binário.

1.1 Mudança da base 10 para base 2

Para mudar da base 10 para base 2 é necessário realizar um processo para a parte inteira e um processo para a parte fracionária.

Processo para a parte inteira

Para transformar um número inteiro na base 10 para base 2, utiliza-se o método das

divisões sucessivas, consiste em dividir o número por 2, a seguir, dividi-se o quociente

encontrado e assim o processo é repetido até que o último quociente seja igual a 1.

O número binário será formado pelo último quociente com os restos das divisões lidos em sentido inverso ao que forem obtidos.

Exemplos: a)

(

13

)

10

(

1101

)

2

13 2 1 6 2 0 3 2 1 1 1 b) (23)10→ (10111)2

Construímos uma tabela colocando os quocientes e os restos das divisões. 23 11 5 2 1

1 1 1 0 1 c) (2345) 10→ (100100101001)2

2345 1172 586 293 146 73 36 18 9 4 2 1

(5)

Processo para a parte fracionária

Para transformar um número fracionário na base 10 para a base 2, utiliza-se o método das multiplicações sucessivas que consiste em:

a) multiplicar o número fracionário por 2.

b) deste resultado, a parte inteira será o primeiro dígito do número na base 2 e a parte fracionária é novamente multiplicada por 2. O processo é repetido até que a parte fracionária do último produto seja igual a zero.

Exemplos:

a) (0,1875)10 → (0,0011)2

Construímos uma tabela colocando o resultado da multiplicação por dois (R), extraímos a parte inteira (PI) e a parte fracionária (PF) que será multiplicada novamente.

0,1875 R PI PF 2 (0,1872) 0,375 0 0,375 2 (0,375) 0,75 0 0,75 2 (0,75) 1,5 1 0,5 2 (0,5) 1,0 1 0 2 (0) 0 fim b) (11,625)10 → (1011,101)2

i) método para a parte inteira (11)10 → (1011)2 11 5 2 1 1 1 0 1 ii) método para parte fracionária (0,625)10 → (0,101)2

0,625 R PI PF 2 (0,625) 1,25 1 0,25 2 (0,25) 0,5 0 0,5 2 (0,5) 1 1 0 2 (0) 0 Fim logo: (11,625)10 = (11)10 + (0,625)10 = (1011)2 + (0,101)2 = (1011, 101)2 1.2 Conversão de base 1.2.1 Fórmula geral

Um número N qualquer pode ser descrito numa base

β

de acordo com a seguinte expressão polinomial:

Parte Inteira Parte Fracionária n n o m m m m a a a a a a a N =

β

+ 1

β

−1+ ... + 1

β

1+ + 1

β

−1+ 2

β

−2+ ... +

β

(6)

sendo: 0≤ak <

β

Exemplos: a) 2 1 0 10 3 10 4 10 7 10 ) 347 ( = × + × + × b) 3 2 1 0 2 1 2 1 2 0 2 1 2 ) 1101 ( = × + × + × + × c) 0 1 2 10 3 10 2 10 7 10 ) 27 , 3 ( = × + × − + × −

Observe que os algarismos que representam o número na base

β

são os coeficientes da expressão polinomial. É importante também observar que o deslocamento da vírgula no número é realizado pela multiplicação do número pela correspondente potência da base do número. Por exemplo:

a) 2 10 10 (23,45 10 ) ) 2345 , 0 ( = × − b) 2 2 2 (11,01 2 ) ) 1101 , 0 ( = × −

1.2.2 Mudança da base 2 para base 10

Base

β

→ Base Decimal

A solução numérica da expressão polinomial sempre resulta num número N na base decimal. Exemplo: a) 4 3 2 1 0 10 2 1 2 0 2 1 2 1 2 1 2 (23) ) 10111 ( = × + × + × + × + × = b) 0 1 2 3 4 10 2 (0,8125) 16 1 4 1 2 1 2 1 2 0 2 1 2 1 2 0 ) 1101 , 0 ( = × + × − + × − + × − + × − = + + = c) 0 1 2 3 10 2 0 2 1 2 1 2 1 2 (0,875) ) 111 , 0 ( = × + × − + × − + × − = d) 0 1 2 3 10 2 1 2 1 2 0 2 1 2 (1,625) ) 101 , 1 ( = × + × − + × − + × − =

Onde utilizamos a mudança de base?

Todas as informações que um computador manipula são guardadas na forma de sinais elétricos discretos (pulsos elétricos) que podem assumir dois valores, basicamente. Como os sinais elétricos assumem, primariamente, dois valores (desligado e ligado), dizemos que esses valores são representados como 0 (zero) e 1 (um).

Cada pulso elétrico em um computador (seja 0 ou 1) é chamado de bit (dígito binário) e normalmente é reunido em conjuntos de 8 para significar algo (8 bits formam um byte – termo binário). Logo, 1 é um bit, 0 é um bit, 10010011 é um byte.

Os bits e bytes são usados para medir as informações que passam e são armazenadas em um computador. Todas as memórias têm suas capacidades medidas em bytes, as transferências de dados são medidas em bytes por segundo ou bits por segundo.

Um bit não serve para armazenar nada compreensível, mas um byte é a medida suficiente para armazenar um caractere (letra) que usamos em nosso dia a dia. Por exemplo,

C = 01000011 A = 01000001

(7)

Portanto todas as informações que manipulamos em um computador são, na verdade, sinais elétricos. Ou seja, letras, números, desenhos, fotos, sons e vídeos são BITS e BYTES ora armazenados em memórias, ora sendo processados pela CPU do computador.

Representação de quantidades maiores de bytes reunidos: 1 Kilobyte (KB) = 1024 Bytes

1 Megabyte (MB) = 1024 x 1024 Bytes (aprox. 1 milhão) 1 Gigabyte (GB) = 1024 x 1024 x 1024 Bytes (aprox. 1 Bilhão)

1.3 Exercícios complementares

1) Converta os números binários para a sua forma decimal. a) (101101)2 c) (11,01)2

b) (1011,111)2 d) (10,1)2 2) Converta os números decimais para a base 2.

a) 18 d) 15, 8125

b) 13,25 e) 0,1

c) 0,1217 f) 3,109375

3) A soma de dois números, feita no computador, deu como resultado 1111000. Qual seria o resultado da adição se a operação fosse realizada no sistema de numeração decimal ? 4) O número 111 está escrito no sistema de numeração decimal. A sua representação no

sistema binário é :

a) 101111 c) 110110 e) 101010

b) 1000111 d) 1101111

5) O número 10111 está escrito no sistema binário. A sua representação no sistema de numeração decimal é:

a) 26 c) 23 e) 28

b) 25 d) 22

6) O número 101 está escrito no sistema de numeração decimal. A sua representação no sistema binário é :

a) 1100101 c) 1001101 e) 1101010

(8)

2 ERROS DE ARREDONDAMENTO E ARITMÉTICA

COMPUTACIONAL

2.1 Noções Básicas sobre Erros

Ao utilizar uma calculadora científica ou um computador para resolver um problema matemático, às vezes, os cálculos são efetuados corretamente, no entanto, a solução não está coerente com o problema proposto. Quais os erros que podem estar envolvidos nesse processo?

Alguns autores explicam esses erros, dentre eles citam-se Roque (2000), Ruggiero e Lopes (1997) e Cláudio e Marins (1994). Para o entendimento dos mesmos, apresenta-se o esboço a seguir.

Duas fases podem ser identificadas no esquema anterior: a fase da modelagem, onde um modelo matemático que descreve o comportamento do problema real é obtido; e a fase da resolução, onde a solução do modelo matemático através da aplicação de métodos analíticos ou métodos numéricos é obtida. Para este último, utilizam-se calculadoras ou computadores. Nessas fases há vários erros envolvidos que serão discutidos a seguir.

2.2 Erros na fase de modelagem

Ao tentar aproximar um problema real por meio de um modelo matemático, faz-se necessário desprezar variáveis que não interferem no desenvolvimento do processo. Por exemplo, ao deixar cair um objeto de uma mesa, algumas variáveis envolvidas no fenômeno são: as dimensões e o peso do objeto, a altura da mesa, o tempo para o objeto chegar ao solo, a velocidade, o espaço percorrido pelo objeto, a gravidade, a resistência do ar, entre muitas outras. Quais dessas variáveis poderiam ser ignoradas de forma a não afetar o problema?

Um modelo matemático é uma idealização do mundo real que permite cálculos matemáticos, mantendo, entretanto, uma precisão suficiente para a obtenção de resultados plausíveis. Desta forma, ao ajustar as variáveis envolvidas no processo, provocam-se erros de simplificação na modelagem matemática.

Deve-se ainda mencionar aqueles erros que estão inseridos dentro dos dados coletados, principalmente os erros resultantes das medidas, como, por exemplo, os valores de

Problema

Real Solução

• Observação do fenômeno. • Levantamento dos efeitos

dominantes

• Permite analisar situações reais ou fazer previsões de comportamentos. • Procedimentos analíticos ou numéricos. • Confrontação de dados com situações experimentais para validação do modelo Modelo Matemático

(9)

medidas de tempo, de temperatura, de distância, de intensidade luminosa, entre muitos outros. Esses dados são obtidos através de instrumentos que, em muitos casos, têm precisão limitada.

2.3 Erros na fase de resolução

Para a resolução dos modelos matemáticos é necessário fazer aproximações. Tais aproximações podem gerar os chamados erros de truncamento e também os erros de arredondamento.

Os erros de truncamento são aqueles cometidos quando se substitui qualquer processo infinito por um processo finito. Por exemplo, suponha que se queira calcular o número de Euler, dado pela serie infinita (Claudio e Marins, 2000, p. 35),

∞ = = 0 ! 1 i i e .

Para obter o valor do número de Euler por este processo, efetua-se o cálculo da série em várias parcelas e depois, após um número determinado de operações finaliza-se o cálculo, ou seja, trunca-se a série. Ao truncar qualquer série comete-se um erro causado pelo abandono das parcelas que não são somadas.

Já os erros de arredondamento surgem quando se trabalha com calculadoras digitais ou computadores para representar números pertencentes ao campo dos reais, como, por exemplo, o número racional

3 2

, cuja representação decimal 0,666K é uma dízima periódica infinita. Uma calculadora representa tais números no sistema denominado Aritmética de Ponto Flutuante.

2.4 Representação de um número em Ponto Flutuante

A representação dos números em Ponto Flutuante permite expressar um número real r, na base

β

, em uma forma canônica, ou seja,

α

β

× ± = d d d dk r L 3 2 1 , 0 ,

onde

β

é a base do sistema de numeração adotado;

α

é o expoente da base, tal que S

I

α

≤ , em que

α

pertence ao conjunto dos números inteiros com Isendo o limite inferior e S o limite superior para a variação do expoente. Os dígitos d d d Ldk

3 2

1 formam a mantissa do número e representam seus dígitos significativos, Roque (2000).

Para a base 10 têm-se os números decimais da seguinte forma:

α 10 , 0 1 2 3 × ± = d d d dk n L

com

1

≤ d

1

9

e

0

d

i

9

, para i=1,2,L,k, sendo

α

denominado expoente da base decimal.

(10)

2.5 Método de arredondamento do tipo corte e método de arredondamento. O formato de Ponto Flutuante de um número é obtido limitando-se a mantissa desse número em kdígitos decimais, de modo que essa limitação é obtida de duas formas: o método de arredondamento do tipo corte e o método de arredondamento.

O primeiro, também chamado de método de cancelamento, consiste em desprezar os dígitos além da precisão previamente estabelecida.

O segundo consiste em aproximar para o número mais próximo de máquina, ou seja, se,

5

1

+ k

d

, adiciona-se 1 a

d

k

para obter o número

n

com arredondamento e quando

d

k+1

<

5

, simplesmente cortam-se todos os dígitos seguintes aos kprimeiros algarismos.

Por exemplo, o valor do número ln(2)na forma decimal expande-se em infinitos dígitos, ln(2)=0,69314718K. Na representação em Ponto Flutuante tem-se:

0 10 69314718 , 0 ) 2 ln( = K× .

Para uma precisão de cinco dígitos utilizando o método do arredondamento do tipo corte encontra-se: 0 10 69314 , 0 ) 2 ln( = × .

Utilizando o arredondamento no sexto dígito tem-se o número 7 que é maior que cinco, portanto adiciona-se 1 ao quinto dígito, ou seja,

.

10

69315

,

0

10

)

00001

,

0

69314

,

0

(

+

×

0

=

×

0

Na tabela a seguir observe outros exemplos.

Número flutuante normalizada Notação em ponto método do corte, Truncamento ou quatro dígitos Arredondamento quatro dígitos 2,718281828... 0,2718281828...x101 0,2718x101 0,2718x101 135,762 0,135762 x103 0,1357x103 0,1358x103 0,0000085328 234,23545475 0,0003238563 2.6 Medida de Erros

Ao fixar a mantissa e realizar um arredondamento, de qualquer tipo, causam-se erros. Esses erros podem ser medidos através do erro absoluto e do erro relativo. O erro absoluto, indicado por

E

A, é o módulo da diferença entre o valor “exato” e o valor aproximado,

A

E

E

A

=

.

Cabe ressaltar que o número exatoE é aquele que representa o valor inteiro ou completo de uma grandeza, como, por exemplo, o número

2

ou ln(2). Já o número

(11)

aproximado A é aquele utilizado para representar o número exato. Por exemplo, se o valor exato de um número é dado por E = 0,300×101 e o valor aproximado é 1

10 3100

0 ×

= ,

A ,

então o erro absoluto é:

A E

EA = − = 0,300 × 101 - 0,3100× 101 =0,1.

O erro relativo é definido como o quociente entre o erro absoluto e o módulo do valor exato, ou seja,

. A E A E E E ER = = −

Por exemplo, se o valor exato de um número é dado por E =

0

,

300

×

10

1 e o valor

aproximado é 1

10 3100

0 ×

= ,

A , então o erro relativo é:

. 10 333 , 0 10 300 , 0 1 , 0 1 1 − × = × = = K E E E A R

Exemplo : Qual o erro absoluto cometido quando se toma 0,63 para valor aproximado de

8 5

?

2.7 Overflow e underflow

O conjunto dos números Reais é infinito, no entanto uma máquina trabalha com um número finito de dígitos. Logo, a representação de um número em um sistema de ponto flutuante é limitada. Essa limitação tem duas origens:

• a faixa dos expoentes é limitada

• a mantissa representar um número finito de números

A primeira limitação leva aos fenômenos chamados de overflow e underflow. A segunda, leva aos erros de arredondamentos.

Sempre que uma operação aritmética produz um número com expoente superior ao expoente máximo de determinada maquina, tem-se o fenômeno de overflow. De forma similar, operações que resultem em expoente inferior ao expoente mínimo tem-se o fenômeno de

underflow, esse número geralmente é ajustado para zero.

Por exemplo, calcule o valor de x

e x

f

(

)

= para os mais diversos valores de x. Valores de x x e x f( )= –300 0 –200 1,3838965x10–87 –100 3,7200759x10–44 0 1 100 2,6881171 x1043 200 7,2259737 x1086 300 Erro

(12)

Em –300 ocorre um erro de underflow, a máquina ajusta o número para zero e em 300 ocorre um erro de overflow a máquina não consegue calcular.

2.8 Exercícios complementares

1) Conhecidos os valores exato e aproximado, calcular o erro absoluto, o erro relativo e o erro percentual de cada número aproximado:

a) E = 3,56834 e A = 3,2894 b) E = 89,538 e A = 89,527 c) E = 5 e A = 4,9999

2) O número 1,7523 tem para valor aproximado 1,75. Qual o erro absoluto? 3) Qual o erro absoluto cometido quando se toma 0,45 para valor aproximado de

16 7

? 4) Qual o erro relativo cometido no número exato

16 7 se o erro absoluto é 80 1 ?

5) Escreva como número de ponto flutuante normalizado com três casas decimais os números dados a seguir, utilizando arredondamento:

a) w = 0,0001231 b) y = 0,0000007891 c) t = 125687,33 6) Escrever como número de ponto flutuante normalizado, usando precisão de quatro casas

decimais os números reais utilizando arredondamento. a) 234,57 c) 0,0680012 e) π

b) 0,00567446 d) 560189 f) e (Euler)

(13)

3 ZEROS DE FUNÇÕES

3.1 Resolução de equações

Encontrar uma raiz de uma função f(x), significa resolver a equação f(x)=0. Ou seja encontrar um

α

C, tal que f(

α

)=0.

Exemplos: a) ax2+bx+c=0⇒ a ac b b 2 4 2 − ± − =

α

b) ln(2x)=3 ⇒ 2 3 e =

α

Pode-se observar que para os exemplos dados a solução é explícita e analítica. Chega-se a uma solução exata. Entretanto nem sempre é possível chegar-se a uma solução analítica. Exemplos complexos: a) x5− x6 +9=0 b)       = − 2 sin x e x

π

Nestes casos, a solução explícita é difícil ou praticamente impossível. São nestes casos complexos que se utilizam métodos iterativos de solução.

As raízes de uma equação podem ser reais ou complexas. No caso de raízes de polinômios é muito comum a ocorrência de raízes complexas. Inicialmente será visto raízes reais. As raízes reais são representadas pelos pontos em que a curva da função

f

(x

)

corta o eixo do x, como observado no gráfico a seguir:

Para o exemplo da figura tem-se duas raízes reais. No caso de raízes complexas a curva não corta o eixo do x.

(14)

3.2 Métodos iterativos

A idéia central dos métodos iterativos é encontrar uma aproximação inicial e em seguida refiná-la através de um processo iterativo. O processo normalmente é realizado em duas fases:

Isolamento: Encontra-se um intervalo [a,b] que contenha uma e somente uma raíz de f(x)=0. Refinamento: Escolhida uma aproximação inicial em [a,b], melhorá-la até uma exatidão

ε

pré-fixada.

3.3 Formas de Isolamento a) Traçar o gráfico de f(x). b) Separar raizes.

Teorema

Seja

f

:

[ ]

a

,

b

ℜ uma função contínua. Se

f

( ) ( )

a

f

b

<

0

então existe pelo menos um ponto c ∈

(

a

,

b

)

tal que

f

( )

c

=

0

.

Graficamente, os zeros reais são representados pelas abscissas dos pontos onde uma curva intercepta o eixo x. Por exemplo:

Uma forma de isolar as raízes de f(x) é tabelando os valores de f(x) para vários valores de x e analisar as mudanças de sinal.

Exemplo: Localizar os intervalos que contém as raízes do polinômio

f

( )

x

=

x

3 −

9

x

+

3

. Construir uma tabela considerando apenas os sinais.

x – 4 – 3 – 1 0 1 2 3

( )

x

f

– + + + – – +

Conclusão: Observando a variação do sinal, existem 3 raízes de f(x) nos intervalos

(

4

,

3

)

,

(

0

,

1

)

,

(

2

,

3

)

.

3.4 Separação de raízes

A análise gráfica da função f(x) é fundamental para se obter boas aproximações para a raiz. Para tanto, utilizamos o seguinte processo:

(15)

a) a partir da equação

f

( )

x

=

0

, obter a equação equivalente

g

( )

x

=

h

( )

x

, e esboçar as funções g

( )

x e h

( )

x no mesmo plano cartesiano.

b) Localizar os pontos x onde as duas curvas se interceptam, pois nesse caso

( )

c

=

0

f

g

( )

c

=

h

( )

c

.

Exemplo 1: Separar as raízes de

( )

x

e x x

f = − − .

Os intervalos que contém as raízes são:

Exemplo 2: Separar as raízes de

f

( )

x

=

x

ln

x

1

Os intervalos que contém as raízes são:

Métodos de Refinamento: os métodos de refinamento serão estudados no capitulo a seguir.

3.5 Exercícios complementares

1) Construa uma tabela, com valores arbitrários de x, para determinar os intervalos onde a função f(x) = x

e

x

− 5

− tem zero ou raiz e faça uma representação gráfica.

2) Encontre os intervalos que contêm as raízes das funções a seguir. Faça uma representação gráfica: a) f(x) = x3 – 3x –1 b) f(x) = 2 1 2 − − x ex

(16)

4 MÉTODOS ITERATIVOS PARA CALCULAR RAÍZES REAIS

Para encontrar os zeros de uma função é necessário fazer um refinamento do intervalo. Existem vários métodos numéricos de refinamento de raiz como o método da bissecção, método da posição falsa, método do ponto fixo, método de Newton-Raphson e o método da secante. A forma como se efetua o refinamento é que diferencia os métodos. Todos eles pertencem à classe dos métodos iterativos.

Um método iterativo consiste em uma seqüência de instruções que são executadas passo a passo, algumas das quais são repetidas em ciclos. A execução de um ciclo recebe o nome de iteração. Cada iteração utiliza resultados das iterações anteriores e efetua determinados testes que permitem verificar se foi atingido um resultado próximo o suficiente do resultado esperado.

Os métodos iterativos para refinamento funcionam de acordo com o diagrama de fluxo1.

Pelo diagrama de fluxo verifica-se que todos os métodos iterativos para obter zero de função efetuam uma pergunta do tipo: xk está suficientemente próximo da raiz exata?

1 texto adaptado de Ruggiero e Lopes, 1996, p. 38.

Inicio Dados Iniciais k = 1 Calcular nova aproximação Essa aproximação está próxima o

suficiente da raiz? Cálculos finais

Fim

k = k + 1

(17)

Que tipo de teste efetuar para se verificar se xk está suficientemente próximo da raiz exata?

Podemos selecionar uma tolerância ε>0 e gerar p1, ... , pN até que uma das seguintes condições seja alcançada:

ε

<

n−1 n

p

p

ε

< − n n n p p p 1 , pN ≠ 0

ε

<

) (

p

n

f

Infelizmente, podem surgir dificuldades quando da utilização de qualquer um desses critérios de interrupções. Por exemplo, há seqüências que possuem como propriedade o fato de que a diferença pnpn1 converge para zero enquanto a própria seqüência diverge. É também possível f(pN) ser próximo a zero enquanto pN difere significativamente de p, de qualquer forma, sem um conhecimento adicional sobre f ou p, o critério de parada

ε

< − n n n p p p 1

é o melhor critério de interrupção, já que chega bastante perto de testar erros relativos.

Ao usar um computador para gerar aproximações, é uma boa prática estabelecer um limite superior para o número de iterações. Esse procedimento eliminará a possibilidade de se entrar em um loop infinito, uma situação a qual se pode chegar quando a seqüência é divergente (e também quando o programa é codificado de maneira incorreta).

Entre os métodos de iteração estudaremos os dois métodos mais importantes que são o método da Bissecção e o método de Newton-Raphson.

4.1 Método da Bissecção

A função f é contínua no intervalo

[

a,b

]

e f

( ) ( )

af b <0. Vamos supor que exista uma única raiz de f em (a, b).

O objetivo do método é determinar um “pequeno” intervalo

[

a

,

b

]

que contenha a

aproximação xk da raiz x. Para isso usamos a sucessiva divisão de

[

a

,

b

]

ao meio. Ou seja:

2 b a xm = +

terminamos o processo quando é estabelecido um critério de parada.

Critérios de Parada

Para interromper um processo iterativo, pode-se adotar um dos seguintes critérios: a) Estipular um erro ε tolerável (positivo e pequeno) e interromper o processo quando

ε

<

) (

x

i

f

(18)

b) Fixar um número máximo de iteração. Num processo iterativo é prudente se estipular um número máximo de iteração de forma que o processo seja abortado quando não consegue a convergência.

c) Combinar os critérios a) e b) e interromper o processo quando um deles for alcançado.

Exemplo 1: Calcular a raiz de f(x) = x2 – 6 pelo método da Bisseção para x∈[2; 3]. Critério de parada

f

(

x

)

<

0

,

02

.

Esquematizando: Iteração 1 2 3 4

Podemos organizar os dados conforme tabela a seguir.

iteração a b xm f(xm)

f

(

x

)

<

0

,

02

1 2 3 2,5 0,25 0,25

2 2 2,5 2,25 –0,93 0,93

3 2,25 2,5 2,375 –0,35 0,35

Observe a visualização gráfica da função f(x) = x2 – 6, cuja solução algébrica é x = 6 e x = − 6,

note que o valor encontrado deve está próximo a raiz apresentada pelo gráfico da função no intervalo [2; 3] . 2 3 3 2,5 2,5 2 2,25 2,5 2,25 2 2,375

(19)

Exemplo 2: Calcular a raiz de f(x) = x2 + ln(x) pelo método da Bisseção com

008

,

0

)

(

x

<

f

para x∈

[

0

,

5

;

1

]

precisão de 8dígitos aritmética de ponto fixo.

iteração a b xm F(xm)

f

(

x

)

<

0

,

008

Observe a visualização gráfica da função f(x) = x2 + ln(x),

(20)

4.2 Método de Newton – Raphson

O método de Newton escolhe para a função de iteração a função g(x) tal que g’(x) = 0. A estimativa da raiz da função é feita a partir da reta tangente à função em um ponto de partida. O ponto em que essa reta tangente intercepta o eixo das abscissas corresponde a estimativa da raiz da função. Repete-se o processo até que a tolerância estabelecida se verifique.

Escolhido x0, a seqüência {xn} será determinada por:

( )

( )

n n n n

x

f

x

f

x

x

=

+1 com n = 0, 1, 2, 3 , ....

Exemplo 1: Para a função f(x) = x4– 5, calcule a raiz pertencente ao intervalo [1,2 ; 1,5], utilizando o método de Newton– Raphson com precisão de 8 casas decimais, dado para valor inicial x0= 1,5, critério de parada

f

(

x

)

<

0

,

0001

Iteração

x

n f(xn) ( ) ' n x f xn+1

0001

,

0

)

(

x

n+1

<

f

1 1,5 0,062 5 13,5 1,49537037 2 3

Exemplo 2: Use o método de Newton para encontrar 6

2

correta até a quinta casa decimal.

Iteração xn f(xn) ( ) ' n x f xn+1 1 2 3

(21)

Exemplo 3: Um silo de grãos consiste em um cilindro com 30 metros de altura e telhado

hemisférico. A fim de obter um volume total de 15.000m³ (inclusive a parte hemisférica), qual deveria ser o raio do cilindro.

Dados:

Vtotal = 15 000 m3

h = altura do cilindro = 30m. Assim, tem-se o volume do cilindro: Vcilindro =

π

r2h=30 r

π

2.

Solução: O volume total do silo é o volume do cilindro mais o volume do hemisfério (volume da

esfera Vesfera= 3 3 4

r

π

divido por dois). Assim: Vtotal = Vcilindro + 2 1 Vesfera =30 r

π

2 + 3 3 4 2 1 r

π

⋅ = 15000 6 4 30

π

r2 +

π

r3 = .

Tirando o mínimo múltiplo comum em ambos os lados obtêm-se:

6

000

90

6

4

180

2 3

=

+

r

r

π

π

000 90 4 180 2 + 3 = r r

π

π

0 000 90 180

4

π

r3+

π

r2− = , simplificando por 4 obtém-se:

π

r3+45

π

r2−22500=0. Para encontrar o valor do raio aplica-se o Método de Newton a equação:

500 22 45 ) (x = x3+ x2− f

π

π

Estime o raio do cilindro pelo Método de Newton correto até a quinta casa decimal.

4.3 Exercícios complementares

1) Calcular a raiz de f(x) = x2 – 3 por Bisseção para x ∈ [1; 2 ], critério de parada

02

,

0

)

(

x

<

f

.

(22)

2) Para a função f

( )

x = x3−9x+3 ∈

[ ]

0,1 , calcular as raízes através do método de Bisseção, critério de parada

f

(

x

)

<

0

,

3

.

3) Calcular a raiz negativa da função

f

( )

x

=

x

3

5

x

2

+

17

x

+

21

, utilizando o método de Newton-Raphson, dado x0 = –1, critério de parada

f

(

x

)

<

0

,

01

.

4) Use o método de Newton-Raphson para determinar a raiz de x3 + x + 1. Dado x

0 = –0,7. Critério de parada k igual a 4 iterações.

5) Encontre a raiz da equação cos(x) = x correta até a terceira casa decimal utilizando o método de Newton-Raphson.

6) Use o método de Newton-Raphson para encontrar 3

30

correta até a sétima casa decimal.

(23)

5 RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES

A necessidade de resolver sistemas de equações lineares aparece numa grande quantidade de problemas científicos; existem estimativas que apontam que a cada quatro problemas de simulação em matemática, três convertem-se em solução de sistemas de equações.

Nosso objetivo é apresentar algumas técnicas destinadas à solução numérica de sistemas de equações. Respeitando a distinção dos métodos, é comum dividi-los em dois grupos: Métodos Diretos que são aqueles que, a menos de erros de arredondamento introduzidos pela máquina, fornecem a solução exata do sistema linear, caso ela exista, após um número finito de operações; Métodos Iterativos que são aqueles que se baseiam na construção de seqüências de aproximações, a partir de uma aproximação inicial x(0); em cada passo valores calculados anteriormente são usados para melhorar a aproximação. Sob certas condições esta seqüência converge para a solução x, caso ela exista.

Dos métodos diretos veremos aquele amplamente discutidos em disciplinas de álgebra matricial, que é o método da eliminação de Gauss e fatoração LU. E quanto aos métodos iterativos, veremos aqueles de mais fácil implementação e mais amplamente discutido na área de cálculo numérico que é o método de Gauss-Jacobi e Gauss-Seidel.

5.1 Sistema linear

Denomina-se sistema linear de m equações e n incógnitas x1, x2,...,xn a todo o sistema da forma:        = + + + = + + + = + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a ... . ... ... ... ... ... ... 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11

em que a11,a12,...,a1n,b1,b2,...,bm são números reais.

Se o conjunto ordenado de números reais (

α

1,

α

2,...,

α

n) satisfizer todas as equações do sistema, será denominado solução do sistema linear. Se o termo independe de todas as equações do sistema for nulo, isto é, b1 =b2 =...=bm =0, o sistema linear será dito

homogêneo.

Uma solução do sistema linear homogêneo      = + − = + + = − + 0 3 2 5 0 4 0 2 z y x z y x z y x é, por exemplo, (0,0,0).

Essa solução chama-se solução trivial do sistema homogêneo. Se o sistema homogêneo admitir outra solução onde as incógnitas não são todas nulas, a solução será chamada solução não trivial.

5.1.1 Classificação de um sistema linear

Os sistemas lineares são classificados quanto ao número de soluções da seguinte forma, (Giovanni, p.112, 1937):

(24)

5.1.2 Matrizes associadas a um sistema linear2

Seja o sistema linear de m equações e n incógnitas.        = + + + = + + + = + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a ... ... ... ... ... ... ... ... 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11 A matriz               m mn n n m m b b b a a a a a a a a a ... . ... .... ... .... .... .. ... ... 2 1 2 1 2 22 12 1 21 11

, na qual cada linha é formada,

ordenadamente, pelos coeficientes e termos independentes de cada equação é denominada

matriz completa do sistema.

A matriz A =               mn n n m m a a a a a a a a a ... ... ... ... ... ... ... 2 1 2 22 12 1 21 11

, formada pelos coeficientes ordenados de cada

equação é denominada matriz incompleta do sistema.

Consideremos ainda as seguintes matrizes-colunas associadas ao sistema:

X =               m x x x M 2 1

, formada pelas incógnitas.

2 Texto adaptado de Giovanni, p. 116, 1937.

Sistema Linear

Possível

Quando admite solução Quando não admite solução Impossível

Determinado

(25)

B =               m b b b M 2 1

, formada pelos termos independentes.

Multiplicando-se a matriz incompleta pela matriz das incógnitas obtemos a matriz dos termos independentes:               mn n n m m a a a a a a a a a ... ... ... ... ... ... ... 2 1 2 22 12 1 21 11               m x x x M 2 1 =               m b b b M 2 1

Dizemos que esta é a forma matricial do sistema linear. Em notação simplificada, temos:

A x = B

Se a matriz incompleta do sistema for uma matriz quadrada, o seu determinante DA é dito determinante do sistema.

Se DA ≠0, o sistema admite solução única e é, portanto, possível e determinado. Se DA = 0, o sistema é possível porém indeterminado.

5.2 Métodos Diretos

No caso de sistemas lineares n×n com solução única, podemos escrever x=A1b. Este processo, envolvendo o cálculo explícito de 1

A− , não é, em geral, aconselhável pois envolve um número de operações muito grande. Outro método conhecido é a Regra de

Cramer. No entanto, quando aplicado a sistemas n×n envolve o cálculo de n+1 determinantes de ordem n. É um método pouco eficiente.

5.3 Método da eliminação de Gauss por Pivotamento

Este método baseia-se na idéia de transformar o sistema original Ax=b num outro sistema equivalente, mas cuja matriz A possua a forma triangular, evitando assim o cálculo da matriz inversa.

Seja o sistema linear de m equações e n incógnitas.        = + + + = + + + = + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a ... ... ... ... ... ... ... ... 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11

Vamos supor, primeiramente, que det (A) ≠ 0. A eliminação é feita por colunas e chamaremos de etapa k do processo, a fase em que se elimina a xk das equações k+1, k+2, ...

(26)

Usaremos a notação (k)

ij

a para denotar o coeficiente da linha i e coluna j no final da k-ésima etapa, bem como (k)

i

b será o i-ésimo elemento do vetor constante no final da etapa k. Considerando que det (A) ≠ 0, é sempre possível reescrever o sistema linear de forma que o elemento da posição a11 seja diferente de zero, usando apenas as operações elementares. Seja a matriz ampliada do sistema,

          ) 0 ( 3 ) 0 ( 2 ) 0 ( 1 ) 0 ( 33 ) 0 ( 32 ) 0 ( 31 ) 0 ( 23 ) 0 ( 22 ) 0 ( 21 ) 0 ( 13 ) 0 ( 12 ) 0 ( 11 b b b a a a a a a a a a onde (0) ij a =aij, ) 0 ( i b = bi e a11(0) ≠ 0.

Etapa 1: A eliminação da variável x1 das equações i = 2, ... , n, é feita da seguinte forma: multiplicamos a 1a equação por m

i1 e adicionamos a equação i, onde

mi1 = (0) 11 ) 0 ( 1 a ai , i = 2, ... , n.

Os elementos mi1 são os multiplicadores e o elemento a11(0) é denominado pivô da 1a etapa. Ao

final desta etapa teremos a matriz:

          ) 1 ( 3 ) 1 ( 2 ) 1 ( 1 ) 1 ( 33 ) 1 ( 32 ) 1 ( 23 ) 1 ( 22 ) 1 ( 13 ) 1 ( 12 ) 1 ( 11 0 0 b b b a a a a a a a

Etapa 2: Os multiplicadores desta etapa serão:

mi2 = (1) 22 ) 1 ( 2 a ai , i = 3, ... , n.

A variável x2 é eliminada das equações i = 3, ... , n, da seguinte forma: multiplicamos a segunda equação por mi2 e adicionamos a equação i , obtendo:

          ) 2 ( 3 ) 2 ( 2 ) 2 ( 1 ) 2 ( 33 ) 2 ( 23 ) 2 ( 22 ) 2 ( 13 ) 2 ( 12 ) 2 ( 11 0 0 0 b b b a a a a a a

que é a matriz ampliada do sistema triangular superior,

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )      = = + = + + 2 3 3 2 33 2 2 3 2 23 2 2 22 2 1 3 2 13 2 2 13 1 2 11 b x a b x a x a b x a x a x a

equivalente ao sistema linear original. Resolvendo o sistema triangular por substituições retroativas, tem-se x = [ x1 x2 x3 ... xn ]T , que também é solução do sistema original.

(27)

Exemplo: Resolva o sistema      = − + = + + = + + 3 2 3 4 2 2 1 4 2 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x

pelo método de Gauss.

Escrevendo a matriz ampliada temos:

          − 3 2 1 2 3 4 2 1 1 4 2 3

Utilizando o pivotamento o primeiro pivô é igual ao elemento a11 ou seja 3. A partir de agora pasta zerar os elementos abaixo do pivô.

Pivô=3 m1 = 3 1 m2 = 3 4 1 21 a = a21 – m1.a11 = 1− 3 1 .3=0 1 31 a = a31 – m2.a11 = 4− 3 4 .3=0 1 22 a = a22 – m1.a12 =1− 3 1 .2= 3 1 1 32 a = a32 – m3.a12 =3− 3 4 .2= 3 1 1 23 a = a23 – m1.a13 =2− 3 1 .4= 3 2 1 33 a = a33 – m2.a13 =–2− 3 4 .4= 3 22 − 1 24 a = a24 – m1.a14 =2− 3 1 .1= 3 5 1 34 a = a34 – m2.a14 =3− 3 4 .1= 3 5

Assim encontramos a matriz:

                − 3 5 3 22 3 1 0 3 5 3 2 3 1 0 1 4 2 3

Fixamos o novo pivô= 3 1

e zeramos os elementos abaixo. m3 = 1 2 32 a = a32 – m3.a22 = 3 1 – 1. 3 1 =0 2 33 a = a33 – m3.a23 = 3 22 − –1. 3 2 =–8 2 34 a = a34 – m3.a24 = 3 5 –1. 3 5 =0

Ao termino do pivotamento encontramos a matriz

                −8 0 0 0 3 5 3 2 3 1 0 1 4 2 3

(28)

Assim reescrevemos o sistema para encontrar as variáveis x1, x2, x3. Da forma:        = − = + = + + 0 8 3 5 3 2 3 1 1 4 2 3 3 3 2 3 2 1 x x x x x x

assim temos que x3 = 0, x2 = 5 e x1 = –3. Portanto o sistema tem como solução

          − = 0 5 3 x .

Observações: Ao aplicarmos o método de eliminação de Gauss vimos que em cada etapa da

eliminação o elemento pivot era não nulo. Se em determinado passo do processo de escalonamento da matriz aparece um candidato a pivot nulo, deverá efetuar-se uma troca de linhas (com uma linha que se encontre numa posição inferior na matriz) por forma a que apareça um novo elemento pivot diferente de zero.

Se utilizamos elementos pivot próximos de zero obtemos multiplicadores bem maiores que a unidade que, por sua vez, podem originar um efeito de ampliação de possíveis erros de arredondamento.

Aplicações

1) Use o pivotamento gaussiano para encontrar a solução dos problemas a seguir.

a) Num concurso público, foram realizadas três provas, com 10 questões em cada uma. Cada questão valia um ponto, mas os pesos x, y, e z das provas, nessa ordem, eram diferentes. O primeiro classificado no concurso, que acertou 8 questões na primeira prova ; 9, na segunda prova, e 10, na terceira, obteve, no final, um total de 93 pontos. O segundo classificado acertou, nessa mesma ordem, 9, 9 e 7 questões, totalizando 80 pontos. O terceiro classificado acertou 8, 8 e 7 questões, respectivamente, atingindo a soma de 75 pontos no final. Calcule o pesos x, y e z. (Giovanni, p. 123 1937)

b) Um sitiante utiliza milho, farelo de trigo e alfafa para alimentar seus suínos. O número de unidades de cada tipo de ingrediente nutricional básico encontrado num quilo de cada alimento é dado na tabela a seguir, juntamente com as necessidades diárias de cada suíno.

INGREDIENTE NUTRICIONAL

CARBOIDRATO PROTEÍNAS VITAMINAS

Quilo milho 4 3 1

Quilo farelo de trigo 2 4 2

Quilo alfafa 2 4 4

Necessidade diária 11 12 7

Determine quantos quilos de milho, farelo de trigo e alfafa cada suíno deve consumir por dia para satisfazer suas necessidades de nutrientes. (Giovanni, p. 135, 1937, adaptado)

(29)

5.4 Fatoração LU

O processo de fatoração LU consiste em decompor a matriz A dos coeficientes em um produto de dois ou mais fatores, e em seguida resolver uma seqüência de sistemas lineares que nos conduzirá a solução do sistema original.

A matriz A é escrita como produto de duas matrizes triangulares L e U. São elas a matriz L é triangular inferior e a matriz U é triangular superior.

Obteremos L e U através do processo de Gauss.

=

+

+

=

+

+

=

+

+

3 3 33 2 32 1 31 2 3 23 2 22 1 21 1 3 13 2 12 1 11

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

Seja a matriz dos coeficientes:

          = 33 32 31 23 22 21 13 12 11 a a a a a a a a a A

para este caso temos os multiplicadores m1= 11 21 a a e m2= 11 31 a a , realizando as operações obtemos:           = 33 32 23 22 13 12 11 0 0 a a a a a a a A

como passo seguinte temos o multiplicador m3= 22 32 a a

e a matriz toma a forma:

          = 33 23 22 13 12 11 0 0 0 a a a a a a U

que é uma matriz triangular superior.

A matriz L (triangular inferior) possui os elementos da diagonal iguais a 1 e os elementos abaixo da diagonal são formados pelos multiplicadores para cancelar os coeficientes correspondentes.           = 1 0 1 0 0 1 3 2 1 m m m L

(30)

Teorema: Seja A uma matriz de ordem n e Ak a matriz formada pelas primeiras k linhas e

primeiras k colunas de A. Suponha-se que det

( )

Ak ≠0 ,k=1,2,...,n−1. Então existe uma única matriz triangular inferior L, cujos elementos da diagonal são todos iguais a 1, e uma única matriz triangular superior U tal que A=LU.

Exemplo: Dada a matriz

          − − − = 1 3 3 2 1 2 4 2 1

A encontre a fatoração LU.

Fazendo o pivotamento temos o pivô 1 e os multiplicadores m1 =2 e m2 =3

encontramos a matriz . 13 9 0 6 5 0 4 2 1           − − − −

Agora com o pivô = -5 e o multiplicador 5 9 3 = m encontramos a matriz: . 5 11 0 0 6 5 0 4 2 1             −− −

Assim escrevemos a matriz L matriz triangular inferior com a diagonal principal igual a 1.             = 1 5 9 3 0 1 2 0 0 1 L

Desta forma a matriz A é decomposta e pode ser escrita como um produto de matrizes triangulares.             − − −             = 5 11 0 0 6 5 0 4 2 1 1 5 9 3 0 1 2 0 0 1 A

Podemos verificar os cálculos multiplicando uma matriz por outra

5.5 Resolvendo Sistemas Utilizando a fatoração LU

Supondo que temos a fatoração A=LU como resolver o sistema Ax=b ? Note que:

Ax=b,

(31)

A=LU,

substituindo temos:

(LU )x=b, L(Ux)=b,

chamando Ux de y temos que Ly=b. Assim, depois de decompor a matriz na forma LU, para resolver o sistema de equações originais, devemos resolver as equações:

   = = y Ux b Ly Da seguinte forma: Ly = b           =                     3 2 1 3 2 1 3 2 1 1 0 1 0 0 1 b b b y y y m m m e Ux = y           =                     3 2 1 3 2 1 33 23 22 13 12 11 0 0 0 y y y x x x a a a a a a

Exemplo: Resolva o sistema

     = − + = + + = + + 3 2 3 4 2 2 1 4 2 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x

utilizando a fatoração LU.

Utilizando o pivotamento Gaussiano, na matriz dos coeficientes, encontramos uma matriz triangular superior da forma:

          − 8 0 0 3 2 3 1 0 4 2 3

Assim, utilizando os multiplicadores encontrados no processo de pivotamento Gaussiano, obtemos a matriz triangular inferior como segue:

                1 1 3 4 0 1 3 1 0 0 1

Em seguida é necessário resolver o sistema acoplado de equações:

(32)

          =                           3 2 1 1 1 3 4 0 1 3 1 0 0 1 3 2 1 y y y Ux = y           =                     − 3 2 1 3 2 1 8 0 0 3 2 3 1 0 4 2 3 y y y x x x

Então, encontre os valores de y1, y2 e y3 para substituir no outro sistema para finalmente encontrar os valores de x1, x2 e x3.

5.6 Método de Gauss-Jacobi

Considere o sistema linear de m equações e n incógnitas:

       = + + + = + + + = + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a ... ... ... ... ... ... ... ... 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11

Se os elementos da diagonal forem diferentes de zero, cada uma das equações pode ser reescrita isolando-se os elementos da diagonal, isto é, o sistema linear Ax = b é escrito na forma equivalente x = Cx + g por separação da diagonal.

(

)

(

)

(

)

           − − − − = − − − − = − − − − = − − + + + k n n n k n k n n nn k n k n n k k k k n n k k k x a x a x a b a x x a x a x a b a x x a x a x a b a x 1 1 , 1 2 1 1 ) 1 ( ) ( 2 ) ( 3 23 ) ( 1 21 2 22 ) 1 ( 2 ) ( 1 ) ( 3 13 ) ( 2 12 1 11 ) 1 ( 1 ... 1 ... ... ... ... ... ... ... ... 1 ... 1

O método iterativo de Gauss-Jacobi consiste em partindo-se de uma aproximação inicial x(0) = [ (0)

1

x x2(0) ... xn(0) ]T, calcular a seqüência de aproximações x(1), x(2), ... , x(k), utilizando-se as equações diagonais. Portanto, no processo iterativo de Gauss-Jacobi, no momento de se calcular (k+1)

j

x usamos os valores x1(k+1),...,x(jk1+1) que foram dados. Usamos como critério de parada o teste a seguir.

(33)

Critério de Parada

0 processo iterativo é repetido até que o vetor x(k) esteja suficientemente próximo do vetor x(k+1). Medimos a distância entre x(k) e x(k+1) por d(k) = max ( ) (k−1)

i k

i x

x . No entanto o critério de parada é o teste do erro relativo dado por:

) ( ) ( ) ( max ik k k r x d d = = ) ( ) 1 ( ) ( max max k i k i k i x x x − −

Assim, dada uma precisão ε, o vetor x(k) será escolhido como solução aproximada da solução exata se d(k) < ε.

Exemplo: Resolver pelo Método de Gauss-Jacobi o sistema:

     = + + = + + = + + 6 x 10 3x 2x 8 x 5x x 7 x 2x 10x 3 2 1 3 2 1 3 2 1 com x(0) = [ 0,7; –1,6; 0,6 ]T, e

ε

05 , 0

< , precisão de quatro casas decimais e truncamento. Primeiramente vamos encontrar uma matriz diagonal, isolando, em cada linha do sistema anterior, os elementos da diagonal principal, ou seja,

x1 = 10 1 (7 – 2x2 – x3) x2 = 5 1 (–8 – x1 – x3) x3 = 10 1 (6 – 2x1 –3x2) efetuando as multiplicações e divisões, temos:

x1 = 0,7 – 0,2x2 – 0,1x3 x2 = –1,6 – 0,2x1 – 0,2x3 x3 = 0,6 – 0,2x1 – 0,3x2

a partir de agora, vamos substituir o vetor x(0) = [ 0,7; –1,6; 0,6 ]T na matriz diagonal. Note que o vetor x0 tem componentes x

1 = 0,7; x2 = –1,6 e x3 = 0,6. Desta forma, temos: 1 1 x = 0,7 – 0,2(–1,6) – 0,1(0,6) = 0,96 1 2 x = –1,6 – 0,2(0,7) – 0,2(0,6) = –1,86 1 3 x = 0,6 – 0,2(0,7) – 0,3(–1,6) = 0,94

assim, o vetor, na primeira iteração, tem componentes x1= 0,96 , x2 = –1,86 e x3 = 0,94 logo x(1) = [0,96, –1,86, 0,94]T.

Critério de parada para a primeira iteração:

1 1 d = |0,96–0,7|=0,26 1 2 d = |–1,86–(–1,6)|=0,26 1 3 d = |0,94–0,6|=0,34

ε

> = = 0,1827 86 , 1 34 , 0 d

(34)

desta forma devemos prosseguir com as iterações. 2 1 x = 0,7 – 0,2(–1,86) – 0,1(0,94) = 0,978 2 2 x = –1,6 – 0,2(0,96) – 0,2(0,94) = –1,98 2 3 x = 0,6 – 0,2(0,96) – 0,3(–1,86) = 0,966

assim, o vetor, tem componentes x1= 0,978 , x2 = –1,98 e x3 =0,966 logo x(2) = [0,978; –1,98; 0,966]T. Critério de parada: 2 1 d = |0,978–0,96|= 0,018 2 2 d = |–1,98–(–1,86)|=0,12 2 3 d = |0,966–0,94|=0,026

ε

> = = 0,060606 98 , 1 12 , 0 d

Prossiga com as iterações até atingir a precisão estabelecida.

5.7 Método de Gauss-Seidel

Considere o sistema linear de m equações e n incógnitas:

       = + + + = + + + = + + + m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a ... ... ... ... ... ... ... ... 2 2 1 1 2 2 2 22 1 21 1 1 2 12 1 11

O sistema linear Ax = b é escrito na forma equivalente x = Cx + g por separação da diagonal.

(

)

(

)

(

)

           − − − − = − − − − = − − − − = − − + + + k n n n k n k n n nn k n k n n k k k k n n k k k x a x a x a b a x x a x a x a b a x x a x a x a b a x 1 1 , 1 2 1 1 ) 1 ( ) ( 2 ) ( 3 23 ) ( 1 21 2 22 ) 1 ( 2 ) ( 1 ) ( 3 13 ) ( 2 12 1 11 ) 1 ( 1 ... 1 ... ... ... ... ... ... ... ... 1 ... 1

O método iterativo de Gauss-Seidel consiste em partindo-se de uma aproximação inicial x(0) = [ (0) 1 x (0) 2 x ... (0) n

x ]T, calcular a seqüência de aproximações x(1), x(2), ... , x(k), utilizando-se as equações diagonais. Portanto, no processo iterativo de Gauss-Seidel, no momento de se calcular (k+1)

j

x usamos todos os valores x1(k+1),...,x(jk1+1) que já foram calculados e os valores ( ) ( ) 1,..., k n k j x

(35)

x(k+1) esteja suficientemente próximo do vetor x(k). Usamos como teste de parada um número máximo de iterações.

Exemplo: Resolver pelo Método de Gauss-Seidel o seguinte sistema

     = + + = + + = + + 0 x 6 3x 3x 6 x 4x 3x 5 x x 5x 3 2 1 3 2 1 3 2 1

com x(0) = [ 0 0 0 ]T, critério de parada ε<0,05, precisão de quatro casas decimais e truncamento.

Primeiramente vamos encontrar uma matriz diagonal, isolando, em cada linha do sistema anterior, os elementos da diagonal principal, ou seja,

x1 = 5 1 (5 – x2 – x3) x2 = 4 1 (6 – 3x1 – x3) x3 = 6 1 (0 – 3x1 –3x2) efetuando as multiplicações e divisões, temos:

x1 = 1 – 0,2x2 – 0,2x3 x2 = 1,5 – 0,75x1 – 0,25x3 x3 = 0 – 0,5x1 – 0,5x2

a partir de agora, vamos substituir o vetor x(0) = [ 0; 0; 0 ]T na matriz diagonal. Note que o vetor x0 tem componentes x

1 = 0; x2 = 0 e x3 = 0. Desta forma, temos: 1 1 x = 1 – 0,2(0) – 0,2(0) =1 1 2 x = 1,5 – 0,75(1) – 0,25(0) =0,75 1 3 x = 0 – 0,5(1) – 0,5(0,75) = –0,875

assim, o vetor, na primeira iteração, tem componentes x1= 1 , x2 = 0,75 e x3 = –0,875 logo x(1) = [1; 0,75; –0,875]T.

Critério de parada para a primeira iteração:

1 1 d = |1–0|=1 1 2 d = |0,75–0|=0,75 1 3 d = |–0,875–0|=0,875

ε

> = = 1 1 1 d

Prossiga até atingir a tolerância estabelecida.

Exercícios complementares 5.6

1) Resolva o sistema linear      − = + − = − + − = + − 5 3 2 6 4 2 5 2 3 3 2 1 3 2 1 3 2 1 x x x x x x x x x

utilizando o método da Eliminação de Gauss

(36)

2) Resolva o sistema utilizando a decomposição LU. a)      = − − = + − = + + 7 3 3 8 2 2 5 4 2 3 2 1 3 2 1 3 2 1 x x x x x x x x x b)      = + + = − − = + + 4 4 5 2 5 2 3 1 3 4 3 2 1 3 2 1 3 2 1 x x x x x x x x x 3) Seja a matriz           − − 3 1 5 1 1 3 1 1 1

encontre a fatoração na forma LU.

4) Resolva o sistema      = + + − = + + − = − + 12 12 4 10 3 8 5 3 2 6 3 2 1 3 2 1 3 2 1 x x x x x x x x x

, pelo método de Gauss-Jacobi e Gauss-Seidel,

dado x0 = [1 1 1]T, critério de parada

ε

<0.5 com precisão de quatro casas decimais e truncamento.

Qual método é melhor: o direto ou o iterativo?

Não se pode garantir a priori que método é o mais eficiente. É necessário o estabelecimento de certos critérios. Pode-se afirmar que o método direto se presta aos sistemas de pequeno porte com matrizes de coeficientes densas. Já o método iterativo quando há convergência garantida, é bastante vantajoso na resolução de sistemas de grande porte com a matriz de coeficientes do tipo “esparso” (grande proporção de zeros entre seus elementos), típicos em problemas práticos como discretização de equações diferenciais por métodos de elementos finitos ou diferenças finitas, descrição de redes de potência, etc. Neles, os zeros da matriz original são preservados e as iterações são conduzidas com a matriz original, tornando os cálculos autocorrigíveis, o que tende a minimizar os erros de arredondamento.

O método direto, sem o cuidado de se trabalhar técnicas de pivoteamento, apresenta sérios problemas com erros de arredondamento. O método iterativo têm menos erros de arredondamento, visto que a convergência, uma vez assegurada, independe da aproximação inicial. Desta forma, somente os erros cometidos na última iteração afetam a solução, pois os erros cometidos nas iterações anteriores não levarão à divergência do processo nem à convergência a um outro valor que não a solução.

(37)

6 INTERPOLAÇÃO

A interpolação é utilizada para casos onde é difícil calcular o valor de uma função, ou quando não conhecemos a expressão da função. Interpolar uma função f(x) consiste em aproximar essa função por uma função g(x) escolhido entre uma classe de funções que satisfaçam algumas propriedades. A função g(x) é então usada em substituição à função f(x).

A interpolação consiste em se obter g(x) tal que: g(x0) = f(x0) g(x1) = f(x1)

: : g(xn) = f(xn),

a função g(x) que interpola f pode pertencer a uma das seguintes famílias: (1) polinomios: y = a0 xn + a1 xn-1 + ... + an-1 x + an

(2) exponenciais: y = a ebx

(3) trigonométricas : y = a cos (bx) (4) splines: “pedaços” de polinômios.

Como escolher essa função g(x)? A escolha pode ser feita observando o gráfico dos pontos tabelados ou baseando-se em fundamentos teóricos do experimento que nos forneceu a tabela.

Portanto, dada uma tabela de pontos (x1,f(x1)) , (x2 , f(x2) ) ,..., (xn , f(xn)), deve-se em primeiro lugar, colocar esses pontos num gráfico cartesiano. O gráfico resultante é chamado diagrama de dispersão. Através deste diagrama pode-se visualizar a curva que melhor ajusta os dados.

Exemplo : Seja a tabela:

x –3 –2 –1 0 1 2 3 4

f(x) 5 6 7 3 4 5 4 3

faça o diagrama de dispersão desses dados.

Diagrama de Dispersão 0 1 2 3 4 5 6 7 8 9 10 -4 -3 -2 -1 0 1 2 3 4 5

(38)

6.1 Interpolação polinomial Considere o gráfico a seguir:

Encontrar uma função que interpola os pontos dados consiste em resolver um sistema n+1 equações da forma polinomial:

pn (x) = a0 +a1 x + a2 x2 + a3 x3 +....+ an xn. obter pn (x) significa obter os coeficientes a0, a1, ... , an.

Assim montamos o sistema linear:

       = + + + + + = + + + + + = + + + + + ) ( ) 1 ( ) 0 ( 3 3 2 2 1 0 1 3 1 3 2 1 2 1 1 0 0 3 0 3 2 0 2 0 1 0 n y x a x a x a x a a y x a x a x a x a a y x a x a x a x a a n n n n n n n n n n L M M L L

que tem n+1 equações e n+1 variáveis, a0, a1,…,an . Escrevendo na forma matricial, para n = 3, tem-se o seguinte sistema linear:

=                           1 x0 x02 x03 1 x1 x12 x13 1 x2 x22 x23 1 x3 x32 x33                       a0 a1 a2 a3                       ( ) f x0 ( ) f x1 ( ) f x2 ( ) f x3

onde a primeira matriz é denominada matriz de Vandermonde dos nós de interpolação x0,.., xn e o vetor de incógnitas corresponde aos coeficientes do polinômio buscado. Desta forma, aplicando algum dos métodos diretos ou iterativos conhecidos para solucionar o problema linear correspondente, podemos obter os coeficientes a0,a1,...,an que descrevem o polinômio buscado.

Exemplo 1: Obtenha o polinômio que interpola os dados a seguir:

x 0 1 2 )

(x

Referências

Documentos relacionados

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

Os acionamentos virarão usando o volante ou o joystick e a rotação dos motores pode ser aumentada no modo somente aceleração, mas a posição da marcha permanece em ponto

[r]

6.8 Para candidatos que tenham obtido certificação com base no resultado do Exame Nacional do Ensino Médio - ENEM, do Exame Nacional para Certificação de Competências de Jovens

The local di- mension values at the spatial points are computed at this time value using the statistic defined in Eq.. 共1兲 as discussed in the

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

A Corticeira Amorim (CA), apresenta uma estrutura repartida, na medida em que é constituída por um conjunto de UN semiautónomas (Amorim Revestimentos, Matérias