π
<-
Chat plein-écran
[^]

importer module python (pour transformées de Laplace)

TI's micropython + modules

Re: importer module python (pour transformées de Laplace)

Unread postby Adriweb » 27 Sep 2020, 20:56

Travailler sur le logiciel ordi avec les fichiers tns qu'on a pu commencer sur ordi/calculatrice, puis qu'on a continuer d'utilisé sur ordi/calculatrice, est bien pratique, je sais que je faisais pas mal ca quand j'étais étudiant. Ca fonctionne avec l'interface Lua de KhiCAS (ca fallback sur le math.eval interne, bien sur) si jamais on veut vraiment le faire, mais evidemment pas la version ndless.
C'est pour ca que je proposais d'ajouter python() a la version Lua (mais j'ai pas vérifié, est-ce que c'est deja censé marcher ?)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 56.1%
 
Posts: 13164
Images: 1087
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 27 Sep 2020, 21:02

Adriweb wrote:Rajouter un api python(...) a l'interieur de la version nspire-lua de khicas permetrait de palier quelque peu a ce manque.

Si quelqu'un veut se lancer la-dedans, je suivrai bien sur le projet avec bienveillance. Mais il me semble que c'est beaucoup de travail, dupliquant en grande partie ce que j'ai fait avec le shell de KhiCAS, et ce serait inutilisable sur d'autres calculatrices, contrairement a mon interface.
Il y a plein d'autres choses qui me semblent plus interessantes, par exemple rajouter le support des images dans le module graphic de KhiCAS (meme si on ne pourra pas s'en servir sur une Numworks, pour le moment en tout cas).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 12.8%
 
Posts: 2247
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 27 Sep 2020, 21:15

Adriweb wrote:Travailler sur le logiciel ordi avec les fichiers tns qu'on a pu commencer sur ordi/calculatrice, puis qu'on a continuer d'utilisé sur ordi/calculatrice, est bien pratique, je sais que je faisais pas mal ca quand j'étais étudiant.

Mais on peut le faire avec KhiCAS. Il suffit d'utiliser Xcas sur son ordinateur ou Xcas pour Firefox sur son navigateur et d'exporter sa session pour TI Nspire, puis on la transfere sur la TI. L'interet de choisir KhiCAS c'est qu'on peut *aussi* exporter vers Numworks. Des eleves ayant certains des Numworks, d'autres des Nspire peuvent donc echanger des sessions entre eux (pas juste des scripts Python, qui en plus ne sont pas forcement compatibles).

C'est pour ca que je proposais d'ajouter python() a la version Lua (mais j'ai pas vérifié, est-ce que c'est deja censé marcher ?)

Pouvoir faire python(string,python) dans l'interface lua existante c'est trivial. Ce qui necessite du travail, c'est d'avoir l'ensemble des modules utiles pour l'enseignement dont 3 modules graphiques (pixel, repere, tortue) et d'avoir un UI pour l'edition de programmes + un shell. C'est precisement parce que faire ca en lua me paraissait tres complique et inutilisable ailleurs que je suis parti de l'interface pour les Casio et Numworks pour refaire l'UI de KhiCAS pour les nspire cx.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 12.8%
 
Posts: 2247
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: transformées de Laplace

Unread postby Adriweb » 28 Sep 2020, 01:32

Hamza.S wrote:Ce que tu souhaites faire n'est pas encore possible en python, Laplace retourne des expressions et non des nombres.


Bon en fait en explorant le python nspire, j'ai trouvé un moyen un peu contourné de faire ce que l'on voulait :D



Code: Select all
from ti_system import *
writeST("tmppy_","myBasicFunction(1,2,3)")
readST("tmppy_")


Y'a plus qu'a se faire un wrapper pythonesque et ca sera bon B-)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 56.1%
 
Posts: 13164
Images: 1087
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 28 Sep 2020, 06:52

Mouais, c'est complique et probablement tres inefficace (c'est quoi writeST et readST? Des fonctions de lecture/ecriture sur le systeme de fichiers?).
Python n'est pas concu pour faire du calcul avec des expressions. Si on veut en faire quand meme, il faut soit travailler avec des chaines pour communiquer avec le CAS (avec tous les inconvenients que ca pose), soit creer soi-meme son type et redefinir les operations arithmetiques de base dessus puis faire son propre noyau (mais je ne suis pas sur que la version de MicroPython de TI soit assez recente pour le faire, de memoire il faut la 1.12 au moins).
C'est quand meme beaucoup plus simple de travailler soit en TI-Basic soit avec KhiCAS en restant avec l'interpreteur de Xcas.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 12.8%
 
Posts: 2247
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: importer module python (pour transformées de Laplace)

Unread postby franky62217 » 28 Sep 2020, 08:57

je viens d'écrire à ti-cares français
TI nspire cas 2 T et Student software
User avatar
franky62217
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 56%
 
Posts: 22
Joined: 11 Sep 2020, 16:43
Gender: Male
Calculator(s):
Class: L2

Re: importer module python (pour transformées de Laplace)

Unread postby Hamza.S » 28 Sep 2020, 09:13

L'essentiel c'est que ça fonctionne. On a un moyen d'appeler une fonction Basic qui retourne des expressions depuis python.

Après par quelle magie il a trouvé ça ? On ne sait pas encore.
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 13.6%
 
Posts: 4066
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):

Re: importer module python (pour transformées de Laplace)

Unread postby parisse » 28 Sep 2020, 10:00

Hamza.S wrote:L'essentiel c'est que ça fonctionne. On a un moyen d'appeler une fonction Basic qui retourne des expressions depuis python.

Ca ne retourne surement pas une expression dans MicroPython. Plutot une chaine de caracteres, non? Du coup quel avantage a utiliser ca plutot que caseval du module cas de KhiCAS qui est autrement plus simple?
Sauf bien sur si vous voulez utiliser une fonction ti-basic qui n'a pas d'equivalent dans le CAS de KhiCAS, mais s'il s'agit de programmer pour faire des maths, c'est plutot Xcas qui est plus complet que le CAS de la Nspire!
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 12.8%
 
Posts: 2247
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: importer module python (pour transformées de Laplace)

Unread postby Adriweb » 28 Sep 2020, 12:56

Ce topic n'a a la base pas de lien avec KhiCas vu que la question était de faire ça avec les moyens du bord proposés par TI, donc je réponds à la question sans Khicas :p Je ne doute pas qu'on puisse faire librement davantage de choses si on se cantonne à l'environnement khicas vu qu'on a un MicroPython plus recent, mais perso si j'ai des maths à faire, je lance Wolfram Alpha/Mathematica Online/le logiciel Nspire (et je dois être un cas particulier; la plupart des gens n'utilisent sûrement qu'un seul truc, donc la portabilité de leur création n'intéresse probablement pas grand monde, sauf les enseignants peut être, dont il faut bien que leur fichiers puissent être ouvert sur un maximum de plateforme)

Dans readST/writeST, ST signifie Symbol Table (la couche appelée ainsi par TI pour gérer les variables dans le classeur). Ce sont juste des alias de read_value et store_value il me semble (mais plus bas niveau, sams les checks de type python en entrée...?), tout comme eval_function est en fait un alias de evalFunc. J'ai trouvé ça juste avec un dir() après import :p

En tout cas cela veut aussi dire que si les syscalls correspondant à ces 3 fonctions sont trouvés, khicas peut simplement aller lire/écrire des variables basic, et évaluer des fonctions basic. Ce qui serait pas mal pour une intégration avec l'os. Un appel direct depuis le micropython intégré devrait même convenir si l'abi est suffisamment stable (ça j'en sais rien, faut tester)

Comme autre fonctions intéressantes potentiellement (je crois que ça ajuste les types correctement), y'a celles avec les listes (et matrices? Je sais plus). Bref du coup on a au moins number/list/string d'interoperables. Mais je confirme que le evalFunc force en numérique par contre, même sur CAS (mais c'est pas bien grave si de l'autre côté, la fonction basic retourne un string d'une valeur exacte/symbolique :p)

En tout cas, je vais faire un wrapper qui prend des arguments variadiques etc ça devrait être pas si mal.
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 56.1%
 
Posts: 13164
Images: 1087
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Class: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Unread postby Hamza.S » 28 Sep 2020, 13:20

Je parlais pour la fonction écrit en Basic qui retourne une expression.
Le Python ne retourne pas si facilement des expressions mais si on peut récupérer l'expression sous forme de chaîne de caractères c'est déjà très intéressant.
Oui Xcas est plus complet que le Nspire CAS.
Ça fait 5 ans que je me plains chez eux pour qu'ils rajoutent Laplace et Fourrier car les élèves et étudiants en électrotechnique utilisent ces fonctions.
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 13.6%
 
Posts: 4066
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):

PreviousNext

Return to Python

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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.
588 utilisateurs:
>571 invités
>11 membres
>6 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)