π
<-

simplifier expression

Pour le TI-Basic sur Nspire

simplifier expression

Unread postby kadtexas » 14 Dec 2015, 17:39

Bonjour

Par exemple l'équation d'un plan est ax+by+cz+d=0
Une fois que le programme a déterminé les coefficients a,b,c et d on arrive à:
disp 2x-4y+6z-8=0
Y'a t il moyen de simplifier cette égalité par 2 pour arriver à:x-2y+3z-4=0 ?

Merci pour vos commentaires
User avatar
kadtexas
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.8%
 
Posts: 283
Joined: 29 Jan 2015, 19:32
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: etudiant

Re: simplifier expression

Unread postby Hamza.S » 14 Dec 2015, 17:52

je ne connais pas une fonction qui permet de faire ça mais avec la fonction factor( tu peux mettre en facteur
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: simplifier expression

Unread postby kadtexas » 14 Dec 2015, 18:06

Oui la fonction factor() factorise par 2 mais ne simplifie pas!
User avatar
kadtexas
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.8%
 
Posts: 283
Joined: 29 Jan 2015, 19:32
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: etudiant

Re: simplifier expression

Unread postby Hamza.S » 14 Dec 2015, 18:08

la simplification se fait facilement une fois que tu as le facteur commun
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: simplifier expression

Unread postby Bisam » 14 Dec 2015, 18:23

Tu peux tenter : 2x-4y+6z-8=0 and true
La calculette va essayer de déterminer la valeur de vérité de l'expression en tenant de résoudre. En faisant cela, il arrive souvent qu'elle simplifie l'expression avant de la renvoyer. C'est le cas ici.

Sinon, il est tout-à-fait faisable en Basic de récupérer les coefficients de l'expression, de calculer leur pgcd et de diviser le tout par le pgcd... mais est-ce vraiment nécessaire ?
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: simplifier expression

Unread postby Hamza.S » 14 Dec 2015, 20:31

voilà pourquoi j'ai pas voulu développer ma pensée j'étais sûr que Bisam aurait un astuce
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: simplifier expression

Unread postby Bisam » 15 Dec 2015, 22:44

Pour la méthode de simplification en récupérant la liste des coefficients, on peut faire ainsi :
Code: Select all
Define simplify(eq) = Func
  {x, y, z} → var
  dim(var) → n
  {} → coeffs
  left(eq) - right(eq) → eq
  For i, 1, n
    derivative(eq, var[i]) → coeffs[i]
    eq - coeffs[i] * var[i] → eq
  EndFor
  eq → coeffs[n+1]
  eq → pgcd
  For i, 1, n
    gcd(pgcd, coeffs[i]) → pgcd
  EndFor
  If left(string(pgcd), 3) = "gcd"
    1 → pgcd
  Return dotp(coeffs / pgcd, augment(var, {1})) = 0
EndFunc

Cette fonction ne marchera que si l'équation est linéaire et si les variables x, y, z sont inutilisées dans le classeur.

PS : Elle marche même s'il n'y a qu'une ou deux variables parmi x, y, z, bien sûr... Et je l'ai écrite de sorte qu'il n'y ait qu'une ligne à modifier si jamais vous voulez d'autres variables ou encore les préciser plutôt comme paramètres.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: simplifier expression

Unread postby kadtexas » 16 Dec 2015, 12:15

Bonjour Bisam et merci pour l'algorithme que je n'ai pas encore essayé.
Mais ton idée: 2x-4y+6z-8=0 and true march très bien, je l'ai essayée et même ça simplifie une expression avec dénominateur comme 1/3*x-5/6*y+7z-1/4=0.
Est ce que ta fonction "simplify(eq)" apporterai quelquechose en plus ?
User avatar
kadtexas
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.8%
 
Posts: 283
Joined: 29 Jan 2015, 19:32
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: etudiant

Re: simplifier expression

Unread postby Bisam » 16 Dec 2015, 14:05

Je ne pense pas... et elle réussit même moins bien s'il y a des inconnues dans l'expression (genre
$mathjax$2ax+2y+2z=0$mathjax$
), mais elle peut être réutilisée pour d'autres situations.
C'est plutôt un guide à l'usage du programmeur.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: simplifier expression

Unread postby kadtexas » 16 Dec 2015, 17:45

Par simple curiosité, comment la calculette arrive à simplifier en utilisant:2x-4y+6z-8=0 and true
L'opérateur and évalue true qui est par définition "vrai' puis évalue 2x-4y+6z-8=0
alors je pense que:que la calculette factorise, donc 2(x-2y+3z-4)=0, produit de facteurs nul donc 2 different de 0 et
x-2y+3z-4=0, plus d'inconnues que d'équations, forcément il y a des solutions donc 2x-4y+6z-8=0 est vraie.
vrai and vrai = vrai.
Ce ne sont que des suppositions de ma part!
User avatar
kadtexas
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 73.8%
 
Posts: 283
Joined: 29 Jan 2015, 19:32
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: etudiant

Next

Return to Nspire-Basic

Who is online

Users browsing this forum: Ask Jeeves [Bot], ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
804 utilisateurs:
>779 invités
>17 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)