π
<-

Programme d'étude pour théorie des Jeux

Pour le TI-Basic sur Nspire

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

Unread postby 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: Select all
cond:=listcond[1]
n:=dim(listcond)
for i,2,n
  cond:=cond and listcond[i]
endfor

ça ne devrait pas poser problème
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby 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: Select all
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à ! ;)
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

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

Unread postby Adriweb » 25 Mar 2017, 11:35

Hamza.S wrote:
Code: Select all
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: Select all
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

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: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Online

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

Unread postby 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
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: Programme d'étude pour théorie des Jeux

Unread postby Persalteas » 08 Apr 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: Select all
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.
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

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

Unread postby clifward » 08 Apr 2017, 11:30

Avec :
Code: Select all
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
User avatar
clifwardMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 26.4%
 
Posts: 593
Images: 6
Joined: 20 Sep 2015, 17:50
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: CentraleSupelec

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

Unread postby Persalteas » 08 Apr 2017, 11:33

:8): :favorite:

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

Code: Select all
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.
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Online

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

Unread postby Bisam » 11 Apr 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: Select all
expression := x=0 and y=0 and z=1
varlist:={x,y,z}
expr( "exp►list(expression," & string(varlist) & ")" )
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

Previous

Return to Nspire-Basic

Who is online

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

-
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.
714 utilisateurs:
>654 invités
>53 membres
>7 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)