Raiz cúbica pelo método de bissecção
Publicado por Gabriel (última atualização em 15/05/2010)
[ Hits: 13.260 ]
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;
}
Um parser para tratar opções passadas para um programa em C
Loop de Várias Váriáveis Em Um Único Laço "For" em C
Instalação e Configuração do Void com Cinnamon
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)
Aparecer o Chuck Norris no seu terminal
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (2)
Alguns aplificativos em Flatpak não rodam no Debian [RESOLVIDO] (4)
CachyOS vs Arch [RESOLVIDO] (11)
Um filme, uma banda, um jogo, um livro, um anime (ou mangá) (13)









