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

Langage PHP Discussion :

[PHP-JS] calculs mathématiques avancés en php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut [PHP-JS] calculs mathématiques avancés en php
    Bonjour,

    Je cherche à écrire une page web sur laquelle un visiteur entre des paramètres, appuie sur un boutons pour déclencher un calcul. La page web affiche ensuite le résultat.

    Le calcul en question est assez élaboré et comme il fait appel à des fonctions mathématiques avancées (fonctions de bessel, algèbre linéaire...), le javascript ne fait pas l'affaire.

    En fait seuls des programmes en C++ peuvent faire ce type de calcul.

    Ma question est la suivante : une page de php peut-elle appeler un programme en C++. Cela signifie : (1) lui envoyer les paramètres de départ (2) récupérer les résultats du calcul ??

    Ou encore : une page php peut-elle appeler une dll en C++ ??

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Deux réponses :
    • PHP dispose de bibliothèques mathématiques avancées (BC)
    • PHP peut effectivement appeler un programme et récupérer ce qui est envoyé à la sortie standard

  3. #3
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Je pense que tu fais erreur :

    PHP dispose de bibliothèques mathématiques avancées (BC)
    Tout ce que j'ai pu trouver à propos de la bibliothèque BC en php, c'est : addition, soustraction, multiplication, division, racine carrée, puissance.

    En fait les "fonctions mathématiques avancées" dont je parle sont beaucoup plus avancées (fonctions de Bessel, Ricati-Bessel, fonctions associées de Legendre..) Le plus contraignant c'est certains calculs d'algèbre linéaire dont j'ai besoin qui ne sont ni dans Excel, ni dans Matlab, ni dans Mapple, ni dans Mathematica... Ces fonctions n'existent pratiquement que dans deux langages : Fortran et C++.
    Il y a la librairie ISML (payante) ou bien Linpack et Lapack (free) :
    http://www.netlib.org/lapack/

    j'ai donc réellement besoin de passer par le C++ !!

    Sinon je ne connais pas le php.
    Peux-tu me confirmer que le php peut lancer l'execution d'un programme ?
    Comment fait-il pour récupérer les output du programme ? Et pour lui passer les input ?

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    En effet, je t'ai dit une bêtise avec BC, cette bibliothèque ne gère que les grands nombres.
    Cela dit, PHP peut gérer des fonctions mathématiques avancées comme celles que tu suggères (et que je ne connais pas le moins du monde), exemple ici.
    Google te donnera de meilleurs résultats que moi, à tous les coups ^^

    Concernant l'exécution de ton programme C auquel tu tiens tant, il te faudra utiliser la fonction exec() et en lire la doc, je crois qu'elle te permet de donner en paramètre un tableau qui sera rempli par ce que le programme veut envoyer à la sortie standard. Pour les paramètres, tu mets tout dans la ligne de commande (premier paramètre).

  5. #5
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Bonjour Kirkis,

    Effectivement le PHP semble pouvoir utiliser des fonctions mathématiques avancées.
    En revanche, la librairie GNU scientific library (GSL) qui est décrite à l'adresse que tu m'as donnée ne fonctionne que sous Linux !
    Ne connaissant que windows, je ne pourrais donc pas l'utiliser.
    Je suis en train de creuser cette piste tout de même.

    PS : erroné ne prend qu'un seul "n" (voir le petit message que tu mets à la fin de tes réponses..) ! :-)

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    De toute manière, il est déconseillé par tous les manuels d'utiliser PHP sous Windows en environnement de production, par opposition à Linux et les autres UNIX-like.

    Cela m'aurait étonné qu'un langage de prog, si controversé soit-il quant à son caractère sérieux, ne permette pas du tout de faire de calculs mathématiques avancés, alors que c'est justement l'une des choses pour lesquelles les ordinateurs sont les plus performants.
    Pour rappel, les anglais et certains idiomes hispaniques, pour ne citer qu'eux, utilisent le terme "computer" ou "computadora" pour désigner ce que les espagnols et nous appelons "ordenador" ou "ordinateur". Je veux dire par là que certaines cultures considèrent nos machines comme des outils de classement (relativement à l'information), tandis que d'autres y voient surtout un outil de calcul (relativement aux données).


    Pfiou, c'est rare qu'on me reprenne sur une question de français : merci bien ^^

  7. #7
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Je précise quand même que pour les fonctions mathématiques les plus avancéees en algèbre linéaire, le langage le plus performant est le FORTRAN.

    Je ne saurais pas te dire mes sources exactes, mais il y a 2 ans j'étais chef de projet et j'encadrais une équipe de développeurs. On voulait récupérer un bout de code en Fortran et on a cherché des équivalents pour le réécrire. On a finalement décidé de le garder tel quel, car toute les librairies disponibles en C étaient (légèrement) moins performantes.

    Ce n'est pas étonnant car le Fortran est un langage dédié aux fonctions math avancées (fortran = for mathematical transcription) et c'est avec ce langage que bossent une grande partie des universitaires.

    Après, tout dépend de ce qu'on recherche. Dans la plupart des cas le C fera l'affaire, mais il sera souvent un peu moins bon... En particulier je ne connais pas les perfos de cette librairie GSL pour Linux. Est-elle aussi bonne que Lapack ?

  8. #8
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je recherche actuellement quelle est la capacitée de php au niveau de calculs et je me suis arreté sur ce message vu qu'il concerne un peu le même type de problème. Néanmoins les fonctions mathématiques que je souhaite utiliser sont beacoup moins évoluées que celles citées au-dessus (je me contente de fonctions statistiques, intégrales et exponentiel à peu près).

    Le projet est un peu du même type que celui décrit par jejerome, c'est à dire refaire un programme qui est développé en fortran néanmoins on souhaite qu'il soit dispo sur le web et c'est pourquoi je voulais savoir les possibilités au niveau calculs de php et où les trouver (il me semble que Yogui avait une piste)

    Cela dit, PHP peut gérer des fonctions mathématiques avancées comme celles que tu suggères (et que je ne connais pas le moins du monde), exemple ici.
    Merci d'avance.

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Tu trouveras des informations ici :
    http://es2.php.net/manual/fr/ref.bc.php

    Cette bibliothèque est davantage prévue pour les nombre de grande taille que pour des calculs avancés, cela dit...

    Pour les fonctions mathématiques normales de PHP, c'est ici :
    http://es2.php.net/manual/fr/ref.math.php

Discussions similaires

  1. [PHP-JS] Calcul de textbox
    Par GarsDuCalvados dans le forum Langage
    Réponses: 6
    Dernier message: 24/09/2007, 09h20
  2. logiciel de calculs mathématiques avancés
    Par jlassiramzy dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 21/03/2007, 20h26
  3. [PHP-JS] Calcul de taille d'un champ en Mo
    Par katchi dans le forum Langage
    Réponses: 1
    Dernier message: 02/03/2007, 16h33
  4. [PHP-JS] En php, les calculs !
    Par halez dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2006, 17h53
  5. [PHP-JS] Calculs dans une page php à l'aide javascript
    Par GClavet dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 31/10/2006, 09h10

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