Raiz cúbica pelo método de bissecção
Publicado por Gabriel (última atualização em 15/05/2010)
[ Hits: 13.099 ]
Resolve numericamente a equação x³ - n = 0 utilizando o método de bissecção. O objetivo é calcular a raiz cúbica de n.
Obs.: Foi utilizada precisão dupla e como critério de parada foi utilizado o DBL_EPSILON (2.220446e-16).
Problema: para -1 <= n <= 1 não é possível calcular a raiz cúbica (com esse script)... Alguém sabe porquê?
#include <stdio.h>
#include <float.h>
#include <math.h>
double cubica(double n);
int main(){
double n = 0;
printf("Entre com um número: ");
scanf("%lf", &n);
printf("%lf\n", cubica(n));
return 0;
}
// calcular raiz cúbica de n e para isso
// encontrar x tal que x³ - n = 0
double cubica(double n) {
double x1 = 0, x2 = 0, xm = 0;
if (n > 0){
x1 = -n;
x2 = n;
} else {
x1 = n;
x2 = -n;
}
do {
xm = (double) (x2 + x1) / 2;
if (xm*xm*xm - n > 0) {
if (x1*x1*x1 - n > 0) x1 = xm;
else x2 = xm;
} else {
if (x1*x1*x1 - n < 0) x1 = xm;
else x2 = xm;
}
} while (fabs(x2 - x1) > DBL_EPSILON);
return xm;
}
Calculadora em C separada por funções e com diretivas
Jogando dados e somando os valores
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (20)
Problemas com Driver NVIDIA (0)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









