Notas de Aula
Mtodos Numricos
Programao Numrica
Clculo Numrico
2013
- UNIDADE 1-3 -
(1)
Unidade 1-3
Mtodos numricos para obteno de razes reais; (2 aulas 6 horas)
Determinando intervalos que contm razes;
Critrios de parada;
Mtodos:
- Bisseco;
- Falsa-posio;
- Newton-Raphson;
- Secante.
Comparativo entre os mtodos.
Algoritmos com linguagem de programao: Estruturas de repetio;
PARA FAA;
REPITA ENQUANTO;
REPITA AT.
Aplicao Numrica com construo de algoritmos/programas.
Algoritmo/programa:
Clculo de raiz para funo polinomial/transcendente com mtodos
numricos.
- UNIDADE 1-3 -
(2)
(3)
Mtodo da bisseco
Seja f(x) uma funo contnua no intervalo [a,b] de forma que f(a)*f(b) < 0 e que, no
intervalo dado, exista apenas uma raiz x' da equao f(x) = 0. No mtodo da bisseco a raiz
aproximada de x' calculada fazendo a mdia aritmtica de a e b, ou seja,
xi = (a+b)/2
Como condio inicial, o mtodo da bisseco toma a mdia aritmtica ponderada do
intervalo [a,b]. O mtodo pode ser resumido em poucos passos:
1 Escolha um intervalo [a,b] de forma que f(a)*f(b) < 0;
2 Calcule xi=(a+b)/2 e f(xi);
3 Se (f(a)*f(xi) < 0) ento faa b=xi seno faa a=xi;
4 Se (|f(xi)| < e) PARE (x'=xi) seno volte ao passo 2.
onde e a preciso.
Vejamos um exemplo:
Para
- UNIDADE 1-3 -
Grfico de f(x)=exp(X)-2
f(x)=ex-2
a
0,0000
0,5000
0,5000
0,6250
0,6875
0,6875
0,6875
0,6875
0,6914
0,6914
0,6924
- UNIDADE 1-3 -
(4)
- UNIDADE 1-3 -
(5)
- UNIDADE 1-3 -
(6)
(7)
Segundo [Toldo], graficamente, esta mdia o ponto x, que a interseco da reta que une
os pontos (a,f(a)) e (b,f(b)) com o eixo dos x. Aps a diviso do intervalo, escolhe-se o novo
subintervalo de acordo com a variao do sinal da curva f. O mtodo da falsa posio aplicado na fi
gura abaixo nos mostra que f(a)*f(x0) < 0, logo o novo intervalo que contm a raiz dado por [a,x0].
Seguindo esse mesmo raciocnio, deve-se continuar o processo para determinar o novo intervalo
que contm a raiz.
(8)
(9)
Exerccios
1. Altere os programas-exemplo e calcule as razes para as seguintes funes:
a) f x =cos x ln x , construa um grfico para obter um intervalo inicial.
b) f x=e x x procure no intervalo [-1,0].
c) f x=tg x 2x , construa um grfico para obter um intervalo inicial.
d) f x= x 32x2 x1 , construa um grfico para obter um intervalo inicial.
2. Pesquise sobre os mtodos de Newton-Raphson e da Secante para construir um programa
para cada mtodo.
Referncias
1 -Toldo, Jos Humberto Dias
Mtodos numricos : livro didtico / Jos Humberto Dias Toldo ; design instrucional Karla Leonora Dahse
Nunes. Palhoa : UnisulVirtual, 2009.
(10)
Esta estrutura repete um conjunto de comandos at que uma condio seja verdadeira. Como
exemplo em OCTAVE, vamos ler n nmeros, acumular seus valores na varivel soma e o
produto na varivel prod.
PROGRAMA PARA ESTRUTURA PARA FAA
%program Estru_rep
#24/04/2009;sexta-feira;15:49
#Autor: Adalberto Gassenferth Jr.
#Objetivo: Demonstrar funcionamento de estruturas de repetio
clear;
#Programa principal
%begin
clc;
printf("Quantos numeros serao lidos");
n=input("?");
clc;
soma=0;
prod=1;
for i=1:n
printf("Qual o numero %g",i);
nu=input("? ");
soma=soma+nu;
prod=prod*nu;
endfor;
clc;
printf("Soma= %g\n",soma);
printf("Produto= %g\n",prod);
%end
Faa enquanto
enquanto condio de continuidade fazer
Conjunto de aes ou atos
fim enquanto
Esta estrutura repete um conjunto de comandos enquanto uma condio for verdadeira. O programa
a seguir ilustra o uso da estrutura com o mesmo exemplo da estrutura anterior.
PROGRAMA PARA ESTRUTURA REPITA ENQUANTO
%program Estru_rep-enqu
#24/04/2009;sexta-feira;15:49
#Autor: Adalberto Gassenferth Jr.
- UNIDADE 1-3 -
(11)
Repetia at
fazerConjunto de aes ou atos
at que condio de encerramento
Esta estrutura repete um conjunto de comandos at que uma condio seja verdadeira. O programa a
seguir demonstra o uso da estrutura com um exemplo similar ao da estrutura anterior.
PROGRAMA PARA ESTRUTURA REPITA AT
%program Estru_rep-ate
#24/04/2009;sexta-feira;15:49
#Autor: Adalberto Gassenferth Jr.
#Objetivo: Demonstrar funcionamento de estruturas de repetio - enquanto
clear;
#Programa principal
%begin
clc;
printf("Quantos numeros serao lidos");
n=input("?");
clc;
soma=0;
- UNIDADE 1-3 -
(12)
prod=1;
contador=0;
do
printf("Qual o numero %g",i);
nu=input("? ");
soma=soma+nu;
prod=prod*nu;
contador=contador+1;
until (contador<n);
clc;
printf("Soma= %g\n",soma);
printf("Produto= %g\n",prod);
%end
Atividades:
1 - Construir um programa que:
leia os coeficientes de um polinmio de grau 2,
ax 2 bx c =0
real1 = -b/(2*a)
imag1 = -((- delta)^0.5)/(2*a)
real2 = -b/(2*a)
imag2 = ((- delta)^0.5)/(2*a)
- UNIDADE 1-3 -
(13)