Algoritmo da Bisseção
Publicado por Rafael Henrique da Silva Correia 02/05/2008
[ Hits: 18.022 ]
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; }
Métodos de Ordenação - Radix Sort
Retorna o tempo ocioso em uma sessão do X
Calculadora em C separada por funções e com diretivas
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (5)
E aí? O Warsaw já está funcionando no Debian 13? (2)
Dúvidas sobre a originalidade de conteúdos online (12)