Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% Metodo da Bissecao %%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% Dados de entrada %%%%%%%%%%%%%%%%%%%% %%% a - intervalo %%%%%%%%%%%%%%%%%%%%%%% %%% b - intervalo %%%%%%%%%%%%%%%%%%%%%%% %%% f - funcao a qual se quer encontrar a raiz %%%%%%%%% %%% e - precisao dejesada para raiz %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% dados de saada %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% x - raiz desejada %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [x] = bissecao() clc; format long; syms x; %%% variavel simbolica f = input('Digite a funcao desejada: (em funcao de x) '); a = input('Digite o valor de a '); b = input('Digite o valor de b '); e = input('Digite a precisao desejada '); k=0; %% iteracoes fa=subs(f,a); %% f(a) fb=subs(f,b); %% f(b) y = (a+b)/2; disp('k x f(x) erro') while((b - a) > e) %% enquanto o erro for maior que o valor estabelecido x = (a+b)/2; %% calcula a media do intervalo dado fx = subs(f,x); %%calcula o valor da funcao para o x calculado if (fa*fx < 0) %% se f(a)*f(x)<0 b = x; %% b = x fb = fx; %% f(b) = f(x) else %% senao a = x; %% a = x fa = fx; %% f(a) = f(x) end k=k+1; %s = [k x subs(f,x) (b-a)] y = [y x] %% vetor que guarda todas as ra?zes calculadas end disp('O numero de iteracoes e: ') k disp('A raiz e: ') x disp('O erro e') b - a plot(subs(y),'o'); grid on; hold on; % plota as raizes calculadas title('Raizes')
Compartilhar