Raiz cúbica pelo método de bissecção
Publicado por Gabriel (última atualização em 15/05/2010)
[ Hits: 13.078 ]
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
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (1)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)