domingo, 3 de março de 2024

Método da Bisseção no Scilab®

  Olá! É um grande prestígio a sua visita.

Para tirar o máximo de proveito do nosso conteúdo, tenha papel e caneta em mãos. Faça anotações dos principais pontos e, depois, formule pequenos parágrafos sobre o que tiver anotado. Em seguida, revise o texto, dessa vez, formulando perguntas para que você mesmo responda ao final. Por último, ensine o que aprendeu a alguém. Isso tornará seu processo de aprendizagem mais efetivo.

Desejo a você uma excelente aprendizagem!

Nesta publicação, mostrarei a você a essência do método da bisseção, fornecendo um pequeno script do Scilab para que você possa experimentar aplicar o método a diferentes equações.

Métodos Numéricos para Determinar Raízes de Equações

Os métodos numéricos para determinar raízes de equações não lineares se dividem em métodos intervalares e métodos abertos. Os métodos abertos são aplicados a partir de um ponto sem a necessidade de esse ponto pertencer a um intervalo específico. Por seu turno, os métodos intervalares são altamente dependentes de um intervalo, podendo inclusive não convergir para uma raiz se o intervalo for mal definido.

Ambas as categorias apresentam vantagens e dificuldades, sendo a escolha por um ou outro método feita de acordo com as características do problema.

O método da bisseção é um método intervalar. Sua principal vantagem é a garantia de convergência quando há uma raiz no intervalo definido. Por outro lado, sua convergência pode ser mais lenta do que a de outros métodos, a depender de alguns fatores, como o intervalo escolhido.

A implementação do método da bisseção é bastante simples, uma vez que se compreenda seu algoritmo. A ideia por trás do método é também simples, consistindo em dividir um intervalo ao meio, testar o lado que possui a raiz e dividir esse novo intervalo novamente, repetindo o processo até que um critério de parada seja atingido.

Pseudocódigo do Método da Bisseção

O algoritmo requer a definição de um intervalo e da função da qual se deseja calcular as raízes, além do tamanho limite do intervalo como critério de parada. No pseudocódigo abaixo, f(x) representa a função, a e b são os extremos do intervalo, e eps é o tamanho limite do intervalo.

Receba f(x), a, b, eps;

Faça r = (a+b)/2;

Enquanto |a-b| > eps Faça

Se f(a) x f(r) < 0

Então b = r;

Se não a = r;

Fim Se

r = (a+b)/2; 

Fim Enquanto

Mostre r;

Script no Scilab

Vejamos um script do Scilab para determinar uma raiz de um polinômio:

function [y] = f(x)

y =  x^2 - 3*x + 2 = 0;

endfunction

a = 0;

b = 3;

eps = 0.001;

while abs(a - b) > eps

r = (a+b)/2;

if f(a)*f(r) < 0

b = r;

else

a = r;

end

end

disp(r); 

 No script acima, o método devolverá a raiz obtida na última iteração que não atendeu ao critério de parada. No entanto, sabemos que há duas raízes no intervalo passado. Então, responda às questões:

  1. Sabendo que a função f(x) deve ser contínua, o que significa testar o sinal do produto f(a)*f(r)?
  2. Qual raiz foi determinada pelo método nas condições dadas no script?
  3. Por que o método não determinou as duas raízes?
  4. O que poderia ser feito para que o método encontrasse a outra raiz?
Deixe suas respostas nos comentários.

Caso queira aprender também o método usando uma planilha (Excel, Google ou Calc), clique aqui

Siga-me no Instagram e visite o meu canal no YouTube.

Conheça o idealizador do Letionare.

* Publicação 100% humana (pode ter erros de digitação : ),.

Nenhum comentário:

Postar um comentário

A moderação é para garantir sua segurança.
Farei isso o mais breve possível. Muito obrigado por comentar.

Qual é a sua estratégia para aprender?

 Olá! É sempre um prestígio a sua visita. Esta publicação tem como objetivo conhecer melhor a estratégia para aprender dos internautas, como...