π
<-

Les questions en Vrac à LadeHeria

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

Re: Les questions en Vrac à LadeHeria

Unread postby critor » 29 Jul 2012, 16:43

Lionel Debroux wrote:Même avec des LocalVar (à supposer que les fonctions aient le droit d'en créer, ça fait longtemps que je n'ai pas fait de TI-BASIC ^^), l'interpréteur considère que SortA/SortD sont incorrects dans des fonctions ?


Oui.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.5%
 
Posts: 42401
Images: 17120
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Les questions en Vrac à LadeHeria

Unread postby Lionel Debroux » 29 Jul 2012, 17:04

C'est bien qu'ils aient corrigé le vilain bug de Delvar et quelques autres fonctions avec les variables locales, mais ce n'est pas bien que SortA et SortD agissent ainsi...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Les questions en Vrac à LadeHeria

Unread postby LadeHeria » 28 Sep 2012, 16:13

Nouvelle question, je me suis amusé à créer une petite fonction pour créer un polynôme interpolateur de Lagrange (précède un programme qui fait une interpolation de Bezier) associé à un nuage de points que voici (oui, ça fait une ligne) :
lagrange.tns


Plusieures questions quand je trace la fonction (page 2, mettre lagrange({1,2,3,4},{-1,1,-1,1} par exemple)), ça prend 3 plombes. De ce que j'ai compris, c'est parce qu'il s'amuse à recalculer le polynôme à chaque fois. Comment éviter cela (c'est à dire qu'il calcule le polynôme une bonne fois pour toute puis le trace) ?
J'ai une piste qui serait de passer par une variable globale qui serait tracée (on écrirait par ex lagrangegraph(x) dans la page graphique), mais comment créer une variable globale dans une fonction, c'est possible ?

Autre question, si je veux appliquer ce programme aux 2 colonnes d'un tableur, c'est possible ?

LadeHeria
You do not have the required permissions to view the files attached to this post.
User avatar
LadeHeria
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 50.2%
 
Posts: 29
Joined: 19 May 2012, 13:24
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Les questions en Vrac à LadeHeria

Unread postby Adriweb » 28 Sep 2012, 16:18

(Je sens que Levak va répondre sur ce coup mais lui et mois avions fait ca de cette manière :

Image

xs et ys étant des listes tracables en G&G (donc mises-à-jour automatique) (et Lua dans notre cas)

Ce qui donne, par exemple :
Image

)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14840
Images: 1133
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Les questions en Vrac à LadeHeria

Unread postby LadeHeria » 28 Sep 2012, 20:06

Mouais, j'ai tester ton code pour voir ce que ça donne. Dans le scratchpad, il me sort bien un polynôme, quand je la rentre dans un graphique, rien du tout... bizarre quoi. La mienne me traçait quelle chose mais très lentement (et mon code est plus joli B-) :D .
Enfin, c'est pas grave, je suis passé directement à l'interpolation de bezier, (je trouve d'ailleurs bizarre que la Nspire ne le propose pas par défaut :#fou#: ).J'ai juste un soucis. J'ai les données dans un tableur, colonne1<-->liste1, colonne2<-->liste2, comment je fais pour mettre colonne1 et colonne2 en arguments à ma fonction ?

PS : c'est quoi listes tracables en G&G ?

LadeHeria

EDIT : après un peu plus d'investigations, la fonction obtenue grâce à ton code s'affiche bien quand on la met dans un graphique, c'est juste 20 fois plus lent, c'est pour ça que je l'ai pas vu. :(.

Une idée pour obtenir les données d'un tableur ?
User avatar
LadeHeria
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 50.2%
 
Posts: 29
Joined: 19 May 2012, 13:24
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Les questions en Vrac à LadeHeria

Unread postby Bisam » 30 Sep 2012, 12:49

Voici un code qui devrait te convenir :
Code: Select all
Define Libpub interpol(l1,l2)=Func
local n,i,p
n:=dim(l1)
p:=product(x-l1)
Return dotp(seq(x-l1[i]/(d(p,x)|x=l1[i]),i,1,n),l2)
EndFunc

Il retourne le polynôme d'interpolation directement.
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: Les questions en Vrac à LadeHeria

Unread postby LadeHeria » 30 Sep 2012, 13:34

Enfait, je pense que j'ai mal expliqué. Mon soucis n'est pas de coder la fonction qui retourne le polynome de Lagrange, ça j'ai réussi (cf mon post plus haut, le fichier tns). Le soucis, c'est que quand je trace cette fonction (c'est à dire quand je rentre lagrange(l1,l2) dans un graphique avec (l1 et l2 des listes) cela prend très longtemps à tracer le graphe, alors que si je mets directement le polynôme que me renvoie ma fonction dans le graphique, c'est beaucoup plus rapide.
Je souhaite donc savoir s'il y a un moyen pour que l'application graphique ne recalcule pas le polynôme à chaque itération qu'elle fait sur x (c'est ce qui semble être le cas), mais "prenne" le polynôme et le trace directement.

Un moyen que je voyais pour faire cela était de passer par une variable globale (dans ma fonction Lagrange, j'assignerais le polynôme à un variable globale, et c'est cette variable qui serait tracée), mais je ne sait pas comment créer une variable globale depuis une fonction, est ce possible ?
LadeHeria
User avatar
LadeHeria
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 50.2%
 
Posts: 29
Joined: 19 May 2012, 13:24
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Les questions en Vrac à LadeHeria

Unread postby Bisam » 30 Sep 2012, 15:50

Oui, j'avais bien compris.
Il suffit pour cela de faire calculer le polynôme à l'écran de calcul et de le copier dans l'écran graphique.
Tu peux même l'enregistrer dans une fonction (je veux dire par là : lagrange(l1,l2)->f(x), par exemple) et mettre f(x) dans ton graphique. Du coup le changement se fera automatiquement si tu changes l1 et l2 et que tu réenregistres dans f(x).
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: Les questions en Vrac à LadeHeria

Unread postby Laurae » 30 Sep 2012, 16:08

Bisam wrote:Oui, j'avais bien compris.
Il suffit pour cela de faire calculer le polynôme à l'écran de calcul et de le copier dans l'écran graphique.
Tu peux même l'enregistrer dans une fonction (je veux dire par là : lagrange(l1,l2)->f(x), par exemple) et mettre f(x) dans ton graphique. Du coup le changement se fera automatiquement si tu changes l1 et l2 et que tu réenregistres dans f(x).


Ou faire un programme qui a les mêmes arguments appelant ta fonction qui renvoie le polynôme que t'affectes à une variable globale (on ne peut modifier ou créer une variable globale dans une fonction contrairement à un programme).
User avatar
LauraeAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 78.8%
 
Posts: 1685
Images: 22
Joined: 25 Jun 2010, 00:00
Location: France, La Défense
Gender: Male
Calculator(s):
MyCalcs profile
Class: Professeur, Etudiant, Formateur

Re: Les questions en Vrac à LadeHeria

Unread postby LadeHeria » 30 Sep 2012, 17:25

@Bisam : oui, le soucis c'est que je souhaites pas copier coller le polynôme mais tout faire automatiquement. Je retiens le coup de la fonction, ça peut toujours servir.
@Laurae : Ta solution a l'air super intéressante, je vais la tester de ce pas.

Merci ;)

Bon, de toutes façons, je suis allé directement vers les courbes de bezier (je pense finir sur des Bsplines), les polynômes de Lagrange c'est vraiment trop pourri pour interpoler (bons, là la courbe de bezier lisse un peu fort mais c'est l'idée).

Image

LadeHeria
User avatar
LadeHeria
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 50.2%
 
Posts: 29
Joined: 19 May 2012, 13:24
Gender: Not specified
Calculator(s):
MyCalcs profile

PreviousNext

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
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.
814 utilisateurs:
>753 invités
>55 membres
>6 robots
Record simultané (sur 6 mois):
7582 utilisateurs (le 25/06/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)