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

Bibliothèques et frameworks PHP Discussion :

[Librairie] PB programmation scientifique en PHP


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Wordpress, Windev, Drupal, Magento
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Wordpress, Windev, Drupal, Magento
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Par défaut [Librairie] PB programmation scientifique en PHP
    Bonjour,

    Je fais ce calcul:

    $TX=-0.04154825462012;
    $l0= 440250710*cos(0+(0*TX)) //0
    +40989415*cos(1.48302034+(26087.90314157*$TX)) //0
    +5046294*cos(4.4778549+(52175.8062831*$TX)) //0
    +855347*cos(1.165203+(78263.709425*$TX)) //0
    +165590*cos(4.119692+(104351.612566*$TX)) //0
    +34562*cos(0.77931+(130439.51571*$TX)) //0
    +7583*cos(3.7135+(156527.4188*$TX)) //0
    +3560*cos(1.5120+(1109.3786*$TX)) //0
    +1803*cos(4.1033+(5661.3320*$TX)) //0
    +1726*cos(0.3583+(182615.3220*$TX)) //0
    +1590*cos(2.9951+(25028.5212*$TX)) //0
    +1365*cos(4.5992+(27197.2817*$TX)) //0
    +1017*cos(0.8803+(31749.2352*$TX)) //0
    +714*cos(1.541+(24978.525*$TX)) //0
    +644*cos(5.303+(21535.950*$TX)) //0
    +451*cos(6.050+(51116.424*$TX)) //0
    +404*cos(3.282+(208703.225*$TX)) //0
    +352*cos(5.242+(20426.571*$TX)) //0
    +345*cos(2.792+(15874.618*$TX)) //0
    +343*cos(5.765+(955.600*$TX)) //0
    +339*cos(5.863+(25558.212*$TX)) //0
    +325*cos(1.337+(53285.185*$TX)) //0
    +273*cos(2.495+(529.691*$TX)) //0
    +264*cos(6.917+(57837.138*$TX)) //0
    +260*cos(0.987+(4551.953*$TX)) //0
    +239*cos(0.113+(1059.382*$TX)) //0
    +235*cos(0.267+(11322.664*$TX)) //0
    +217*cos(0.660+(13521.751*$TX)) //0
    +209*cos(2.092+(47623.853*$TX)) //0
    +183*cos(2.629+(27043.503*$TX)) //0
    +182*cos(2.434+(25661.305*$TX)) //0
    +176*cos(4.536+(51066.428*$TX)) //0
    +173*cos(2.452+(24498.830*$TX)) //0
    +142*cos(3.360+(37410.567*$TX)) //0
    +138*cos(0.291+(10213.286*$TX)) //0
    +125*cos(3.721+(39609.655*$TX)) //0
    +118*cos(2.781+(77204.327*$TX)) //0
    +106*cos(4.206+(19804.827*$TX));//0


    en JAVA, Delphi, Windev, je trouve : 431991350.573753 (qui est juste)

    en PHP, je trouve : 431973311.19003

    Pourquoi?
    Et surtout, comment y remédier?

    Merci de votre aide.
    Christian

  2. #2
    Expert confirmé
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Par défaut
    salut,
    c'est certainnement à cause des arrondis et du nombre de chiffres. je pense que tu ne peux pas solutionner ce problème juste avec php. il te faut l'extension bcmath (grands nombres)

  3. #3
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    php pouvant gerer des chaines de caracteres, tu peux t'en sortir avec "juste" php, mais tu va te faire ch*** pour rien a mon avis ;o)

    Si tu veux essayer, l'idée est la suivante :

    Gerer des objets representant des nombres sous forme de chaine de caracteres (donc avec une précision theoriquement infinie (enfin, limitée par la memoire de php, autour de 8Mo ;o)

    Inconvenient : il faut reprogrammer TOUTES les operations arithmetiques que tu utilise avec ces nombres... de la simple addition (facile ;o) au cosinus (heu... là je te laisse faire et trouver l'algorithme hein ;o)

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    A priori le cosinus se calcule à partir d'une approximation polynomiale.

  5. #5
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    Ouais la fonction Cosinus se calcule à l'aide des DLN (développements limités à l'ordre N). J'ai implémenté ça lors de mon stage en angleterre ya quelques mois et j'obtenais une précision assez intéressante. Voici un lien trouvé par hasard sur google :

    http://www.bibmath.net/formulaire/limite3.php3

    Si tu veux je pourrai te filer ce soir le code source de mon projet de stage. En espérant que ca t'aide ... Bon courage

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Wordpress, Windev, Drupal, Magento
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Wordpress, Windev, Drupal, Magento
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Par défaut extension bcmath
    comment fait on pour use l'ext bcmath?

    j'ai mis:

    bcscale(12);

    en debut de code. J'ai modif le php.ini avec le m param.
    Mais cela ne suffit manifestement pas.

Discussions similaires

  1. Réponses: 14
    Dernier message: 23/05/2006, 20h44
  2. [Système] Exécuter un programme Java en PHP
    Par sylsau dans le forum Langage
    Réponses: 10
    Dernier message: 26/04/2006, 21h02
  3. [Système] Exécuter un programme Java en PHP
    Par sylsau dans le forum Linux
    Réponses: 4
    Dernier message: 26/04/2006, 18h12
  4. [Librairies] générer un .csv en php pour excel
    Par allowen dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2005, 17h40

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