Raiz cúbica pelo método de bissecção
Publicado por Gabriel (última atualização em 15/05/2010)
[ Hits: 12.908 ]
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; }
Loop de Várias Váriáveis Em Um Único Laço "For" em C
Jogando dados e somando os valores
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Adapador Wi-Fi para de funcionar depois de alguns minutos no Ubuntu (1)
Compartilhando uma ideia sobre computação quantica (9)
Preciso atribuir um terceiro IP em uma placa de rede eth0. (7)