Algoritmo da Bisseção
Publicado por Rafael Henrique da Silva Correia 02/05/2008
[ Hits: 18.228 ]
Homepage: http://abraseucodigo.com.br
Quer encontrar 0 em funções reais? Aí vai o primeiro algoritmo, lembrando que o algoritmo da bisseção de acordo com os matemáticos é o menos eficaz para se achar 0 de funções devido ao número de iterações que ele executa.
OBS: este código ainda não pega sua função, você tem que inserí-la manualmente no código. Neste código exemplo calculo a função F(x) = x^3 - 9*x + 3.
#include <stdio.h>
#include <stdlib.h>
int main(){
float a = 0., b = 0., E = 0., M = 0., Fa = 0., Fb = 0., Fm = 0.;
int k = 0;
printf( "Digite valor de A:" );
scanf( "%f", &a );
printf( "Digite valor de B:" );
scanf( "%f", &b );
printf( "Digite valor de E:" );
scanf( "%f", &E );
printf("\n");
do{
M = ( a + b ) / 2.;
Fa = ( a*a*a ) - (9. * a) + 3.; //insira a sua função aqui para calcular F(a)
Fm = ( M*M*M ) - (9. * M) + 3.; //insira a sua função aqui para calcular F(M)
Fb = ( b*b*b ) - (9. * b) + 3.; //insira a sua função aqui para calcular F(b)
if ( Fa * Fm < 0 )
b = M;
else
a = M;
k += 1;
printf( "iteracao = %d\n", k );
printf( "A = %f\nB = %f\n", a, b );
} while( b - a >= E || Fa >= E || Fb >= E);
//se for verdade ele continua o laço
printf("\nb - a = %f\n", b - a);
printf( "A solucao final eh: %f\n", ( a + b ) / 2. );
return 0;
}
Um parser para tratar opções passadas para um programa em C
Lista simplesmente encadeada com busca auto-organizada
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
KDE Plasma 6.5: Como manter o Projetor fixo enquanto você alterna Áreas de Trabalho no PC
Aplicações mudam entre monitores após tela de bloquio (4)
Ajudante para criar dicas e artigos no VOL (28)









