Não consegui enxergar nada no seu código! Vou ficar de olho nas respostas pois fiquei curioso.
Mas não seria melhor calcular a raiz cúbica de um número elevando ele a potencia de 1/3?
Abraços!
claudneto
Seria MUITO mais fácil, porém não pode usar o método Math.pow(double x, double y)
pvrsouza
Vixe! Então agora é só esperar para alguem ajudar nesse erro. Confesso que eu não estou enxergando!
Poneis123
Nesse seu segundo While, o que significa absoluto() e epsilon??? absoluto() é um método q vc criou? tem o fonte ai? epsilon seria uma variavel? com q tipo e valor?
Po dei risada desse epsilon, vc quis escrever Y ? rsrs
G
gr_marco
Poneis123:
Nesse seu segundo While, o que significa absoluto() e epsilon??? absoluto() é um método q vc criou? tem o fonte ai? epsilon seria uma variavel? com q tipo e valor?
Po dei risada desse epsilon, vc quis escrever Y ? rsrs
Eu ri com vc perguntando se era pra ser um Y, hauhauha!!!
Épsilon (Ε ε) é a quinta letra do alfabeto grego e tem um valor numérico de 5. (Ta no wikipedia)
sergiotaborda
claudneto:
Alguém consegue ver algum erro?
Epsilon não foi definido, o que significa que provavelmente será zero. O absoluto da diferença nunca irá se aproximar de zero para o caso geral (apenas em casos especiais).
Outra opção é o epsilon ter sido setado muito baixo ( mais de 15 casas decimais) ai o método demora muito e parece ter entrado em loop infinito,mas na realidade ele não está conseguindo convergir. Não use epslion menor que 10E-15
Poneis123
gr_marco:
Poneis123:
Nesse seu segundo While, o que significa absoluto() e epsilon??? absoluto() é um método q vc criou? tem o fonte ai? epsilon seria uma variavel? com q tipo e valor?
Po dei risada desse epsilon, vc quis escrever Y ? rsrs
Eu ri com vc perguntando se era pra ser um Y, hauhauha!!!
Épsilon (Ε ε) é a quinta letra do alfabeto grego e tem um valor numérico de 5. (Ta no wikipedia)
AeiuAEHuiAHEIUHAEuiaehiHAEuihae karaka q vergonha. Eu mó ignorante e rindo achando q o cara tava viajando kkkkkkkk
E
entanglement
Poneis123:
Nesse seu segundo While, o que significa absoluto() e epsilon??? absoluto() é um método q vc criou? tem o fonte ai? epsilon seria uma variavel? com q tipo e valor?
Po dei risada desse epsilon, vc quis escrever Y ? rsrs
As letras do alfabeto grego são: alfa, beta, gama, delta, épsilon, zeta… A letra épsilon é muito parecida com nossa letra E:
Ε - épsilon maiúsculo
ε - épsilon minúsculo.
A nossa letra “Y” tem o nome “ípsilon” ou “i grego”. Não confundir “ípsilon” com “épsilon”.
Em matemática, ε (épsilon) normalmente denota um valor bem pequeno. É muito usado em cálculo diferencial e cálculo numérico.
Poneis123
entanglement:
Poneis123:
Nesse seu segundo While, o que significa absoluto() e epsilon??? absoluto() é um método q vc criou? tem o fonte ai? epsilon seria uma variavel? com q tipo e valor?
Po dei risada desse epsilon, vc quis escrever Y ? rsrs
As letras do alfabeto grego são: alfa, beta, gama, delta, épsilon, zeta… A letra épsilon é muito parecida com nossa letra E:
Ε - épsilon maiúsculo
ε - épsilon minúsculo.
A nossa letra “Y” tem o nome “ípsilon” ou “i grego”. Não confundir “ípsilon” com “épsilon”.
Em matemática, ε (épsilon) normalmente denota um valor bem pequeno. É muito usado em cálculo diferencial e cálculo numérico.
Vlw num sabia =))
Ainda bem q eu não falei zuando… o q ia ter de gente me chamando de burro kkkkkk
E
entanglement
Bom, é sempre bom reconhecer que não se sabe alguma coisa.
Você não é obrigado, por exemplo, a saber os nomes das letras do alfabeto hebraico (alef, bet, gimel, dalet etc.) ou do alfabeto árabe (alif, ba, ta, gim, ha etc.)
Mas como em matemática eventualmente você acaba aprendendo os nomes de algumas letras do alfabeto grego*, é bom anotar para ficar sabendo.
Acho que se você for algum estudioso da Bíblia, por exemplo, talvez saiba os nomes da primeira e da última letras do alfabeto grego, que são respectivamente alfa e ômega.
claudneto
epsilon é um atributo double que eu já havia criado…
E absoluto calcula o módulo de um valor…
Esqueci de dizer essas coisas! Hehehe…e o epsilon é definido no construtor da classe…
Porém eu estou usando epsilon = 0.001, pois foi o usado no exemplo que eu tenho.
T
Tiago_Borghi
while ((a0 * a0 * a0) <= x) {
a0++;
}
O a0 está passando desse ponto com o valor uma unidade maior do que deveria.
Dentro do While tem que fazer a nova atribuição ao rn antes da comparação, senão ele vai assumir um valor errado e não sair mesmo do laço.
Dê uma olhada se assim funciona.
Abraço
É isso mesmo!
O an eu coloquei valendo a0 - 1...ai ele fica certo!
Valeu!
E
entanglement
Acho que você precisava de mais uma variável. Veja por que é que seu código não funcionava.
classRaizCubica{publicdoubleabsoluto(doublex){if(x<0)return-x;returnx;}privatedoubleepsilon=0.001;publicdoubleraizCubica(doublex){intb0=0;//Laço para pegar o valor de a0 while((b0*b0*b0)<x){b0++;}doublea0=b0-1;doublean=a0;doublebn=b0;doublern=((an+bn)/2.0);doublep;while(absoluto(rn*rn*rn-x)>epsilon){if((rn*rn*rn)<x){p=rn;rn=(bn+rn)/2;an=p;}else{p=rn;rn=(an+rn)/2;bn=p;}System.out.printf("an = %10.7f, bn = %10.7f, rn = %10.7f, dif = %12.7f%n",an,bn,rn,absoluto(rn*rn*rn-x));}returnrn;}publicstaticvoidmain(String[]args){RaizCubicarc=newRaizCubica();System.out.println(rc.raizCubica(32.3*32.3*32.3));System.out.println(rc.raizCubica(17*17*17));System.out.println(rc.raizCubica(0.77*0.77*0.77));}}