O Método da Bissecção
Por: Gabriel Barberiz • 3/5/2021 • Projeto de pesquisa • 298 Palavras (2 Páginas) • 110 Visualizações
function metodoDaBissec()
f = @(x) (2+x/8)^4 - 3*(1-x/17)^2; %funcao
tol = 1e-6; %tolerancia
a = -10; b = 10; %limites
solucao = bissec(f, a, b, tol);
if solucao <= b
printf('A solução é: %f\n', solucao);
else
printf('Solução impossivel\n');
end
end
function res = bissec(f, a, b, tol)
if f(a)*f(b) > 0 %verifica se possui sinais opostos nos limites
printf('Erro! Função não tem sinais opostos nesse intervalo\n');
exit(1)
end
media = (a + b)/2.0; %pega o valor medio
funcaoMedia = f(media); %joga ele na função
while abs(funcaoMedia) > tol %parar quando atigir a tolerancia
if f(a)*funcaoMedia > 0 %se elas tem o mesmo sinal
a = media; %limite esquerdo agora é a media
else % se elas possuem sinais opostos
b = media; %limite direito agora é a media
end
media = (a + b)/2; %novo calculo de media (novos limites)
funcaoMedia = f(media); %novo calculo da funçao
end
res = media; %resultado = media
end
metodoDaBissec()
...