Forum général.cherche-logiciel formules avec unités

Posté par  .
Étiquettes : aucune
2
28
jan.
2010
Bonjour,

J’ai souvent à faire des calculs relativement simples en soit, mais qui demandent des conversions d’unité fréquentes. L’erreur étant très fréquente en calcul manuel /o\ j’ai codé un petit script qui marchotte : j’écris « calc-unit '(1 mm/s + 1 km/yr) * 3 J/m to J/yr' » il me fait le calcul de ce qui se trouve à gauche du « to » et me le convertit en l’unité indiquée à droite. Malheureusement il manque à ce petit script la vérification de l’homogénéité qui nécessite d’avoir à interprété la formule (là où je me contente de transformer les unités par leur valeur numérique dans le système SI et de faire manger la formule transformée à l’interpréteur Python).

Avant de me lancer dans quelque chose de passablement plus complexe, connaissez-vous un programme qui répondrait à mon besoin ? À savoir une calculatrice qui prenne en compte les unités, puisse faire la conversion dans l’unité désirée et vérifier que la formule est homogène (que ce soit entre les différents termes de la formule à calculer ou durant la conversion).
  • # Google

    Posté par  (site web personnel) . Évalué à 4.

    http://www.google.com/search?source=ig&hl=en&rlz=&am(...)

    me répond : ((1 (mm / s)) + (1 (km / yr))) * 3 (J / m) = 97 670.7779 J / yr
    • [^] # Re: Google

      Posté par  . Évalué à 2.

      C’est une solution, il accepte même les unités exotiques : Erg_(unité), Parsec et autre joyeusetés... En fait c’est pas encore ça, il ne me reconnaît pas le kyr par exemple, à vrai dire il semble ne pas reconnaître les préfixes n,m,k,M,G de manière générique, mais au cas par cas suivant l’unité (oui je sais, je suis trop fainéant pour le faire moi-même).

      De plus ce n’est pas super pratique lorsque que je dois comparer plusieurs résultats.
    • [^] # Re: Google

      Posté par  (site web personnel) . Évalué à 2.

      • [^] # Re: Google

        Posté par  . Évalué à 2.

        Ça m’a l’air sympathique, par contre le miscalculator est marrant, typiquement il devrait renvoyer une erreur, on additionne pas des C avec des F ^^ à la limite des degrés Kelvin entre eux ça a un sens, mais pour le reste non.

        Il semblerait que Google ne se base pas dessus, car kyr est reconnu par gnu units, mais je lui préfère le module Python qui a pour lui de récupérer l’interpréteur Python, et d’être très facilement extensible.
        • [^] # Re: Google

          Posté par  . Évalué à 3.

          On ne dit pas degré Kelvin mais kelvin tout court.
        • [^] # Re: Google

          Posté par  . Évalué à 1.

          Par extension, je suppose que 2 degrés C peut être considéré comme une mesure différence de température...

          Tiens, il fait deux degrés de plus que hier ne choque personne et s'interprète même très bien dans le langage courant.

          En fait, on a le même soucis avec la notion d'heure par exemple: 1 heure 30 peut faire référence à un instant - sous entendu aujourd'hui à une heure trente mais aussi à un intervalle de temps je viens dans une heure trente. Additionner deux instants n'a aucun sens - additionner deux intervalles de temps, si.
          • [^] # Re: Google

            Posté par  (site web personnel) . Évalué à 1.

            >> Additionner deux instants n'a aucun sens - additionner deux intervalles de temps, si.

            En physique, « l'instant t+Δt », c'est très valide, et c'est pas deux intervalles, si je ne m'abuse…
            • [^] # Re: Google

              Posté par  (site web personnel) . Évalué à 2.

              Euh, je me fais moinsser, mais j'attends des justifications là.

              D'ailleurs, un intervalle, c'est rien d'autre que la différence de deux instants, soit la somme d'un instant et de l'opposé d'un autre.
              d1 + d2 = (t12 - t11) + (t22 - t21)
              Comme l'addition est commutative
              d1 + d2 = (t12 + t22) - (t11 + t21)
              C'est à dire la somme de deux instants moins la somme de deux autres instants.

              Ça m'a l'air de marcher, l'addition des deux instants…
              Quelle est l'erreur ? Y a-t-il vraiment une erreur ?
              • [^] # Re: Google

                Posté par  . Évalué à 1.

                Non, il n'y a pas d'erreur... mais je n'avais jamais dit qu'additionner une date et une durée n'était pas valide.

                (ceci dit, en passant, la notion d'opposé d'un instant me parait délicate)
  • # HP48

    Posté par  . Évalué à 3.

    La HP 48 fait ca très bien, il existe des émulateurs (x48 par ex). Les ROMs sont mis à disposition par HP je crois,donc en plus c'est même pas illégal.
  • # Python Package Index

    Posté par  (site web personnel) . Évalué à 4.

    En cherchant dans pypi, ce module semble pouvoir répondre à tes besoins :
    Unum 4.1.0 - [http://pypi.python.org/pypi/Unum/4.1.0]
    • [^] # Re: Python Package Index

      Posté par  . Évalué à 1.

      • [^] # Re: Python Package Index

        Posté par  . Évalué à 2.

        Ok, merci, c’est ce qui me semble le plus prometteur, en fait l’implémentation de pypi est toute bête, ce sont juste des objets et des classes qui redéfinissent les opérations élémentaires pour supporter l’analyse dimensionnelle. C’est celui qui me semble le plus pratique à utiliser parmi les trois modules.

        Mise à part que je n’aime pas trop qu’il vérifie l’homogénéité en calcul à virgule flottante. :( Je sais pas si en pratique c’est gênant l’imprécision qui y est liée. Par contre il manque les unités nécessaires, mais ça se fait extrêmement bien d’en rajouter à ce que j’ai vu.
  • # wolfram

    Posté par  . Évalué à 2.

    la réponse google m'a fait penser à ce truc génial que je n'ai pas fini d'explorer : Wolfram alpha

    ta requête: http://www.wolframalpha.com/input/?i=%281+mm%2Fs+%2B+1+km%2F(...)

    une liste de ce qu'on peut faire (impressionnant) : http://www.wolframalpha.com/examples/

    plus pour les autres lecteurs que pour toi, désolé et bon courage...
  • # Qalculate

    Posté par  . Évalué à 3.

    La jolie calculette rose (et libre) le permet : Qalculate

    http://qalculate.sourceforge.net

    il y a même une librairie si tu souhaites faire ta propre appli
    • [^] # Re: Qalculate

      Posté par  . Évalué à 2.

      Merci, mais je vais lui préférer la solution en ligne de commande avec Python. :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.