Raiz cúbica pelo método de bissecção
Publicado por Gabriel (última atualização em 15/05/2010)
[ Hits: 13.012 ]
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; }
Algoritmo estatístico para cálculo de PI em C
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
O que você está ouvindo agora? [2] (188)
warsaw parou de funcionar após atualização do sistema (solução) (10)