1. 1
2010
Introdução ao Cálculo numérico
FATEC-JAHU
Fatec-Jahu/CEETEPS
20/07/2010
2. 2
Introdução ao Cálculo numérico
FATEC-JAHU, Fatec-Jahu/CEETEPS
Resumo
Matemática numérica visa a resolver problemas com auxílio de computadores, que seguem etapas bem detalhadas. A elaboração do código do programa segue
uma lógica que é descrita nos algoritmos. A escolha de um bom algoritmo deve seguir alguns critérios.
Conteúdo
Resumo ...................................................................................................................................................................................... 2
Capítulo 1 Introdução .................................................................................................................................................................. 3
1.1 Introdução......................................................................................................................................................................... 3
1.2 Algoritmos......................................................................................................................................................................... 3
1.3 Passos para a resolução de problemas ............................................................................................................................... 5
Índice Remissivo .......................................................................................................................................................................... 7
3. 3
Capítulo 1 Introdução
1.1Introdução
A resolução de problemas pode ser feitos de forma analítica, simulações matemáticas ou por meio de cálculos numéricos. Com a
popularização de computadores, hoje é possível ministrar esta disciplina com alunos portando notebooks em sala de aula
efetuando os códigos de programação, testando as soluções. Cabe destacar que enquanto a matemática trata alguns algarismos
com infinitos dígitos, na matemática computacional a restrição se dá pelo tamanho da palavra da memória e que isto deve ser
levado em conta. A matemática computacional pode ser dividida nas seguintes áreas:
Matemática Computacional
Matemática intervalar Matemática gráfica Matemática simbólica Matemática Numérica
A matemática numérica trata do desenvolvimento de métodos operacionais construtivos para a resolução aproximada de
problemas que podem ser representados por um modelo matemático. A matemática simbólica trata com modelos de forma
literal e procura soluções analíticas. A matemática gráfica trabalha com dados de forma gráfica e busca representar a solução
dos seus problemas também na forma gráfica. A matemática intervalar trata de dados na forma de intervalos numéricos
buscando controlar os limites de erros dos processos da matemática numérica.
Neste curso iremos nos restringir a matemática numérica, estudando os processos numéricos chamados de algoritmos para a
solução de problemas, visando a máxima eficiência computacional e confiabilidade dos fatores envolvidos: tempo de execução,
memória empregada e erros de arredondamento.
1.2Algoritmos
A solução de problemas envolve etapas, ou seja, toda uma seqüência de operações estabelecidas de modo formal. Os algoritmos
podem ser representados de forma de textos
Início
Imprimir na tela (Bom dia)
Fim
ou na forma gráfica
Início
Bom dia
Fim
4. 4
Os algoritmos são úteis na programação pois ajudam a enxergar possíveis erros de programação ou quando pretendemos
otimizar a eficiência do código.
Um bom algoritmo deve atender aos seguintes requisitos:
1. Inexistência de erro lógico. O algoritmo deve identificar todas as etapas do modelo.
Exemplo 1. Elabore um algoritmo que determine a solução x da equação ax=b.
Solução: A princípio escreveríamos o seguinte algoritmo:
Início
A,b
X=b/a
fim
Assim para a=2 e b=4, a solução encontrada é x=2. Porém para b=2 e a=0, o resultado seria erro. Uma versão melhorada seria
Início
Se a=0 Contradição
Falso Fim
A,b
X=b/a x
2. Inexistência de erro operacional
Algumas vezes o algoritmo viola restrições físicas da máquina gerando erros em tempo de execução.
Exemplo 2. Considere que elaboremos um algoritmo que atenda aos seguintes requisitos:
a) Qualquer x que pertença ao conjunto Z, -x também pertence;
b) T1 é o valor inferior dado por t1=0,1.x;
c) T2 é o valor superior dado por t2=1,1.x.
5. 5
Se tivermos valores x tal que x < t1 (underflow) ou x>t2(overflow), então temos um erro lógico. Se escolhermos x=0 teremos as
duas situações.
3. Quantidade finita de cálculos
Alguns algoritmos fazem com que a solução procurada fique oscilando em torno de um ponto, sem nunca atingi-lo. Uma solução
é alterar o algoritmo outra é limitar o número de iterações por meio da escolha de uma função erro.
4. Existência de critério de exatidão
Em vista das restrições da máquina e de sua exatidão e do método, todo resultado deve ser enquadrado em um critério de
exatidão fornecido de antemão de modo a possibilitar que um resultado seja escrito na forma
x val. aprox. limerro
5. Independência de máquina
Os dados não devem ser dependentes das máquinas, ou seja, devem ser evitadas as cotas de iterações, pois elas são
dependentes das máquinas.
6. Com precisão infinita, os limites de erro devem convergir a zero
Esta exigência estabelece a dependência da solução da máquina e a solução ideal.
7. Eficiência
Quando buscamos uma solução para um problema, visamos obter economia do esforço computacional da máquina. Assim são
previstas algumas condições que o algoritmo deve atender (solução obtida em 2 horas, exatidão de 5 casas decimais,
convergência dos valores, etc.).
Exemplo 3. Aprendemos a fazer contas de subtração sempre subtraindo os valores
10, 00 _
8, 25
1, 75
Porém como é observada no comércio, a conta do restaurante deu 8,25 e o dinheiro entregue ao caixa é 10, o operador pega
uma moeda de 50 centavos e outra de 25 centavos e diz: 9 reais, pega uma moeda de 1,00 e diz dez reais, ou seja, ele inteira os
valores para atingir 10 reais.
1.3Passos para a resolução de problemas
Em geral a resolução do problema passa pelas seguintes etapas, como mostrado na Figura 1. O problema é que se deseja
estudar, por exemplo, analisar o comportamento hidrodinâmico de uma embarcação. A modelagem consiste em associar um
modelo matemático. No nosso caso podem ser equações de Euler ou no caso mais aprofundado equação de Navier-Stokes. No
primeiro caso podemos ter uma equação do tipo
d 2x
m F (v) Fe 0,
dt 2
6. 6
Contribuições de
Escolha dos
problema outros ensaios ou
parâmetros
ciências
Modelagem Truncamento das
medição
matemática iterações
Escolha dos Resultado
simplificação
métodos numérico
Figura 1. Passos para a resolução de problemas.
enquanto que a no segundo caso podemos ter
X m u vr wq
Y m v wp ur
Z m w uq vp
K I x p ( I z I y )qr (r pq ) I x z (r 2 q 2 ) I y z
M I y q ( I x I z ) pr ( p 2 r 2 ) I z x (qp r ) I y z
N I z r I y I x pq q rp I yz rq p I zx
Resolver esta equação pode ser uma tarefa muito complexa. Em geral são feitas algumas considerações que tornem a equação
mais amigável. Em algumas situações alguns parâmetros podem vir de outras considerações ou de outros ensaios.
Uma vez tendo os coeficientes é hora de escolher o método que devem levar em consideração tudo o que já foi tratado até aqui
(ver eficiência do algoritmo). Em seguida devemos escolher alguns parâmetros do programa, por exemplo, passo ou intervalo de
pontos ou quantidade de pontos, etc. Finalmente como o processo em geral é iterativo, devemos adotar um critério de parada.
Em alguns casos precisamos verificar o grau de sensibilidade das variáveis. Cada uma destas etapas ocasiona um erro que no
final do processo se acumula.