Raiz cúbica pelo método de bissecção
Publicado por Gabriel (última atualização em 15/05/2010)
[ Hits: 12.945 ]
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; }
Método eficiente de armazenamento utilizando containers (Vector e Map)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Copiar Layout do Teclado para aplicar em outra Distribuição (6)
Alguém poderia me ajudar a escolher peças pra montar um desktop? [RESO... (34)