Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
% Autor: Thiago PX % % Entradas % - a e b definem o intervalo de busca [a,b]. % - MaxIt define o numero maximo de iteracoes do metodo. % - TolMax define a precisao do metodo. % % Saídas % - xns (solução) function xns = BissectionRoot(f, a, b, TolMax, MaxIt) fa = f(a); fb = f(b); if fa*fb > 0 disp('Erro: A função tem o mesmo sinal em a e b.'); else disp('iteracao a b (xns) sol. f(a) f(xns) Tolerancia'); for i = 1:MaxIt xns = (a + b)/2; toli = (b - a)/2; fa = f(a); fns = f(xns); fprintf('%5i %15.6f %11.6f %11.6f %11.6f %11.6f %11.6f\n', i, a, b, xns, fa, fns, toli); if fns == 0 fprintf('Uma solucao exata x =%11.6f foi encontrada\n', xns); break; end if toli < TolMax break; end if i == MaxIt fprintf('Solucao não obtida apos %i iteracoes.\n', MaxIt); break; end if fa*fns < 0 b = xns; else a = xns; end end end end
Compartilhar