Arco Tangente em J2ME

Olá pessoal!

Tô com um probleminha que faz tempo não consigo resolver. Estou fazendo um programa onde preciso calcular o arco tangente de um número, mas pelo que eu andei pesquisando J2ME não tem arco tangente, só tem tangente, seno e cosseno.

Então optei por colocar a série do arco tangente ( que é convergente apenas no intervalo [-1,1]) mas a série é infinita e eu preciso de pelo menos 1000 termos para ter uma precisão razoável.

A série do arco tagente é

arctg(x) = x - (x^3)/3 + (x^5)/5 - (x^7)/7 …

O problema é que apesar de eu estar usando CLDC 1.1(com ponto flutuante) eu não consigo colocar um número elevado ao outro, entao não estou conseguindo colocar a série no meu programa.

Alguem sabe se tem um jeitinho de eu colocar o arco tangente direto ou como colocar um número elevado a outro ou como eu resover meu problema e colocar a série no meu programa???

Meu código tá assim:

if (c == cCalcular) {
float valor1 = Float.parseFloat(coorX1.getString());
float valor2 = Float.parseFloat(coorY1.getString());
float valor3 = Float.parseFloat(coorX2.getString());
float valor4 = Float.parseFloat(coorY2.getString());
String resultado = "Azimute: ";

float east = (valor3 - valor1);
float north = (valor4 - valor2);
double tan = Math.abs(east / north);
double tan3 = tan*tan*tan;
double rumo = (tan - ((tan3) / 3) + ((tan3* tan * tan) / 5)-((tan3* tan3 * tan) / 7)+((tan3* tan3 * tan3) / 9)-((tan3* tan3 * tan3 * tan * tan) / 11));

Tá horrível fazer isso. :sad:

[color=“violet”] Valeu pessoal!

Abraço!![/color]

Acho que você pode usar a MathFP pra isso.
http://mywebpages.comcast.net/ohommes/MathFP/

Valeu Maluquo!

Procurei a respeitoe entrei no link que voce me mandou. Ainda não consegui configurar a API mas estou caminhando.

Abraço!!

[quote]How to use MathFP class under NetBeans IDE
From J2me wiki

Here is how to get MathFP into your NetBeans project.

    * Download MathFP for J2ME CLDC
    * Extract MathFP.class from the downloaded file
    * Create a directory "net/jscience/util" (CASE IS IMPORTANT)
    * Zip that directory as MathFP.zip
    * Create a lib folder on the "Project Directory"
    * Copy your MathFP.zip into that lib folder
    [b]* In NetBeans, open "Project Properties" / "Libraries and Resources" and ADD JAR/ZIP[/b]

You may now use the “import net.jscience.util.MathFP” statement and the MathFP routines. [/quote]
Segue esses passos, no último tu troca pela IDE que tu tiver usando, se tiver usando eclipse é só chamar o jar no buoldpath normalmente…
Se quiser/precisar mudar o arquivo zip pra jar pro eclipse conseguir rodar então pelo DOS tu faz: ren MathFP.zip MathFP.jar

Consegui!!!

A última etapa estava me atrapalhando e eu não estava sabendo o que fazer.

Agora so falta o programa rodar, hehehe!!

[color=“violet”]Valeu denovo!![/color] :grin:

Bem, consegui colocar a MathFP e tal, ta tudo bonitinho, so que dá um erro dizendo que a função MathFP.atan(x) não é válida para double, que é o que eu estou usando.

Tem algum exemplo de uma aplicação com MathFP pra eu poder ver como funciona?? Algun link??

[color=“violet”] []'s [/color]

Veja na API como utulizar ela:
http://mywebpages.comcast.net/ohommes/java/docs/net/jscience/math/MathFP.html

static long atan(long r) Returns the arc tangent of the radian fixed-point integer. static long atan2(long y, long x) Returns the pricipal value of the arc tangent of y/x
Você só pode enviar long (um ou dois) e retornar um long