Quelques astuces avec = .. < >

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Quelques astuces avec = .. < >

Message par frederic han » mer. nov. 23, 2016 12:21 am

Comme certains symboles sont réservés ou n'ont pas de sens en python on est souvent géné pour passer des équations, inéquations, arguments de plot à giac... si l'on souhaite minimiser les ' '

Pour les équations on peut utiliser equal comme dans
http://xcas.e.ujf-grenoble.fr/XCAS/view ... 1760#p8640

Pour les inéquations, je n'ai jamais su s'il existait une instruction analogue, mais on peut:

* Créer ses propres mots clefs/fonctions:

C'est délicat de créer une fonction qui ne retourne que x>a car cette expression rique d'être évaluée trop tot lorsque l'on compose avec d'autres instructions. On peut donc soit travailler en python avec des strings et des %s soit travailler dans giac:

Code : Tout sélectionner

import giacpy
from giacpy import giac,cos
x=giac('x')
solveineq=giac('(a,b)->solve(a<b,x')   # on se cree notre fonction
print(solveineq(cos(2*x),'1/2'))
donne:

Code : Tout sélectionner

list[((x>=(-pi/2)) and (x<(-pi/6))),((x>(pi/6)) and (x<=(pi/2)))]
On remarque que pour résoudre cette équation dans une fonction, giac/xcas a ajouté automatiquement des hypothèses sur x ce qu'il ne fait pas en mode intéractif :roll:

Code : Tout sélectionner

In [3]: giacpy.purge(x)   # on retire les hypothèses ajoutées à x
Out[3]: assume[[],[line[-pi/2,pi/2]],[]]

Répondre