Beruflich Dokumente
Kultur Dokumente
Campinas
6 de setembro de 2017
2
1 INTRODUO
O problema de encontrar uma aproximao da raiz de uma equao data de pelo menos
1700 a.C. (BURDEN; FAIRES, 2008).
O mtodo da bisseco uma tcnica usada para encontrar razes que repetidamente
divide um intervalo e encontra um subintervalo no qual pelo menos raiz da funo analisada
existe. um mtodo robusto, mas bastante lento, por isso geralmente usado para encontrar
uma aproximao da soluo e esta posteriormente utilizada como palpite inicial em outros
mtodos de convergncia mais rpida.
De acordo com Burden e Faires (2008), inicialmente so definidos 1 = e 1 = e
considere p1 o ponto mdio de [, ], ou seja:
1 1 1 + 1
1 = 1 + =
2 2
Se (1 ) = 0, ento = 1 e problema foi resolvido. Se (1) 0, ento (1 ) tem
o mesmo sinal de (1 ) ou de (1 ). Quando (1 ) e (1 ) tm o mesmo sinal, (1 , 1 ),
define-se 2 = 1 e 2 = 1. Quando (1 ) e (1 ) tm sinais opostos, (1 , 1 ), define-
se 2 = 1 e 2 = 1. Depois, reaplicamos o processo ao intervalo [2 , 2 ]. Isso caracteriza o
mtodo da bisseco.
O mtodo aplicvel para encontrar solues numricas em funes () = 0, quando
a funo continua num intervalo [, ] e () e () tem sinais opostos.
Figura 1 - Representao grfica do mtodo da bisseco
2 METODOLOGIA
3 RESULTADOS E DISCUSSES
( )
1 0 1 0,5 -0,170475781
2 0,5 1 0,75 0,134336535
3 0,5 0,75 0,625 -0,020393704
4 0,625 0,75 0,6875 0,056321251
5 0,625 0,6875 0,65625 0,017806728
6 0,625 0,65625 0,640625 -0,001331824
7 0,640625 0,65625 0,6484375 0,00822774
8 0,640625 0,648438 0,6445315 0,003445851
9 0,640625 0,644531 0,642578 0,001056106
10 0,640625 0,642578 0,6416015 -0,000138009
11 0,641602 0,642578 0,64209 0,000459317
12 0,641602 0,64209 0,641846 0,00016095
13 0,641602 0,641846 0,641724 0,000011
14 0,641602 0,641724 0,641663 -0,000063
15 0,641663 0,641724 0,6416935 0,000026
16 0,641693 0,641724 0,6417085 -0,000007
17 0,641708 0,641724 0,641716 0,000002
18 0,641708 0,641716 0,641712 -0,000003
19 0,641712 0,641716 0,641714 -0,0000001
20 0,641714 0,641716 0,641715 0,000001
() = cos
y = ()
()
(2 ) = 1
1 2
(1 )
(1 )
= 1
O programa se comportou como esperado nos casos testados, como por exemplo o item
b) do exerccio 6 da seo 2.1 do livro, utilizando o mtodo da bisseco para determinar a
soluo com preciso de 105 da funo + 3 cos = 0 para 0 1. A figura 3
ilustra o output do programa.
4 CONCLUSO
5 REFERNCIAS
BURDEN, Richard L.; FAIRES, J. Douglas. Anlise Numrica. 8. ed. So Paulo: Cengage
Learning, 2008. 721 p
9
APNDICE A Cdigo
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
int main()
{
float P,P0,a,b,fp,fa,fb,T,T1;
int N;
char R;
R = 'Y';
system("cls");
N=0;
P=0;
P0=0;
fp=1; // inicializao das variveis
fa=1;
fb=1;
T=1;
//input
while(fa*fb>0){
printf("Digite o primeiro valor do intervalo (a): ");
scanf("%f",&a);
printf("Digite o segundo valor do intervalo (b): ");
10
scanf("%f",&b);
//Main Solving
printf("Calculando a raiz da funcao continua no intervalo [%.3f,%.3f]\ncom
tolerancia de %.12f\n", a,b,T1);
getch();
while(N<300 && T>T1){
P = a + ((b-a)/2);
if(fa*fp>0){
a=P;
}
else{
b=P;
11
}
if(P==0){ //Condicional que evita diviso por zero no calculo do erro
T = 1;
}
else{
T = fabsf(P-P0)/fabsf(P);
}
P0=P;
}
//Ouput
if (N==300){
printf("\nO metodo falhou apos 300 iteraes\n");
printf("Escolher novo intervalo? (Y para sim): ");
scanf("%s", &R);
getch();
}
else{
}
}