Buscar

MNC 1 Algoritmos Numéricos 2013 BCC

Prévia do material em texto

____________________________________________________________________________________________________________________ 
 
____________________________________________________________________________________________________________________ 
unesp UNIVERSIDADE ESTADUAL PAULISTA 
 CÂMPUS UNIVERSITÁRIO DE BAURU 
 FACULDADE DE CIÊNCIAS 
 
Plano de Ensino 
 
Curso: 2301 - Bacharelado em Ciência da Computação 
Departamento: Computação 
 
IDENTIFICAÇÃO 
Código: 4616 
Disciplina: MÉTODOS NUMÉRICOS COMPUTACIONAIS 
Seriação Ideal: 3º Termo 
Pré-Requisitos: 4600 - Cálculo I 
4601 – Geometria Analítica 
4604 - Algoritmo I 
Co-Requisitos: 
Créditos: 04 
Semestre: 1 
Carga Horária Total: 60 
Ano: 2013 
 
OBJETIVOS 
 
O objetivo dessa disciplina é tornar o aluno apto a resolver métodos numéricos, bem como 
escrever algoritmos eficientes para estes métodos. 
 
 
CONTEÚDO PROGRAMÁTICO 
 
1. Algoritmos Numéricos 
2. Cálculo de Zero de Funções 
2.1. Introdução 
2.2. Métodos 
2.2.1. Bisseção 
2.2.2. Cordas 
2.2.3. Cordas Modificado 
2.2.4. Newton 
2.2.5. Newton Modificado 
2.3. Comparação dos Métodos 
3. Solução de Sistemas Algébricos Lineares 
3.1. Introdução 
3.2. Métodos diretos 
3.2.1. Decomposição LU 
3.2.2. Cholesky 
3.2.3. Gauss Simples 
3.2.4. Gauss com Pivotamento Parcial (com/sem troca de linhas) 
3.3. Métodos Iterativos 
3.3.1. Jacobi 
3.3.2. Gauss Seide 
____________________________________________________________________________________________________________________ 
 
____________________________________________________________________________________________________________________ 
3.3.3. Critérios de Convergência 
3.3.4. Critérios de Parada 
3.4. Comparação entre os métodos 
3.5. Cálculo da Matriz Inversa e do Determinante 
4. Interpolação de Funções 
4.1. Introdução e conceitos 
4.2. Obtenção do polinômio interpolador através da solução de sistema algébrico linear 
4.3. Forma de Newton (diferenças divididas) 
4.4. Forma de Newton com pontos equidistantes (diferenças finitas) 
5. Ajuste de Curvas 
5.1. Introdução 
5.2. Método dos Mínimos Quadrados 
5.2.1. Ajuste de Reta 
5.2.2. Ajuste Polinomial 
5.2.3. Ajuste Exponencial 
5.2.4. Cálculo do Coeficiente de Variação 
6. Diferenciação Numérica 
6.1. Introdução e Conceito 
6.2. O dilema do passo h 
6.3. Cálculo de f´(x), f´´(x) e f´´´(x) 
6.4. Cálculo do gradiente, da hessiana e do Jacobiano 
7. Integração Numérica 
7.1. Introdução e conceito 
7.2. Fórmulas de Newton-Cotes 
7.2.1. Retângulos 
7.2.2. Trapézios 
7.2.3. 1/3 Simpson 
7.2.4. 3/8 Simpson 
7.3. Comparação dos métodos 
7.4. Fórmula de Quadratura Gaussiana 
8. Solução de Sistemas de Equações Não Lineares 
8.1. Introdução 
8.2. Método de Newton 
 
 
METODOLOGIA 
 
Aulas expositivas e exercícios. 
 
 
BIBLIOGRAFIA BÁSICA 
 
ARENALES, S. & DAREZZO, A., Cálculo Numérico: Aprendizagem com Apoio de Software. 
São Paulo: Thomson Learning, 2008. 
BURDEN R.L.; FAIRES, J.D., Análise Numérica. Cengage Learning, 2008. 
CHAPRA, S.C. & CANALE, R.P., Métodos Numéricos para Engenharia. 5
a
 edição, São Paulo: 
Mcgraw-hill, 2008. 
FRANCO, N.B., Cálculo Numérico. São Paulo: Pearson Prentice Hall, 2006. 
 
 
BIBLIOGRAFIA COMPLEMENTAR 
 
CLAUDIO, D.M. & MARINS, J.M. Cálculo Numérico Computacional - Teoria e Prática. São 
Paulo: Atlas, 1989. 
DEMIDOVICH, B.P. & MARON, I.A. Computacional Mathematics. Moscow: Mir, 1987. 
____________________________________________________________________________________________________________________ 
 
____________________________________________________________________________________________________________________ 
RUGGIERO, M.A.G. & LOPES, V.L.R. Cálculo Numérico - Aspectos Teóricos e Computacionais. 
2
a
 edição, São Paulo: Makron Books, 1996. 
 
 
CRITÉRIOS DE AVALIAÇÃO DA APRENDIZAGEM 
 
- AVALIAÇÃO: 
 
Os alunos serão avaliados através de provas, trabalhos computacionais e listas de exercícios. 
 
Serão realizadas três provas: P1, P2 e P3. 
As duas primeiras, P1 e P2, têm caráter obrigatório e a terceira, P3, tem caráter substitutivo. 
A Média de Provas, MP, será calculada por MP = (P1+P2)/2. 
A prova P3 versará sobre toda a matéria do semestre e substituirá a menor nota entre P1 e P2. 
 
A Média dos Trabalhos, MT, será a média aritmética dos trabalhos solicitados no decorrer do 
semestre. 
 
A Média das Listas de Exercícios (ML) será calculada como a média aritmética de todas as 
listas de exercícios solicitadas. 
 
Desta forma, o cálculo da Média Final, MF, será obtido da seguinte maneira: 
 
MP >= 5.0 MF = MP*0.70 + MT*0.20 + ML*0.10 
MP < 5.0 MF = MP*0.80 + MT*0.15 + ML*0.05 
 
OBS: Nos casos onde se verifique improbidade do discente em provas, trabalhos ou exercícios de 
avaliação, a nota atribuída a esse discente na referida avaliação será zero e não será permitida 
a substituição da mesma. 
 
- REGIME DE RECUPERAÇÃO: 
 
Será aplicada uma única prova contemplando o conteúdo do semestre e o aluno que obtiver nota 
igual ou superior a 5.0 será considerado aprovado. 
 
- DATAS DAS PROVAS: 
 
P1: 25/04/2013 
P2: 20/06/2013 
P3: 27/06/2013 
Regime de Recuperação: 10/07/2013 
 
 
 
 
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 1 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
INTRODUÇÃO 
 
1. Métodos Numéricos 
 
O Cálculo Numérico, entendido com uma coletânea de métodos numéricos, consiste de 
uma poderosa ferramenta que nos auxilia na obtenção de soluções numéricas, em geral 
aproximadas, de diversos problemas que encontramos no mundo real. Por um método numérico 
entendemos um conjunto de regras escritas sob a forma de uma sequencia de operações 
elementares (soma, adição, multiplicação e divisão) que levam a uma solução do problema. A 
esse conjunto de regras denominamos algoritmo. 
 
Com a popularização de computadores de baixo custo e de alta capacidade de 
processamento, muitas das atividades da Ciência tem feito uso cada vez mais intensivo dos 
métodos e técnicas computacionais na resolução de problemas reais, para os quais as soluções 
manuais são impraticáveis e/ou imprecisas, ou ainda são muito custosas em relação ao tempo de 
execução. 
 
Desta forma, o uso do computador como ferramenta de trabalho de cálculo numérico 
requer o entendimento dos seus princípios de operação e de como eles interferem nos resultados 
obtidos. Geralmente, é aceito como verdade que computadores não erram e que os usuários é 
quem cometem enganos que levam ao mau funcionamento do computador. Na realidade, o 
computador, como dispositivo de cálculo também, “comete” erros devido às suas características 
intrínsecas e o papel do usuário é quantificar esses erros e encontrar formas de, se não eliminá-
los, pelo menos minimizá-los. 
 
O desenvolvimento e aplicação dos Métodos Numéricos estão vinculados ao 
desenvolvimento computacional. Portanto os fatores relevantes para a escolha de um algoritmo 
devem envolver os aspectos: 
i. Precisão desejada; 
ii. Capacidade do método em conduzir aos resultados desejados: velocidade de 
convergência; 
iii. Esforço computacional utilizado: tempo de processamento, economia de memória 
necessária para a resolução. 
 
A resolução de problemas reais através de métodos numéricos pode ser vista pelas 
seguintes etapas:Construção 
do Modelo 
Matemático 
Escolha de 
um 
Método 
Adequado 
Implementação 
Computacional 
Análise do 
Resultado 
Problema 
Real 
Levantamento 
de Dados 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 2 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
A implementação computacional consiste em, escolhida uma linguagem 
computacional, Fortran, Pascal, C, C++, dentre outras, colocar o algoritmo do método escolhido 
em termos dessa linguagem. 
 
Pode-se também escolher vários métodos numéricos para comparar os resultados obtidos 
e assim optar pelo uso do que apresentou melhor resultado. 
 
Exemplo: 
Problema Real e Levantamento de dados 
Um fabricante de plásticos produz 2 tipos de plástico: o normal e o especial. Cada tonelada de 
plástico normal exige 2 horas na máquina A e 5 horas na máquina B; cada tonelada de plástico 
especial exige 2 horas na máquina A e 3 horas na máquina B. Se a máquina A está disponível 8 
horas por dia e a máquina B está disponível 15 horas por dia, quantas toneladas de cada tipo de 
plástico deveriam ser produzidas diariamente de maneira que as duas máquinas se mantenham 
totalmente ocupadas? 
Construção do Modelo Matemático - Modelagem 
plástico normal = variável x 2 2 8
plástico especial = variável y 5 3 15
x y
x y
  
 
  
 
Escolha de um Método Numérico - Substituição de variáveis 
2 2 8
5 3 15
x y
x y
 
 
 

 
2 2 8
4 10
x y
y
 
 

 
- 4y = -10 y = 2.5
2x + 2(2.5) = 8 2x = 8 - 5 x = 1.5


 
 
Análise dos Resultados Obtidos 
A solução obtida diz que devem ser produzidas 1.5 toneladas de plástico normal (variável x) e 2.5 
toneladas de plástico especial (variável y). 
Substituindo esse resultado no modelo pode-se verificar que ele é verdadeiro. 
 
 
2. Algoritmos Numéricos 
 
Um algoritmo numérico de boa qualidade deve possuir as seguintes características: 
 
1. Inexistência de erro lógico 
Previsão completa de todas as tendências do processo, levando em conta as características das 
operações aritméticas e dos modelos matemáticos. O algoritmo deve identificar todas as etapas 
do modelo. 
Exemplo: Calcular a solução da equação ax=b. 
 
2. Inexistência de erro operacional (overflow/underflow) 
O algoritmo pode falhar por violar restrições físicas da máquina, e então os erros são 
detectados em tempo de execução. 
y y limite inferior (underflow)
y limite superior (overflow)
 
 

 
Exemplo: Seja z = x + iy com z

C, x e y 


. Queremos calcular 
2 2z x y 
. 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 3 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
Se implementarmos diretamente 
2 2z x y 
, dependendo dos valores de x e y 
podemos ter overflow em x
2
 ou y
2
, embora valha 
2 2x y
 < limite superior. 
Então devemos fazer: 
Se x = y = 0 
então 
z
 = 0 
senão 
Se 
x
>
y
 
então 
z
 = 
x  21
x
y

 
senão 
z
 = 
y  21
y
x
 
 
3. Quantidade finita de cálculos (critério de parada) 
Um método é dito iterativo quando o mesmo procedimento é repetido diversas vezes gerando 
uma sequencia de aproximações da solução procurada. 
Como muitos dos métodos numéricos utilizados na resolução de problemas são iterativos, é 
necessário estabelecer um critério de parada, para que o algoritmo possa terminar após um 
número finito de passos. Ainda é aconselhável estabelecer um número máximo de iterações a 
serem executadas pelo algoritmo. 
 
4. Existência de um critério de exatidão 
Em virtude das limitações de precisão e exatidão da máquina e do método, todo resultado 
obtido do computador deverá enquadrar-se em um critério de exatidão pré-estabelecido. Assim 
Valor Exato = Valor Aproximado 

 Limite do Erro (Precisão 

) 
Exemplo: 
 
Ite = 0 
Enquanto (critério>

) e (Ite<MaxIte) 
faça 

 
Ite = Ite + 1; 
Fim Enquanto 
 
Ou 
Ite = 0 
Repita 

 
Ite = Ite + 1; 
Até que (critério<

) ou (Ite>=MaxIte) 
 
 
5. Independência da máquina 
Nos algoritmos numéricos não deve haver dados dependentes da máquina. O programa gerado 
pelo algoritmo deve ser executado em diferentes máquinas, visando à máxima portabilidade. 
Exemplo: 
a) 
 
 quantos dígitos usar??? 
b) Usar a rotina pré-definida e = exp(1) e não e = 2.71828182. 
 
6. Com precisão infinita, os limites do erro devem convergir à zero (convergência 
numérica). 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 4 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
Esta exigência estabelece a dependência entre a solução ideal em 

e a solução da máquina. 
Sem essa condição de convergência a solução da máquina não precisará necessariamente estar 
relacionada com a solução verdadeira. 
Exemplo: Dado a

, calcular x = sin(a) 
Inicio 
ler (a) 
x

 0

1 
imprimir (x) 
Fim 
 
Este algoritmo satisfaz todas as exigências vistas até o momento: 
 Não há erro lógico nem operacional 
 Os dados não dependem da máquina 
 Resultado dentro dos limites de erro 
Porém não há convergência numérica. 
 
7. Eficiência 
Encontrar a solução de um problema visando obter economia de recursos envolvidos (tempo, 
exatidão, volume de dados de referência, dificuldades de representação, espaço de memória). 
As exigências (1) e (2) dizem respeito à eficácia. 
Eficácia: qualidade de produzir uma resposta correta ao problema dado. 
Eficiência: eficácia + economia. 
 
 
3. Erros 
 
Na busca da solução do modelo matemático por meio de cálculo numérico, os erros 
surgem de várias fontes e merecem cuidado especial. Caso contrário, pode-se chegar a resultados 
distantes do que se esperaria ou até mesmo obter outros que não têm nenhuma relação com a 
solução do problema original. 
 
As principais fontes de erros são: 
i) Erros nos dados de entrada; 
ii) Erros no estabelecimento do modelo matemático; 
iii) Erros de arredondamentos durante a computação; 
iv) Erros de truncamento; 
v) Erros humanos e de máquinas. 
 
3.1. Erros na Fase de Modelagem 
 
O modelo matemático correspondente ao problema real deve traduzir e representar o 
fenômeno que está ocorrendo no mundo físico. Entretanto, nem sempre isso é fácil. Ao se tentar 
representar um fenômeno do mundo físico por meio de um modelo matemático, raramente se 
tem uma descrição correta deste fenômeno. 
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 5 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
Normalmente, são necessárias várias simplificações do mundo físico para que se tenha 
um modelo matemático com o qual se possa trabalhar e que fornecerá uma solução adequada 
para o problema original.Simplificações estas como a resistência do ar, a velocidade do vento, 
variações de temperatura, umidade relativa do ar dentre outras são fontes de erros, o que pode 
implicar a necessidade de reformulação do modelo físico e matemático. Além disso, 
frequentemente os dados que são analisados na busca de um modelo matemático que o 
represente são obtidos através de medidas experimentais, e, portanto sujeito a imprecisões. 
 
Desta forma notamos uma forte influência do modelo matemático e da precisão dos dados 
na confiabilidade da resposta obtida. 
 
Na execução de determinado método numérico são utilizados, em geral, computadores, 
calculadoras que trabalham com uma representação finita dos números. No entanto operações 
que envolvam números que não possam ser representados através de um número finito de dígitos 
não fornecerão como resultado um valor exato. Por exemplo: dentro de algum cálculo deve-se 
utilizar o valor da fração 1/3, cuja representação na forma decimal gera uma dízima periódica 
0,333333. Assim, muitas vezes torna-se necessária a utilização de instrumentos de cálculo que 
necessitam, para seu funcionamento, que sejam feitas certas aproximações. 
 
3.2.1. Representação de Número 
 
A representação de um número depende da base escolhida ou disponível na máquina em 
uso, e do número máximo de dígitos usados na sua representação. Por isso, qualquer cálculo que 
envolva número não finito de dígitos fornecerá um valor não exato para o problema. Nestes 
casos, quanto maior o número de dígitos utilizados, maior será a precisão obtida. 
 
A base decimal [0..9] é a que mais empregamos no dia a dia. Já os computadores operam 
com base binária [0 e 1]. Assim na relação homem/máquina o processo de conversão de bases é 
uma fonte de erros. Tais conversões são: 
 O usuário, homem, fornece os dados no sistema decimal; 
 Todos os dados recebidos pela máquina são convertidos para binário; 
 Os resultados obtidos pela máquina são convertidos para decimal e finalmente 
transmitidos ao usuário. 
 
Supondo que 

seja a base e 
i
os algoritmos de um número N, pode-se escrever este 
número da seguinte maneira: 
 
N = 
  

  

afracionáriparteinteiraparte
2
2
1
1
0
0
1
1
m
m
m
m
m
m







  
 
 
Exemplo: 7602,13 na base 10. 
7602,13 = 7*10
3
 + 6*10
2
 + 0*10
1
 + 2*10
0
 + 1*10
-1
 + 3*10
-2
 
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 6 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
3.2.2. Aritmética de Ponto Flutuante 
 
A representação em ponto flutuante surge da necessidade de representar números reais 
com uma faixa maior àquela propiciada pelo ponto fixo e com o objetivo de permitir ao 
computador o tratamento de números extremamente grandes e extremamente pequenos. 
 
Um número qualquer N na base 

 em aritmética de ponto flutuante de t dígitos tem a 
seguinte representação matemática: 
 
N = 

mantissa*
e
 
 
A mantissa é a fração da base 

 com 0

 dj 

, j = 1,  t. Ela representa os bits de 
precisão de um número. Nesta representação o número pode ser expresso através de várias 
combinações, dentre as quais, por conveniência, se utiliza a forma normalizada, onde a mantissa 
não tem parte inteira e o primeiro dígito à direita do ponto é significativo (diferente de zero), 
exceto na representação do número zero. 
 
O expoente e da base 

 varia no intervalo de (m, M), sendo que esses limites dependem 
da máquina. 
 
Assim, a representação em ponto flutuante varia conforme o comprimento da palavra do 
computador (quantidade de dígitos de uma representação), a base 

, o sistema usado para 
representar a mantissa e o expoente e. Logo, um número N tem sua representação em ponto 
flutuante de t dígitos feita por truncamento ou arredondamento. 
 
Por exemplo, o número 10,053 num sistema de ponto flutuante de 3 dígitos para a base 
decimal e o intervalo dos expoentes definido em [-4 .. +4] seria: 
 Por arredondamento: 0,101*102 
 Por truncamento: 0,100*102 
 
Quando o expoente e do número fica fora dos limites da máquina ocorrem os erros de: 
 underflow: e < m = limite inferior 
 overflow: e > M = limite superior 
 
Exemplos: 
 Número 12 em notação normalizada de 2 dígitos, base binária e intervalo dos expoentes 
definido em [-4 .. +4] 

 0,75*2
4
 
 Número 25 em notação normalizada de 2 dígitos, base decimal e intervalo dos expoentes 
definido em [-2 .. +2] 

 0,25*10
2
 
 Número 19,95 em notação normalizada de 3 dígitos, base decimal e intervalo dos 
expoentes definido em [-4 .. +4] 

 por arredondamento: 0,200*10
2
 

 por truncamento: 0,199*10
2
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 7 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
 
3.3 Erros Absolutos e Relativos 
 
A partir do momento em que se calcula um resultado por aproximação, é preciso saber 
como estimar ou delimitar o erro cometido na aproximação. Sem isso, a aproximação obtida não 
tem significado. 
 
Frequentemente é possível, no cálculo numérico, estimar o erro ou até delimitá-lo, isto é, 
estabelecer a menor das cotas superiores para o erro. A delimitação do erro é sempre desejável, 
pois com ela tem-se um valor em que o erro cometido seguramente é inferior a um limite. Para se 
estimar ou delimitar o erro, recorre-se a dois conceitos: erro absoluto e erro relativo. 
 
Seja 
x
 um valor aproximado para uma quantidade cujo valor exato é x. Temos: 
i) Erro Absoluto em x: EAx = 
x x
 
ii) Erro Relativo em x: ERx = x x
x

 
 
Como geralmente apenas o valor de 
x
 é conhecido, obtemos um limitante superior ou 
uma estimativa para o erro absoluto utilizando as expressões: 
 
i) EAx = 
x x
 < 

 
ii) ERx = x x
x

 < 

 
 
Exemplos: 
a) Considerando x = 231,29 e 
x
=232,04 temos: 
EAx = | 231,29 – 232,04 | = 0,75 = 7,5*10
-1
 
ERx = 
29,231
04,23229,231 
 = 3,242682347*10
-3
 
 
b) Considerando x = 0,397682 e 
x
 = 0,396965 temos: 
EAx = 
0,396965 - 0,397682
 = 7,17*10
-4
 
ERx = 
397682,0
xEA
 = 1,802948084*10
-3
 
 
Dependendo da ordem de grandeza dos números envolvidos hora o erro absoluto é 
satisfeito hora é o erro relativo. Como computacionalmente não se sabe qual a grandeza dos 
números envolvidos utiliza-se para o cálculo do erro a expressão: 
 
 
 
Erro = 
 1,xmax
xx  <  
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 8 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
 
3.4. Erros de Arredondamento 
 
Os erros de arredondamento surgem de duas fontes distintas: 
i. No processo de conversão de base 
Um número pode ter representação finita em uma base e não finita em outra. 
ii. Na representação finita de dígitos que as máquinas utilizam. 
 
Assim, esses erros dependem de como os números são representados na máquina,e a 
representação, por sua vez, depende da base em que esses números são escritos e da quantidade 
máxima de dígitos usados nessa representação. Quanto maior o número de dígitos utilizados 
após o ponto (casas decimais), maior será a precisão, como mencionado anteriormente. 
 
Exemplo: Arredondamento com 4 casas decimais: 
2,39786 

 2,3979 (

5: acrescenta 1) 
2,39783 

 2,3978 (< 5: despreza as demais casas) 
 
3.5. Erros de Truncamento 
 
É o erro inerente ao método numérico. Surge cada vez que se substitui um procedimento 
matemático infinito por um processo finito ou discreto. Um exemplo de erro de truncamento é o 
da aproximação de uma função pela série de Taylor, tais como funções trigonométricas, 
logarítmicas, exponenciação, etc. Nestes casos as séries possuem infinitos termos, porém é usual 
pré determinarmos a quantidade de termos que serão considerados. 
 
Tanto erros por arredondamento como por truncamento fazem com que num processo 
iterativo o erro se propague, podendo conduzir a resposta obtida a um valor diferente da resposta 
esperada (correta). 
 
3.6. Instabilidade Numérica 
 
Um dos aspectos importantes do cálculo numérico é manter o “controle” dos erros de 
arredondamento e truncamento. Dada uma sequência de operações é importante ter a noção de 
como o erro se propaga ao longo das operações subsequentes. 
 
Se a propagação não é significativa dizemos que o problema é estável numericamente. 
Caso contrário, isto é, se o problema é sensível a “pequenas perturbações”, por exemplo, um erro 
de arredondamento cometido numa determinada etapa leva ao final das operações a um resultado 
absurdo se comparado ao resultado esperado, tem-se então uma situação de instabilidade 
numérica. 
 
 
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 9 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
Exemplo: 
Supondo-se que as operações a seguir sejam processadas em uma máquina com 4 dígitos 
significativos e fazendo-se: 
x1 = 0,3491*10
4
 
x2 = 0,2345*10
0
 
temos: 
(x2 + x1) – x1 = ( 0.,2345*10
0
 + 0,3491*10
4
 ) – 0,3491*104 = 
0,3491*10
4
 – 0,3491*104 = 0,0000 
 
x2 + (x1 – x1) = 0,2345*10
0
 + ( 0,3491*10
4
 – 0,3491*104 ) = 
0,2345*10
0
 + 0,0000 = 0,2345 
 
Os dois resultados são diferentes, quando não deveriam ser, pois a adição é uma operação 
distributiva. A causa dessa diferença foi um arredondamento feito na adição (x2 + x1), cujo 
resultado tem 8 dígitos. Como a máquina só armazena 4 dígitos, os menos significativos foram 
desprezados. 
 
Ao se utilizar máquinas de calcular deve-se estar atento a essas particularidades causadas 
pelo erro de arredondamento, não só na adição, mas também nas outras operações. 
 
 
4. Algarismo Significativo e Algarismo Exato 
 
Nos cálculos obtêm-se tanto números muito grandes quanto muito pequenos, sendo 
comum representar estes números através da notação científica (valor vezes potência de 10). 
 
Neste contexto as definições de algarismo (dígitos) significativo e algarismo exato são 
necessários. 
 
4.1. Algarismo Significativo 
 
Os algarismos significativos de um número aproximado 

 são os dígitos diferentes de 
zero, contados a partir da esquerda até o último dígito diferente de zero à direita, caso não haja 
ponto decimal, ou até o último dígito (zero ou não) caso haja um ponto decimal (ou vírgula 
decimal) 
 
Exemplos: 
303 

 3 algarismos significativos 
3,2045 

 5 algarismos significativos 
1,0000 

 4 algarismos significativos 
33,30 

 4 algarismos significativos 
0,3281 

 4 algarismos significativos: 3, 2, 8 e 1 
0,0050 

 2 algarismos significativos: 5 e 0 
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 10 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
O número de algarismos significativos de uma grandeza medida ou um valor calculado 
é uma indicação da incerteza: mais algarismos significativos, menor a incerteza no valor. Assim, 
se for apresentado o valor de uma grandeza medida com 3 algarismos significativos, indica que o 
valor do terceiro algarismo tem uma incerteza menor ±0,5 
 
Observações importantes: 
 
1. Não é algarismo significativo o zero à esquerda do primeiro algarismo significativo diferente 
de zero. 
32,5 cm = 0,325 m 

3 algarismos significativos 
5 = 0,5*10 = 0,05*102 = 0,005*103 

 1 algarismo significativo 
26 = 2,6*10 = 0,26*102 = 0,026*103 

 2 algarismos significativos 
0,00034606 = 0,34606*10-3 = 3,4606*10-4 

 5 algarismos significativos 
 
2. O zero à direita de algarismo significativo também é algarismo significativo. 
32,5 cm 

32,50 cm 
A primeira medida tem 3 algarismos significativos, enquanto que a segunda é mais precisa e 
tem 4 algarismos significativos. 
 
3. É significativo o zero situado entre algarismos significativos 
3,25 

 3 algarismos significativos 
3,025 

4 algarismos significativos 
 
4. Quando tratamos apenas com matemática, podemos dizer, por exemplo, que 5 = 5,0 = 5,00 = 
5,000. Contudo, ao lidarmos com resultados de medidas devemos sempre lembrar que 5 cm 

 
5,0 cm 

 5,00 cm 

 5,000 cm, já que estas medidas têm 1, 2, 3 e 4 algarismos significativos, 
respectivamente. Em outras palavras, a precisão de cada uma delas é diferente. 
 
4.2. Algarismo Exato 
 
Sejam N o número exato e 

 o número aproximado. 
 
Se o erro absoluto EAx 10
-t
 então são exatos os algarismos significativos de 

 até o 
algarismo de ordem t (inclusive). 
 
Exemplos: 
1) N = 3,4827 e 

 = 3,4820 
EAx = 
N 
 = | 3,4827 - 3,4820 | = | 0,0007| = 7,0*10
 -4
 < 10
 -3
 

 Os algarismos exatos de 3.4820 são 3, 4, 8 e 2. 
 
2) N = 10,000 e 

 = 9,997 
EAx = 
N 
 = | 10,000 - 9,997 | = | 0,003| = 3,0*10
 -3
 < 10
 -2
 

 Os algarismos exatos de 9,997 são 9, 9 e 9. 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 11 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
5. Leitura Complementar 
 
5.1. Operações com algarismos significativos 
 
Quando duas ou mais quantidades são multiplicadas ou divididas, o número de 
algarismos significativos resultante deve ser igual ao menor número de algarismos significativos 
de qualquer um dos multiplicadores ou divisores. Se o cálculo inicial viola esta regra, ele deve 
ser arredondado para reduzir o número de algarismos significativos ao valor máximo permitido. 
Assim, se várias operações são realizadas em sequência, é desejável manter todos os dígitos nos 
valores intermediários e arredondar somente o valor final. 
 
Exemplo: 
(1,23)*(4,321) = 5,31483 

 5,31 {3 algarismos significativos} 
(1,2*10-3)*(0,1234*107) / 5,31 = 278,870056497 

 280 {2 algarismos significativos} 
 
Quando dois ou mais números são adicionados ou subtraídos, a posição do último 
algarismo significativo em cada número, relativa ao ponto decimal, deve ser comparada. Nestas 
posiçõeso resultado mantém a posição do valor com o significativo mais à esquerda. 
 
1230 {3 significativos} 
- 2,33 {3 significativos} 
= 1227,67 

 1230 {3 significativos} 
+ 1,0000 {5 significativos} 
+ 0,023 {2significativos} 
+ 0,12 {2 significativos} 
= 1,1430 => 1,14 {3 significativos} 
 
 
5.2. Geração e propagação de erros em operações aritméticas 
 
Para exemplificar considere x = 8124,00 e y = 53,67 em um sistemas de ponto flutuante 
com 4 dígitos significativos e base decimal. 
 
Temos: 
x = 0,8124*10
4
 + 0,0000 
y = 0,0053*10
4
 + 0,6700 
 
 
5.2.1. Adição 
 
Temos que 
 
( x + y ) = (x´+ EAx) + (y´+ EAy) = (x´+ y´) + (EAx + EAy) 
 
Assim, 
 EAx+y = EAx + EAy 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 12 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
 
O Erro Relativo é dado por: 
 
ERx+y = 
x yEA
x y

 
 = 
x yEA EA
x y

 
 = 
xEA
x
x
x y

 
 + 
yEA
y
y
x y

 
 
ou 
ERx+y = 
xER x
x y

 
 + 
yER
y
x y

 
 
 
Exemplo: (x + y) = (0,8124*10
4
 + 0,0053*10
4
) + (0,0000 + 0,6700) 
 
a) Truncamento 
(x + y) = 0,8124*10
4
 + 0,0053*10
4
 = 0,8177*10
4
 
EAx+y = EAx + EAy = 0,0000 + 0,6700 = 0,6700 
ERx+y = 
xEA
x
x
x y

 
+
yEA
y
y
x y

 
 
= 








41081240
0
*,
*








4
4
1081770
1081240
*,
*, + 








41000530
67000
*,
, *








4
4
1081770
1000530
*,
*, 
= (0,012641509)*(0,006481594) = 0,000081937 
= 0,8193 10
-4
 < 10
-4
 
 
b) Arredondamento 
(x + y) = 0,8124*10
4
 + 0,0054*10
4
 = 0,8178*10
4
 
EAx+y = EAx + EAy = 0,0000 + 0,6700 = 0,6700 
ERx+y = 
xEA
x
x
x y

 
+
yEA
y
y
x y

 
 
= 








41081240
0
*,
*








4
4
1081780
1081240
*,
*, + 








41000540
67000
*,
, *








4
4
1081780
1000540
*,
*, 
= (0,012407407)*(0.006603081) = 0.000081927 
= 0.8192 10
-4
 < 10
-4
 
 
 
5.2.2. Subtração 
 
Temos que 
 
( x - y ) = (x´+ EAx) - (y´+ EAy) = (x´- y´) + (EAx - EAy) 
 
Assim, 
EAx-y = EAx - EAy 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 13 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
 
O Erro Relativo é dado por: 
 
ERx-y = 
x yEA
x y

 
 = 
x yEA EA
x y

 
 = 
xEA
x
x
x y

 
 - 
yEA
y
y
x y

 
 
ou 
ERx-y = 
xER x
x y

 
 - 
yER
y
x y

 
 
 
 
5.2.3. Multiplicação 
 
Temos que 
 
(x)(y) = (x´+ EAx)(y´+ EAy) = (x´)(y´) + (x´)(EAy) + (y´)(EAx) + (EAx)(EAy) 
= (x´)(y´) + (x´)(EAy) + (y´)(EAx) 
 
pois o termo (EAx)(EAy) é muito pequeno e pode ser desprezado. 
 
Assim, o Erro Absoluto da multiplicação é dado por 
 
EA(x)(y) = (x´)(EAy) + (y´)(EAx) 
 
O Erro Relativo é dado por: 
 
ER(x)(y) = 
( x )( y )EA
( x )( y ) 
 = 
y x(x )´(EA ) + (y )´(EA )
( x )( y ) 
 = 
xEA
x
 + 
yEA
y
 
ou 
ER(x)(y) = 
xER
 + 
yER
 
 
 
5.2.4. Divisão 
 
x
y
 = 
x
y
x EA
y EA


= 
xx EA
y


1
1 y
EA
y
 
 
O termo 
1
1 y
EA
y
 pode ser substituído pela série: 
 
1
1 y
EA
y
 = 1 - 
yEA
y
 + 2
yEA
y
 
 
 
 - 3
yEA
y
 
 
 
 +  = 1 - 
yEA
y
 
 
____________________________________________________________________________________________________________________ 
 
 
__________________________________________________________________________________________________________________ 14 
4616A - Métodos Numéricos Computacionais – 2013 
Profa Márcia Zanoli 
 
Então 
x
y
 = 
xx EA
y


1
yEA
y
 
 
 
 = 
x
y


 + 
xEA
y
 - 
  2
yx EA
y


 - 
  2
x yEA EA
y
 
= 
x
y


 + 
y
EA x

 - 
  2
 yx EA
y


 
 
Portanto, 
 
x
y
EA
 = 
xEA
y
 - 
  2
yx EA
y


 
 
O Erro Relativo é dado por: 
 
x
y
ER
= x
y
x
y
EA


 = 
 
x
2
 EA
y
yx EA
y
 
 
   
y
x


 = 
xEA
x
 - 
yEA
y
 
Ou 
x
y
ER
 = 
xER
 - 
yER

Continue navegando