






























































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Cálculo numérico e modelagem matemática
Tipologia: Notas de estudo
Compartilhado em 04/08/2010
4.6
(22)148 documentos
1 / 70
Esta página não é visível na pré-visualização
Não perca as partes importantes!































































Introdução
Neste capítulo vamos, recordar os conceitos estudados em Lógica Matemática de álgebra booleana desenvolvidos por George Boole em meados de 1857. Estes conceitos fazem o elo entre a matemática e os computadores digitais. Os computadores utilizam a lógica binária, presença e ausência de energia, ou seja, verdadeiro e falso. Agora basta associar de maneira adequada os operadores, conjunção, disjunção, negação e outros para termos todas as operações matemáticas que um computador executa. Nosso curso tem como foco conversão de binário-decimal, e como ela acar- reta erros nas operações realizadas por computadores. Ao final deste capí- tulo, você será capaz de identificar as fases de modelagem e os possíveis erros nelas cometidos e compreender a representação binária e como ocorre a repre- sentação dos valores decimais em um computador. Neste capítulo, estudaremos uma área relativamente nova em relação a toda a história da Matemática, mas não menos importante, para isso é importante conhecer sobre valor posicional de um algarismo no sistema de numeração de base dez. Outro importante conceito é a notação científica, pois com esse tipo de notação trabalhamos com o posicionamento da vírgula e a potência de 10, muito útil em nosso curso de Cálculo Numérico.
1.1 Erros na fase de modelagem Para melhor compreender em quais momentos, durante a resolução de um problema, podem ocorrer erros, vamos representá-los por meio de um esquema, conforme a figura a seguir.
Problema físico Modelo matemático
Modelagem Resolução Solução
O erro pode ocorrer na fase de modelagem, por exemplo, se o problema exige que tenhamos uma precisão de várias casas decimais não conseguimos medi-los de maneira precisa dependendo do modelo que se tenha.
Erros e representação
numérica
Outro exemplo que podemos citar são os modelos que matemáticos estudados no Ensino Médio desprezam, como o atrito, a resistência do ar, entre outras variá- veis que em problemas reais influenciam diretamente no resultado final. Exemplo Considerando a equação F = m ⋅ a, sendo F a força medida em Newtons, m a massa em quilograma e a a aceleração em metros por segundo, se desejarmos medir a forma de um objeto em queda livre, sabemos que a aceleração é apro- ximadamente 9,8 m/s e sua massa igual a 5 Kg. Facilmente respondemos que a sua força é F = 9,8 × 5 = 49 N. Entretanto, existe variação na gravidade em função da altitude em relação ao nível do mar, temos também que considerar a resistência do ar, entre outros fatores, portanto embora os cálculos estejam corretos temos erros na modelagem problema. O que ocorreu no problema citado acorre em qualquer área do conhecimento.
1.2 Erros na fase de resolução Os erros também podem ocorrer na fase de resolução devido a alguma aproximação realizada pelo computador devido às restrições de representação, como, por exemplo, o número π, e, 2 e outros irracionais e alguns racionais. Estes números não podem ser representados exatamente e o erro cometido propaga nas operações aritméticas. No computador ainda temos o problema da conversão em binário-decimal, em que os números binários não representam todos na forma decimal. Para melhor compreender essas situações vamos estudar como transformar números da forma decimal-binária e vice-versa.
1.2.1 Conversão de bases As máquinas digitais convertem todos os dados para binário (0 ou 1, presença ou ausência de energia) realizam as operação, transformam em decimal para que possamos compreender, todos os cálculos são realizados utili- zando a Álgebra Booleana. Um número N qualquer pode ser descrito numa base β de acordo com a seguinte expressão polinomial: N = am β^ m + am 1 (^) − β m 1 −^ + ... + a 1 β + 1 ao + a (^) − 1 β −^1 + a (^) − 2 β −^2 + ... + a−n β−n
Para compreender melhor, primeiro veremos um exemplo com a base decimal com a qual estamos mais acostumados. Deste momento em diante, nesta disciplina todos os números serão repre- sentados entre parênteses com um índice indicando em qual base está o
Assim o número (26) 10 = (11010) 2 , para verificar basta utilizar o polinômio para transformar novamente em decimal. Vamos verificar:
4 4 3 3 2 2 1 1 00
2 4 3 2 1 0
2
2
2 10
N a a a a a
(11010) 1 2 1 2 0 2 1 2 0 2
(110) 1 16 1 8 0 4 1 2 0 1
(110) 16 8 0 2 0
(110) (26)
= β + β + β + β + β
= ⋅ + ⋅ + ⋅ + ⋅ + ⋅
= ⋅ + ⋅ + ⋅ + ⋅ + ⋅
= + + + +
=
Podemos observar que para representar um número em binário precisamos de mais posições que na forma decimal, de maneira geral quanto menor a base mais posições são necessárias. Agora, vamos estudar o processo para trans- formar decimais fracionários, considere o exemplo. Exemplo Transforme em decimal o número (0,625) 10. Solução Para transformar decimal fracionário em binário, multiplicamos apenas parte fracionária por 2 sucessivas vezes até a parte fracionária ser igual a zero ou o número repetir uma sequência, a parte inteira sempre será 0 ou 1. 0, 625 x 2 1, 250
0, 250 x 2 0 , 500
0, 500 x 2 1, 000
A parte inteira em destaque é o número na forma binária (0,101) 2. Como fizemos no exemplo anterior vamos verificar se a transformação está correta voltando o número para a forma decimal. 1 2 3 1 2 3 1 2 3 2
2
2
2 10
N a a a
(110) 1 2 0 2 1 2
(110) 1 1 0 1 1 1 2 4 8 (110) 1 0,5 0 0,25 1 0,
(110) (0,625)
− − − − − − − − −
= β + β + β
= ⋅ + ⋅ + ⋅
= ⋅ + ⋅ + ⋅
= ⋅ + ⋅ + ⋅
=
E como faríamos se tivéssemos um número com parte inteira e fracionária, ou seja, misto na forma decimal para transformar em binário? A resposta é simples basta aplicar os dois processos em separado. Veja um exemplo:
CALCULO_NUMERICO.indd 12 1/4/aaaa 13:13:
Exemplo Transforme o número (37,375) 10 em binário. Solução Primeiro vamos transformar a parte inteira, ou seja, o 37.
37 18 9 4 2 0 0
0
0
1
1
0
2 2
2
2
2
2
1
Assim, na parte inteira temos (100101) 2 , mas ainda falta a parte fracio- nária. Tomando apenas esta faremos como no exemplo anterior.
0, x 2 0 , 750
0, 750 x 2 1, 500
0, 500 x 2 1, 000
Então a representação binária do número (37,375) 10 é (100101,011) 2.
1.2.2 Erros de arredondamento
Durante o processo de conversão binário decimal, podem ocorrer alguns erros, pois na forma binária não é possível representar todos os números da reta real. Também existem casos em que um número exato na forma decimal não possui tal representação na forma binária.
Por exemplo, o número (0,1) 10 , em binário é uma dízima periódica, ou seja, não pode ser representada exatamente com uma quantidade finita de símbolos.
Existem também os números em decimal que não possuem representação binária, então fazemos uma aproximação.
Exemplo Vamos representar o número (0,1) 10 na forma binária.
0, x 2 0, 2
0, 2 x 2 0, 4
0, 4 x 2 0,
0, x 2 1 , 6
0, 6 x 2 1 , 2
0, 2 x 2 0, 4
0, 4 x 2 0,
0, x 2 1 , 6
0, 6 x 2 1 , 2
Assim F é definido por F ( , t, eβ^ min^ , emax^ ). A mantissa está sempre entre –1 e 1. Para garantir a representação única para cada y ∈ F, faz-se uma norma- lização no sistema de forma que d 1 ≠ 0 para y ≠ 0. No exemplo, a seguir, veremos como representar um número no sistema de ponto flutuante.
Exemplo Considere o número (0,00021456) 10 , vamos representá-lo em uma máquina com as seguintes características β = 10, t = 4 e –9 ≤ e ≤ 9.
Solução Para representar nesta máquina o número vamos utilizar a equação F = ±(.d 1 d 2 d 3 ... d )t β^ e
Como d 1 ≠ 0, β = 10, como a mantissa deve estar entre –1 e 1 devemos deslocar a vírgula três casas para a direita.
0,21456 × 10 – Mas nossa máquina representa apenas 4 dígitos na mantissa então trun- camos o último ficando com o número
0,2145 × 10 – Utilizamos o mesmo processo para representar números inteiros, como no exemplo a seguir.
Exemplo Considere o número (21,004567) 10 , vamos representá-lo em uma máquina com as seguintes características β = 10, t = 4 e –9 ≤ e ≤ 9.
Solução Novamente devido às restrições da mantissa vamos reposicionar a vírgula de modo que para d 1 ≠ 0 a mantissa esteja entre –1 e 1.
0,21004567 × 102. A nossa máquina representa apenas 4 dígitos na mantissa temos. 0,2100 × 102 Observe que neste último exemplo alguns algarismos foram ignorados, acar- retando um erro, assim a quantidade de símbolos na mantissa determina a capa- cidade de armazenamento de um número em uma máquina digital.
Para valores binários funciona da mesma maneira e assim como na represen- tação decimal também ocorrem erros. Em uma máquina digital, em seu projeto, está implícita a base do sistema de numeração e por isso não há necessidade de armazená-la. Para representar em uma máquina digital devemos reservar um
espaço também para o sinal, onde se convenciona que 0 (zero) indica positivo e 1(um) indica o sinal negativo. Observe o esquema a seguir.
Sinal da mantissa
Mantissa Sinal do expoente
Expoente
Observe o exemplo a seguir. Exemplo Represente o número (–26,575) 10 em uma máquina digital com as seguintes características β = 2, t = 4 e –8 < e < 8. Solução Inicialmente devemos converter o número para binário, assim temos: (26,575) 10 = (11010,11) 2 Vamos deslocar a vírgula 5 casas para a esquerda para satisfazer as condições da mantissa, ou seja, d 1 ≠ 0 e a mantissa entre –1 e 1. Assim, 0,1101011 × 25 , entretanto nossa máquina armazena apenas os símbolos 0 e 1, portanto, devemos transformar o expoente em binário também (5) 10 = (101) 2. Utilizando o esquema, temos: SM MANTISSA SE EXP (^0 1 1 0 1 0 1 0 ) Nesta máquina devemos abandonar alguns dígitos, pois a máquina possui apenas 4 posições para a mantissa causando um erro em sua representação devido as limitações da máquina. Na máquina está representado: 0,1101 × 25 = (11010,00) 2 Voltando o número representado na máquina a forma decimal, temos: (11010,00) 2 = (26) 10 A parte fracionária foi perdida, e ocasiona um erro de (0,575) 10.
Saiba mais
Durante a Guerra do Golfo em 1991, um míssil Patriot falhou devido a um erro na representação do tempo utilizado para calcular a sua trajetória, este erro impossibilitou o míssil Patriot de interceptar o míssil Scud que ma- tou 28 soldados e deixou em torno de 100 feridos. O erro no sistema ocorreu devido a um truncamento na conversão de déci- mos de segundos em segundos utilizando uma memória de 24 bits na sua representação, o agravante do erro foi ocasionado devido a alta velocidade
O expoente tem representação (100) 2 , mas dispomos de apenas duas casas para a representação, nesse caso houve um underflow. Fazendo o mesmo processo para (10000) 2 , temos: 0,1 x 2^5 e (5) 10 = (101) 2
SM MANTISSA SE EXP 0 1 0 0 0 0?? Como o expoente extrapolou a capacidade da máquina de representação para mais, dizemos que ocorreu um overflow.
1.5 Erros Como vimos anteriormente em cálculos computacionais, os valores em geral são aproximados, assim, é importante saber o quanto uma medida está próxima de um valor “exato”. Assim utilizamos o erro para medir a diferença entre o valor exato e o aproximado. Seja: x ∆ aproximação para x. O erro absoluto de x é dado por: e (^) A= x −x
No entanto, o erro absoluto nem sempre é eficiente considere o seguinte caso: Na construção de uma casa, o mestre-de-obras mede o ângulo formado entre a parede e o solo e obtêm 89° graus, sendo o ideal 90°, entretanto esse erro é insignificante tendo em vista a altura da parede uma casa, que em média tem seis metros de altura. Considerando o mesmo erro em um observatório no ajuste do ângulo do telescópio pode significar milhares ou até milhões de quilômetros entre dois astros. Nestes casos o erro absoluto de 1° tem significado muito diferente dependendo da situação. Assim o erro relativo é definido conforme a expressão:
R
x x e x
O erro relativo é útil quando |x| é uma boa medida do tamanho da quantidade. Exemplo Seja o valor π = 3,141592 considerado como “valor exato”. Vamos calcular o erro cometido no cálculo do comprimento de circunferências em dois casos: π = 3,14, raio = 4 m π = 3,141, raio = 20 m
Solução Nos dois casos, vamos calcular o erro absoluto e relativo, sabendo que o comprimento da circunferência é dado por: C = 2πr.
Calculando o valor exato: Ce = 2 x 3,141592 x 4 Ce = 25,132736 m C 1 = 2 x 3,14 x 4 C 1 = 25,12 m eA1 = |x – x| eA1 = |25,132736 – 25,12| eA1 = 0,
Calculando o erro relativo:
R
R
25,132736 25, e 25, e 0, 000506
=
Fazendo o mesmo para letra b temos, calculando o valor exato: Ce = 2 x 3,141592 x 1000 Ce = 628,3184 m eA2 = |x – x| eA2 = |6283,1840 – 6282,000| eA2 = 1,
Calculando o erro relativo:
R
R 2
R 2
x x e (^) x
6283,1840 6282, e 6283, e 0,
=
Comparando o erro absoluto da letra a e b observamos que o erro é maior na letra b. Enquanto que o erro relativo da letra b é menor que o erro relativo em a. O que isto significa?
Significa que eA2 = 1,184 é menos significativo quanto comparado com a magnitude do comprimento.
Raízes reais de funções
Introdução
Muitos problemas são modelados por meio de funções e encontrar as suas raízes significa encontrar o resultado do problema. No entanto, podemos encon- trar de forma analítica e exata apenas raízes de algumas funções, como as poli- nomiais de 1º e 2º graus e certas classes de 3º e 4º graus e algumas equações transcendentes. E como faremos para resolver os problemas modelados por funções poli- nomiais e transcendentes que não podem ter suas raízes determinadas analiti- camente? Utilizaremos métodos numéricos que determinam as raízes de forma aproximada à raiz exata. Embora os métodos numéricos não forneçam as raízes exatas podemos aproximá-las tanto quanto for necessário dependendo da natureza do problema, tornando o erro desprezível. Por isso é importante conhecer bem o problema e os métodos para podermos analisar os resultados obtidos de forma adequada. Nosso principal objetivo neste capítulo é encontrar um número x para o qual uma função f(x) seja igual a zero, ou seja, f(x) = 0, assim x é denominado raiz da função ou zero da função. Para determinar a raiz de uma função seguimos duas etapas: t Isolamento das raízes: antes de aplicar qualquer método numérico para a determinação de uma raiz de uma função devemos garantir que em um intervalo [a, b], contenha uma e somente uma raiz da função. t Refinamento da raiz: nesta etapa vamos determinar melhorar o resultado diminuindo o intervalo e desta maneira aproximando de x de forma que f(x) seja o mais próximo de zero possível. Esperamos que ao final deste capítulo, você seja capaz de determinar a raiz aproximada de uma função e analisar e aplicar métodos numéricos para deter- minação de raízes de uma função. Para um bom desenvolvimento dos conceitos abordados neste capítulo é importante ter compreendido os conceitos de erros numéricos ocorridos durante operações aritméticas e cálculos binários. Os conceitos de funções suas classi- ficações e familiaridades com suas propriedades são de suma importância na escolha do método adequado e análise de sua raiz.
2.1 Isolamento de raízes Para isolar uma raiz vamos apresentar um importante e simples teorema da Álgebra que nos auxiliará nessa tarefa. Teorema 1: Se uma função contínua f(x)assume valores de sinais opostos nos pontos extremos de um intervalo [a, b], isto é f(a). f(b) < 0, então o intervalo conterá, no mínimo, uma raiz de f(x), ou seja, haverá no mínimo, um número x ∈ (a,b)tal que f(x) = 0. Exemplo A figura a seguir representa o gráfico de uma função f(x) que possui algumas raízes no intervalo [a, b].
x
a b
y
Podemos observar que f(a) ⋅ f(b) < 0, pois f(a) < 0 e f(b) > 0, também vimos que existem raízes no intervalo [a, b], mas ela não é única. Para garantir que a raiz seja única, a derivada de f(x) deve existir e manter o mesmo sinal para todo o intervalo [a, b]. A figura seguinte nos apresenta um exemplo gráfico de uma função f(x) cujo sinal de f'(x) não altera no intervalo [a, b].
y
x
a b
f(x)
No caso de f(a) ⋅ f(b) > 0 nada podemos afirmar sobre as raízes de f(x) no intervalo [a, b], pois podemos ter as seguintes situações: Observe as figuras a seguir, estas duas situações podem ocorrer quando f(a) ⋅ f(b) > 0.
f(x) = tg(x)
1
1
2
3
4
5
y
2 3 4 5 6 7 8
(^2) x
π 3 2
π
f(x) = logax a>
1
1
2
3
y
2 3 4 5 6 7 8
x
f(x) = logax 0 < a < 1
1
1
2
3
y
2 3 4 5 6 7 8
x
f(x) = eax a > 0
1
1
3
4
5
6
7
2
2
y
–4 –3 –2^ –
x
f(x) = eax a < 0
1
1
–2 2
2
3
3
4
4
5
6
7
Para encontrar o intervalo [a, b] que contenha a raiz fazemos um esboço do gráfico da função f(x) e verificamos aproximadamente onde ela se anula.
4
3
2
1
1 2
x
f(x)
–h(x)
y
g(x)
As funções h(x) e g(x) são mais simples de serem esboçadas graficamente e o ponto de encontro das duas possui a mesma abscissa da raiz procurada, portanto basta escolher um intervalo nas proximidades deste ponto. Vamos praticar fazendo outro exemplo. Exemplo Determine um intervalo que contenha apenas a primeira raiz positiva da função f(x) = x^2 + x – cos(x). Solução Vamos escrever a função f(x) em termos da soma de h(x) e g(x), como fizemos anteriormente, aqui temos dois tipos de função como parcela de f(x), uma poli- nomial chamaremos de g(x) = x^2 + 2 e outra trigonométrica que chamaremos de h(x) – cos(x). Fazendo g(x) = h(x), e esboçando ambos os gráficos no mesmo plano cartesiano, temos:
y
x
1
–1 1
2
CALCULO_NUMERICO.indd 27 1/4/aaaa 13:14:
Assim, podemos escolher como intervalo, por exemplo, [0, 1], lembrando que o enunciado pede a primeira raiz positiva. Cuidado, não representa uma raiz de f(x)!
2.3 Métodos de refinamento Durante o processo de refinamento necessitamos saber qual a diferença entre a raiz aproximada e a raiz exata. Para realizar essa avaliação utilizamos um dos três critérios a seguir. 1º Critério: f(x )n ≤ ε
2º Critério: xn^ −^ x^ n 1− ≤ ε
3º Critério: n^ n 1 n
x x x
− (^) − ≤ ε
Nos critérios apresentados (^) xn representa a enésima aproximação da raiz. Nos critérios 1 e 2 podemos ter a situação representada pelos gráficos da figura a seguir.
f(x)
Figura 1
Figura 2
A figura 1 apresenta um problema quando utilizamos o primeiro critério para avaliar se um determinado valor está ou não próximo de uma raiz, pois apesar do valor de f(x) estar próximo de zero percebemos que ainda está relati- vamente longe da raiz exata. A figura 2 temos um problema semelhante com o critério 2, a diferença é que x está próximo da raiz, mas f(x) não se aproxima de zero. Em muitos casos verificamos se os dois critérios são satisfeitos evitando conclusões equivocadas. O terceiro critério nos fornece a distância relativa da raiz e se comporta de forma semelhante ao segundo. Agora que conseguimos separar uma raiz de uma função e avaliar o quanto x está próximo da raiz, vamos estudar técnicas que melhorem esse resultado que inicialmente é simplesmente visual e nos fornece apenas uma aproximação inicial.