π
<-

[Résolu] Solveur formule de physique

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

[Résolu] Solveur formule de physique

Postby sylvain535 » 06 Jan 2011, 14:47

Bonjour à tous.
Je me présente j’ai 36 ans et je travaille dans un bureau d’étude électronique.
Ma HP 48G venant de rendre l’âme, j’en ai profité pour acheter la TI Nspire CAS que je découvre avec satisfaction.
Cependant j’ai un problème d’utilisation d'apparence simple mais que je n’arrive pas à résoudre, je m’explique : sur ma HP j’avais une application (HP SOLVE) qui me permettait de résoudre des formules, par exemple la formule la plus simple qu’il soit : la loi d’ohm : u = r.i
Je rentrais donc 2 valeurs connues de l’équation et l’application me donnait le résultat et ce, qu’importe l'ordre les paramètres, par exemple je demandais i en fonction de r et u ….
J’ai bien regardé la création et l’application des bibliothèques mais il n’y a pas de permutation de formule automatique, ce qui fait l’objet de ma question pour savoir si je suis déjà sur le bon chemin car je suis un peu perdu devant la richesse de fonctionnalités de la TI.

Merci pour votre aide.
User avatar
sylvain535
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 0%
 
Posts: 3
Joined: 06 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminé

Re: [Résolu] Solveur formule de physique

Postby critor » 06 Jan 2011, 15:40

Bonjour,


Effectivement l' "Equation Library" sur HP-48G/GX était géniale, allant même jusqu'à gérer les systèmes de formules physiques.
Je crois que les HP-49/50 n'ont rien proposé d'équivalent.

Sur TI-Nspire CAS, il va falloir faire tout ça dans une ligne de calcul, car les applications n'existent pas.


Je ne suis pas certain que cela marche dans tous les cas, notamment sur les systèmes d'équations complexes (car ça dépend du fonctionnement interne du moteur formel), mais je vous propose d'essayer quelque chose comme ça:

solve( la ou les équations physiques, l'inconnue à cherche)|les paramètres connus

Exemple:
Code: Select all
solve(u=r*i,r)|u=5 and i=0.1


Solve peut aussi bien retourner un résultat numérique que formel (si les données sont insuffisantes, ou si le moteur formel n'a pas réussi à s'en tirer...)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42489
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Résolu] Solveur formule de physique

Postby sylvain535 » 07 Jan 2011, 10:21

Merci pour votre réponse, cela me dépanne déja pas mal et m'a permis de découvrir l'instruction solve

J'ai donc essayer de pousser un peu plus en faisant un programme du genre :

Code: Select all
Define LibPub ohm()=
Prgm
:Disp "Loi d'ohm :"
:Disp "u=r.i"
:RequestStr "inconnue ? :",inc
:If inc="r" Then
:Disp solve(u=r*i,r)
:EndIf
:If inc="u" Then
:Disp solve(u=r*i,u)
:EndIf
:If inc="i" Then
:Disp solve(u=r*i,i)
:EndIf
:EndPrgm


en ayant défini bien évidement les variables avant de d'appeler la fonction.
Mais cela oblige à programmer un test conditionnel pour chaque variable, pas très esthétique et lourd (dommage que l'instruction switch n'existe pas)

J’ai donc essayé le programme suivant :

Code: Select all
Define LibPub ohm()=
Prgm
:Local inc
:Disp "Loi d'ohm : u=r*i"
:Disp "u=r.i"
:Request "u",u
:Request "r",r
:Request "i",i
:Request "inconnu?",inc
:Disp inc
:Return solve(u=r*i,inc)
:EndPrgm


mais dans ce cas le programme me génère une erreur car il ne remplace pas inc par l'inconnu bien que j'ai essayer plein de notation différente.

Je pense qu'il me reste à écrire un programme sur pc pour générer automatiquement le code présenté dans le premier programme mais je dois dire que je suis un peu surpris que sur une telle machine le langage de programmation soit vraiment très restreint

Il parait que l'on peut programmer en C, mais dans ce cas peut-on accéder au librairie native de la calculatrice, je pense notamment à Solve...
User avatar
sylvain535
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 0%
 
Posts: 3
Joined: 06 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminé

Re: [Résolu] Solveur formule de physique

Postby critor » 07 Jan 2011, 11:59

On peut effectivement programmer officieusement en C, mais:
- à ce jour il n'y a pas d'accès aux fonctions mathématiques spécifiques à l'OS
- les programmes C ne peuvent pas renvoyer un résultat sur la ligne de calcul
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42489
Images: 17332
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: [Résolu] Solveur formule de physique

Postby Levak » 07 Jan 2011, 16:21

sylvain535 wrote:mais dans ce cas le programme me génère une erreur car il ne remplace pas inc par l'inconnu bien que j'ai essayer plein de notation différente.


Quelle est l'erreur ?
Je pense savoir ce que c'est, tu essaies de rentrer dans la popup une lettre, or Request correspond exactement à une ligne de commande dans l'application Calcul. Si tu rentres u dans la popup du Request, c'est comme si tu rentrais u dans Calcul. Pour faire abstraction de l'évaluation, il faudra utiliser RequestStr qui convertira l'entrée directement en chaîne de caractères sans faire d’évaluation.

Par exemple, voici un petit programme pour te rendre compte de la différence :


Define test()=
Prgm
Local u, inc
Request "u", u
Request "inc", inc
Disp inc
EndPrgm

Si j'appelle test() et si je rentre dans la popup "u" la valeur 1, puis, que dans la popup "inc" je rentre u, alors sera affiché 1
Si j'appelle test() et si je rentre dans la popup "u" la valeur 1, puis, que dans la popup "inc" je rentre 2 , alors sera affiché 2
Si j'appelle test() et si je rentre dans la popup "u" la valeur inc, j'obtiens une erreur de variable indéfinie.


En utilisant RequestStr, tu pourras faire des appels de variables par identifiant. Considérons la variable u qui vaut 1, et la chaine de caractère inc qui vaut "u".

Si je fais inc, j'obtiens "u"
Si je fais #inc, j'obtiens 1
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [Résolu] Solveur formule de physique

Postby sylvain535 » 10 Jan 2011, 11:13

ha effectivement, je vois la différence maintenant avec le caractère "#", car avant dans ma formule, même en demandant l'inconnue avec RequestStr cela me générai une erreur lors du calcul de la solution :#top#:

du coup plus besoin de programme pour générer mes formules, j'ai plus qu'a saisir mes constantes connu et d'appeler le programme tout simplement. Je vais de ce pas créer ma nouvelle bibliothèque et tester des formules plus complexes :8):

je met la solutions pour ceux que ca intéresses :

Code: Select all

Define LibPub ohm()=
Prgm
:Local inc
:Disp "Loi d'ohm : u=r*i"
:RequestStr "inconnu?",inc
:DelVar #inc
:Disp solve(u=r*i,#inc)
:EndPrgm



Merci encore pour votre aide précieuse.
User avatar
sylvain535
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 0%
 
Posts: 3
Joined: 06 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: terminé


Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 18 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
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 !
12345
-
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.
3319 utilisateurs:
>3298 invités
>13 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
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)