π
<-
Chat plein-écran
[^]

Programme d'étude pour théorie des Jeux

Pour le TI-Basic sur Nspire

Re: Programme d'étude pour théorie des Jeux

Message non lude Hamza.S » 24 Mar 2017, 12:17

elle cherche la variable varlist dans equs et ne la trouve pas
elle ne considère pas que c'est une liste de variable mais une variable sensée être listée dans equs


pour la liste des conditions, je ne sais pas s'il y a une fonction fait pour dans le doute je dirais une boucle for
Code: Tout sélectionner
cond:=listcond[1]
n:=dim(listcond)
for i,2,n
  cond:=cond and listcond[i]
endfor

ça ne devrait pas poser problème
Image
Avatar de l’utilisateur
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 28.4%
 
Messages: 4460
Images: 18
Inscription: 07 Nov 2014, 00:43
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Programme d'étude pour théorie des Jeux

Message non lude Persalteas » 24 Mar 2017, 13:44

Au final, j'ai décidé de tout intégrer au système à passer à solve, ça pose moins de soucis.

Code: Tout sélectionner
Define study_game(mat)=
Prgm
:DelVar x,y,z
:n:=colDim(mat)
:vars:=list▶mat(left(augment({x,y,z},when(n>3,seq(#("x"&string(i)),i,1,n-3),{})),n),1)
:dvars:=mat*vars
:
:Disp "Gains moyens:"
:For k,1,n
:Disp "∆"&string(vars[k,1]),"=   ",dvars[k,1]
:EndFor
:d:=dotP(vars,dvars)
:Disp "∆ =     ",d
:
:Disp "Equations du réplicateur:"
:sysm:=newMat(1,n+1)
:For k,1,n
:sysm[1,k]:=vars[k,1]*(dvars[k,1]-d)
:Disp vars[k,1],"' = ",vars[k,1],"(",expand(dvars[k,1]-d),")"
:EndFor
:sysm[1,n+1]:=sum(vars)[1,1]
:rhs:=newMat(1,n+1)
:rhs[1,n+1]:=1
:varlist:=mat▶list(vars)
:equs:=solve(augment(mat▶list(vars≥newMat(n,1)),mat▶list(sysm=rhs)),{x,y,z})
:equmatrix:=exp▶list(equs,{x,y,z})
:npts:=rowDim(equmatrix)
:
:Disp npts," points d'équilibre:   ",equmatrix
:
:Disp "Réduction en "&string(n-1)&"D:"
:cond:=varlist[n]=1-sum(varlist)+varlist[n]
:For k,1,n-1
:Disp vars[k,1],"' = ",vars[k,1],"(",expand(dvars[k,1]-d)|cond,")"
:EndFor
:
:Disp "Matrice Jacobienne en "&string(n-1)&"D:"
:j:=seq(seq((vars[i,1]*(dvars[i,1]-d),vars[j,1])|cond,j,1,n-1),i,1,n-1)
:Disp j
:
...
:EndPrgm


Ce n'est toujours pas généralisé en dimension n puisque je dépends de solve et expr>list à qui je dois filer les variables en dur.
De toutes façons il faut aussi que je m'occupe de la fin.

Je vous donnerai des nouvelles quand ça aura avancé.
Merci déjà ! ;)
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: Programme d'étude pour théorie des Jeux

Message non lude Adriweb » 25 Mar 2017, 11:35

Hamza.S a écrit:
Code: Tout sélectionner
cond:=listcond[1]
n:=dim(listcond)
for i,2,n
  cond:=cond and listcond[i]
endfor


Au passage, ceci est je pense plus clair:
Code: Tout sélectionner
cond:=true
n:=dim(listcond)
for i,1,n
  cond:=cond and listcond[i]
endfor

Il faudrait vraiment du forEach, map, reduce, etc. en Basic :P
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...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80%
 
Messages: 14599
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Programme d'étude pour théorie des Jeux

Message non lude Bisam » 26 Mar 2017, 12:52

Désolé pour la petite erreur dans mon code... J'ai tout tapé directement sur le forum, sans vérifier si ça marchait.
D'ailleurs, j'ai eu du bol en mettant les indices i et j de la jacobienne dans le bon ordre :p
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Programme d'étude pour théorie des Jeux

Message non lude Persalteas » 08 Avr 2017, 11:26

Bon, je ne trouve pas de façon de faire comprendre à solve une liste de variables sans les écrire en dur, donc je laisse tomber la dimension n...
Avec un exemple simple,
Code: Tout sélectionner
varlist:={x,y}
solve({3*x+2*y=0,y-x=−1},varlist)

me répond bêtement varlist=c1 and 3*x+2*y=0 and x-y=1.
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: Programme d'étude pour théorie des Jeux

Message non lude clifward » 08 Avr 2017, 11:30

Avec :
Code: Tout sélectionner
varlist:={x,y}
solve({3*x+2*y=0,y-x=−1},varlist[1])

ça marche, et ça renvoie x et y.
Par contre je sais pas si c'est généralisable dans des cas plus complexes...
(en écrivant juste une des variables du système, ça semble marcher)
Image
Avatar de l’utilisateur
clifwardMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 26.4%
 
Messages: 593
Images: 6
Inscription: 20 Sep 2015, 17:50
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: CentraleSupelec

Re: Programme d'étude pour théorie des Jeux

Message non lude Persalteas » 08 Avr 2017, 11:33

:8): :favorite:

EDIT: même question avec exp>list()...

Code: Tout sélectionner
expression:= x=0 and y=0 and z=1
varlist:={x,y,z}
exp>list(expression, varlist)


J'attendrais qu'il me réponde [0,0,1], mais il veut des noms de variables non définies.
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: Programme d'étude pour théorie des Jeux

Message non lude Bisam » 11 Avr 2017, 21:43

Tu peux tricher en retardant l'évaluation grâce à des chaînes de caractères, utilisées avec string et expr.
Code: Tout sélectionner
expression := x=0 and y=0 and z=1
varlist:={x,y,z}
expr( "exp►list(expression," & string(varlist) & ")" )
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Précédente

Retourner vers Nspire-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
816 utilisateurs:
>789 invités
>22 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)