Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Maple - exprimer un nombre décimal sous forme de fraction

Posté par
Mihawk
15-01-11 à 11:39

Bonjour,

j'ai besoin pour un de mes cours de résoudre une équation sous Maple (celle de l'activité Alice et Bertrand pour ceux qui connaissent).

J'utilise donc la fonction "solve" de Maple et j'écris ce qui suit :

Citation :
restart;
solve(2.1*x-.4 = 1.3*x+.1);


Et là Maple me sort ce résultat : "0.6250000000"

Alors déjà, pourquoi ces zéros superfétatoires? Et ensuite pourquoi cette écriture décimale alors que la solution est 5/8?

En cherchant sur le net j'ai compris pourquoi l'écriture décimale. Cela vient du fait que j'utilise des décimaux dans mon équation et que du coup "j'autorise" Maple à travailler en décimaux... Soit! Mais moi je veux un résultat sous forme de fraction.

Or, c'est possible (et même simple) de transformer une fraction en décimal (evalf) mais je n'arrive pas à faire l'inverse...

Quelqu'un saurait comment résoudre ce problème qui menace sérieusement ma santé mentale depuis les 3 jours que je suis dessus?

Merci d'avance!

Mihawk

Posté par
Porcepic
re : Maple - exprimer un nombre décimal sous forme de fraction 15-01-11 à 14:37

Bonjour,

Tu peux utiliser convert(<expr>,fraction), ça devrait résoudre ton problème.
Ou alors remplacer 2.1 par 21/10, .4 par 4/10, etc. et alors, Maple prendra la peine de faire du calcul fractionnaire.

Pour les « zéros superfétatoires », c'est parce que tu utilises des float, donc Maple cherche à te redonner un résultat en type float, et le nombre par défaut de chiffres significatifs est 10.
Tu peux changer cela en redéfinissant la variable Digits.

Citation :
solve(2.1*x-.4 = 1.3*x+.1); #renvoie 0.6250000000
solve(2x=3); #renvoie 3/2
solve(2x=3.0); #renvoie 1.500000000

Digits:=3;
solve(2.1*x-.4 = 1.3*x+.1); #renvoie 0.625

Digits:=1;
solve(2.1*x-.4 = 1.3*x+.1); #renvoie 0.6

solve(21/10*x-4/10 = 13/10*x+1/10) #renvoie 5/8

Posté par
Mihawk
re : Maple - exprimer un nombre décimal sous forme de fraction 15-01-11 à 15:09

Merci pour ta réponse.

Je ne veux pas mettre mes coefficients sous forme fractionnaire car j'ai peur que certains élèves ne fassent pas le rapprochement entre 21/10 et 2.1

J'utiliserai donc la fonction convert (que je viens de tester, ça marche très bien ^^)

Et merci pour le tuyau sur "digits"

Mihawk



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !