Calculo Exponencial...  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
rodrigo silva
Smalltalk

Membro desde: 17/10/2006 12:59:45
Mensagens: 2
Offline

[b]gostaria de saber, com faço para calcular o exponencial sem o uso do API java?
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

sem o Math, acho que não existe.

Ricardo Soares
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2891
Localização: sao bernardo do campo
Offline

Realizando multiplicações consecutivas?

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3201
Localização: Rio de Janeiro
Offline

Substitui a expressão por uma série de Taylor e calcula o numero de termos necessários.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17572
Offline

O que você chama de "exponencial"?
1) Efetuar uma exponenciação (x elevado a y)
2) Efetuar uma exponenciação, mas a potência é inteira (exemplo: x elevado a 13)
3) Elevar o número "e" (2,71828182845904523536028747135...) a uma determinada potência (e elevado a x)

No terceiro caso, como o peczenyj disse, basta achar uma aproximação usando uma série - como a série de Taylor mencionada. (Ela converge relativamente rápido, mas acho que há séries que convergem mais rápido ainda).
No primeiro caso, você precisa de saber a fórmula para o caso 3, e também achar a fórmula para calcular logaritmos usando aproximações, já que x elevado a y = exp (y * ln (x)).
No segundo caso, basta saber efetuar multiplicações sucessivas. Você pode fazer isso pelo método braçal (exemplo: para calcular 1.00001 elevado a 1000 você multiplicaria o número por ele mesmo 1000 vezes) ou usando um método um pouco mais esperto, que economiza multiplicações (sabendo que 1000 = 1111101000 em binário, dá para ter uma pista do que deve ser feito).

[WWW]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3201
Localização: Rio de Janeiro
Offline

Basta procurar um algoritmo em algum livro de calculo numérico. O mais famoso é o Numerical Recipes que tem codigos em Fortran e C (respectivamente).

Ou veja o codigo do projeto jakarta, por exemplo:

http://jakarta.apache.org/commons/math/

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
Alexandre Henrique
Entusiasta Java
[Avatar]

Membro desde: 20/03/2008 07:14:27
Mensagens: 18
Localização: Florianópolis
Offline

Gostaria de saber como utilizar o Math.pow.

Alguem poderia me dar um exemplo pratico?
[Email] [MSN]
thegoergen
Virtual Machine Man
[Avatar]

Membro desde: 24/09/2007 09:44:03
Mensagens: 589
Localização: Estrela/RS
Offline

POW?


"A preguiça de pensar é a maior burrice de uma pessoa." (Diego Inácio Goergen)

CV: Diego Inácio Goergen

Administrador da UNISCWiki e Medicina UNISC
[WWW] [MSN] [ICQ]
Alexandre Henrique
Entusiasta Java
[Avatar]

Membro desde: 20/03/2008 07:14:27
Mensagens: 18
Localização: Florianópolis
Offline

é mais simples do que eu imaginava.

grato companheiro!
[Email] [MSN]
thegoergen
Virtual Machine Man
[Avatar]

Membro desde: 24/09/2007 09:44:03
Mensagens: 589
Localização: Estrela/RS
Offline

Alexandre Henrique wrote:é mais simples do que eu imaginava.

grato companheiro!


Todos os métodos da classe Math são simples. Simples de usar, claro, nem imagino como eles fazem internamente... hehehe

Qualquer dúvida, estamos aqui para ajudar

"A preguiça de pensar é a maior burrice de uma pessoa." (Diego Inácio Goergen)

CV: Diego Inácio Goergen

Administrador da UNISCWiki e Medicina UNISC
[WWW] [MSN] [ICQ]
Fjal
What is classpath?

Membro desde: 24/03/2008 12:51:12
Mensagens: 5
Offline

thegoergen wrote:
Alexandre Henrique wrote:é mais simples do que eu imaginava.

grato companheiro!


Todos os métodos da classe Math são simples. Simples de usar, claro, nem imagino como eles fazem internamente... hehehe

Qualquer dúvida, estamos aqui para ajudar



Math.pow só aceita variáveis do tipo double ou pode usar do tipo int ou float? pergunto porque tentei com int, float e deu erro...

This message was edited 4 times. Last update was at 26/03/2008 13:11:16

Fjal
What is classpath?

Membro desde: 24/03/2008 12:51:12
Mensagens: 5
Offline

Resolvido... como a classe Math só retorna double.. só fazer um casting que fica tudo certo...





This message was edited 2 times. Last update was at 26/03/2008 13:10:48

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team