IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

Calcul arctangente


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Par défaut Calcul arctangente
    Bonjour,

    Je suis actuellement sur le point de terminer une application en jme (midp 2.0 et cldc 1.1).

    Il me manque une fonction mathématique : arctan.

    J'ai beau chercher sur le net, je ne trouve pas d'algorithme efficace.

    Quelqu'un aurait-il la fonction arctan ou un algorithme efficace à implémenter ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    ben il y a la méthode statique atan de la classe Math et StrictMath dans le paquage java.lang...
    Ce paquage n'est pas présent dans j2me ?


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Par défaut
    Ca aurait été trop facile

    Dans la classe Math du jme, il y a en gros : ceil, floor, abs, min, max, sin, cos, tan, sqrt, toDegrees, toRadians.


    Ne cherchez pas non plus la méthode pow... enfin celle là au moins elle est facile à faire

  4. #4
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    Dans la classe Math, il y a une méthode atan...
    http://java.sun.com/j2se/1.5.0/docs/api/

    Sinon un truc facile pour de telles fonctions est de les approximer par des séries de Taylor...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Par défaut
    Voilà, j'ai obtenu l'algorithme sur un forum de math.

    Si ca peux aider quelqu'un, je l'ai implémenté en java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        /**
         * @return l'arctangente de l'angle 
         * exprimé en radians.
         */
        public static double atan (double x) {
            double a, b;
     
            a = 1 / Math.sqrt(1 + (x * x));
            b = 1;
     
            // n défini le niveau de précision
            for (int n=1; n<=11; n++) {
                a = (a + b) / 2;
                b = Math.sqrt(a * b);
            }
     
            return x / (Math.sqrt(1 + (x * x)) * a);
        }

  6. #6
    HNT
    HNT est déconnecté
    Membre éclairé Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Par défaut
    Vois pas pq tu te casse la tete, utilise le cldc 1.1 et tu l'as la fonction atan et toute les fonctions de trigono

  7. #7
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par afrikha
    ben il y a la méthode statique atan de la classe Math et StrictMath dans le paquage java.lang...
    Ce paquage n'est pas présent dans j2me ?
    c'est quoi la diff entre Math et StrictMath?

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Oh le bon vieu ddéveloppement limité ^^

    Rom: Cadeau : http://java.developpez.com/faq/java/...chaine#apiMath

  9. #9
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    Voilà un excellement article pour les détais :

    http://fr.wikipedia.org/wiki/D%C3%A9...nt_limit%C3%A9

    Remarquez tout de suite que les développements sont aisément implémentables, vous pouvez arrêter votre condition de boule selon plusieurs précisions :

    - Un nombre maximum d'itérations (dans le cas présent ce nombre dera l'ordre du développement de Taylor)

    - 2valuer la valeur absolue de la différence entre les deux dernières évaluations du développement, si cette différence est inférieure à un EPSILON (par ex : 10E-16), retourner le denrier développement.


    Faites attention toutefis dans le développeemnt de la factorielle, elle va vite exploser le limitye réservé au type int, il faut de préférence utiliser des objets spécialement faits pour ça comme la classe BigInteger...

Discussions similaires

  1. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09
  2. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo