Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
//MÉTODO DA BISSECÇÃO PARA CALCULO DA RAIZ //Exemplo para encontrar a raiz no intervalo [0.1, 1] da função -25x^4-10x^3+50x²+x-1 //Define um intervalo e calcula a raiz pela precisão estabelecida //Plot do grafico no intervalo estabelecido -- verificando se converge/não converge. // function [y] = funcao(x) y = (-25*x^4)-(10*x^3)+(50*x^2)+x-1 //função para calculo da raiz. endfunction; function [y] = mod_numero(x) //pode se usar a função abs() p = x; if x < 0; p = x*(-1); end; y = p; endfunction; function [] = grafico(ini, fim) intervalo = fim-ini; intervalo = intervalo / 50; while(ini < fim); x = ini; y = funcao(x); ini= ini + intervalo; plot(x, y, '.k'); end; endfunction; a = 0.1; //intervalo inicial b = 1; //intervalo final ini = a; fim = b; interm = (a+b)/2; grafico(a, b); //calcula a raiz de f(x) no intervalo [a,b] com precisão eps1 x0=a; x1=b; xm=(x0+x1)./2; eps1 = 10^(-7); //Precisão it=0; if funcao(x0)*funcao(x1)>=0 printf("O valor de f(a) e f(b) devem ter sinal diferente"); abort; end; while abs(funcao(xm))>eps1&it<=500 // estipulando convegencia if funcao(x0)*funcao(xm) > 0 then x0=xm; else x1=xm; end; xm=(x0+x1)/2; it=it+1; end; raiz=xm; iter=it; if it>=499 then // limite do intervalo de convergencia printf("Não converge nesse intervalo!"); abort; else; disp("******METODO DA BISSECÇÃO PARA CALCULO DA RAIZ*******") printf("Raiz pelo Método do Bissecção é %10.15f com n° %f iterações", raiz, iter); end; disp(" ") disp("componentes: willian Lucas de Jesus Correa // Felipe Schiara Mariano // Tiago Valentim Lopes de Melo // Nicolas de Souza Estevão // Jefferson Alexandre Pereira.")
Compartilhar