Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2497 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Programme sur TI-89

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programme sur TI-89

n°2256494
tgv2011
Posté le 23-04-2015 à 16:54:12  profilanswer
 

Bonjour et désolé de vous déranger.
 
J'ai une Texas TI-89 et j'ai trouvé un programme pour effectuer le test Mann Whitney Wilcoxon (Rank Sum Test) (voilà une explication: http://www.jybaudot.fr/Inferentielle/wilcoxon.html . On doit être autre ordonner les valeurs de deux listes par ordre croissants (a et b), donner un rang a chaque valeur et faire la somme des rangs de la liste A (la plus courtes). Et ça je sais pas faire.  
 
Cependant celui-là ne fonctionne pas (ou je n'arrive pas à le faire fonctionner).  
Je tiens a préciser que j'ai des connaissances ultra basique en programmation (j'en fait juste pour faire des calcules simples mais long et où les erreurs se glissent facilement).  
C'est pour l'épreuve de Biostatistique en première année de médecine qui n'est pas bouclable sans pleins de programmes pour faciliter les calculs.  
J'ai fait des recherches sur plusieurs sites et j'ai trouvé celui là (en anglais): http://people.wku.edu/david.neal/s [...] nksum.html
Voilà le programme:  
()
Prgm
ClrIO
Disp "1 alt. x<y","2 alt. x>y","3 alt. xy"
Input c
dist[1]»list1
dist[2]»list2
SortA list1 Ici la calculette me met Data Error
SortA list2
augment(list1,list2)»list3
SortA list3
dim(list1)»m
dim(list2)»n
For i,1,m+n
0»list4[i]
EndFor
list3»list6
augment(list3,{list3[1]-1})»list3
1»b
1»i
Lbl lbl1
While i<(m+n)
If list3[i]<list3[i+1]
Then
b»list4[i]
1+i»i
1+b»b
Goto lbl1
Else
1»j
b»s
Lbl lbl2
While list3[i]=list3[i+j]
s+b+j»s
1+j»j
Goto lbl2
EndWhile
s/j»t
For k,0,j-1
t»list4[i+k]
EndFor
i+j»i
b+j»b
Goto lbl1
EndIf
EndWhile
If i=m+n
Then
m+n»list4[i]
EndIf
1»i
0»s
0»j
Lbl lbl3
While iœm
Lbl lbl4
If list1[i]=list3[i+j]
Then
s+list4[i+j]»s
Else
1+j»j
Goto lbl4
EndIf
i+1»i
Goto lbl3
EndWhile
NewData dist,list1,list2,list6,list4
DelVar list6
(m+n)*(m+n+1)/2»t
m*(m+n+1)/2»u
§(m*n*(m+n+1)/12)»d
If int(s)=s
Then
s+.5»z
.50-s\nrmcdff(z,u,u,d)»l
s-.5»z
.50-s\nrmcdff(u,z,u,d)»r
Else
.50-s\nrmcdff(s,u,u,d)»l
.50-s\nrmcdff(u,s,u,d)»r
EndIf
ClrIO
Disp "expected 1st sum"
Disp .5*m*(m+n+1)
Disp "sum of ranks"
Disp {s,t-s}
Disp "p value"
If c=1
Then
Disp l
Else
If c=2
Then
Disp r
Else
Disp 2*min(l,r)
EndIf
EndIf
EndPrgm
 
Je comprends quasiment rien, j'ai mis les données dans dans matrice et list stat mais ça bloque toujours.
 
Merci d'avance pour ceux qui veulent bien m'aider.

mood
Publicité
Posté le 23-04-2015 à 16:54:12  profilanswer
 

n°2256625
TotalRecal​l
Posté le 26-04-2015 à 15:51:42  profilanswer
 

Ca va faire plus de 10 ans que je n'ai pas programmé sur TI89 donc je ne vais pas me risquer à lire ton code, mais concernant l'erreur c'est pas juste que tu donnes en entrée un truc avec un format inattendu ?


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2256678
tgv2011
Posté le 27-04-2015 à 12:36:03  profilanswer
 

Merci beaucoup de m'avoir repondu :)  
En faite, quand je lance le programme, on me demande de choisir entre x>y, x<y et x=/=y. Je choisi la dernière options. Ensuite, on m'affiche "error data" et on me renvoie au code (ligne SortA list1).
Cependant, je suis même pas sur d'avoir enregistrer les valeurs à tester au bonne endroit...

n°2256696
rat de com​bat
attention rongeur méchant!
Posté le 27-04-2015 à 15:04:58  profilanswer
 

Il sort d'où ce dist[1] en début de programme, c'est quoi? Tu as mis tes données quelque part (dans dist?) avant de démarrer le programme?

n°2256708
rufo
Pas me confondre avec Lycos!
Posté le 27-04-2015 à 15:54:12  profilanswer
 

J'avais fait de la prog sur TI-92 il y a plus de 10 ans. Le signe » ne me rappelle rien (même si je me doute de ce qu'il doit faire); ça serait pas plutôt le signe "->" ?  
Pareil pour dist[1] en début de prog qui vient de nul part. Normalement, ça doit être une matrice ou liste enregistrée dans la calculatrice. Manifestement, soit elle existe pas, soit elle ne contient pas les données attendues. :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Programme sur TI-89

 

Sujets relatifs
URGENT : Pouvez-vous m'aider pour mon programme?Programme de Conversion base 10 vers 16 et inversement.
Probleme amélioration programmePreuve de programme
aide pour programme python !Programme ASCII85
Programme en VB Multicam[python] syntaxe execution programme externe
Programme jeux fort boyardAide programme java
Plus de sujets relatifs à : Programme sur TI-89


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR