Poster un nouveau sujet Poster une réponse
loi normale
Auteur Message
blabla.fr
Invité
Posté le : Lun 15 Avr 2013, 19:24   Citer 

Bonjour! J'ai une ti 82 et je ne sais pas comment calculer une loi normale avec, ce n'est pas indiqué dans la notice et je n'ai pas le menu "distrib" comme sur la ti 82 stats, est ce qu'elle ne fait pas cette fonction? merci d'avance

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 15 Avr 2013, 20:40   Citer 

J'ai parcouru les manuels et émulé les ti82/ti82stat sans voir trace des lois normales dans la ti82.

Je peux te suggérer d'utiliser un programme pour effectuer les opérations les plus simples de la loi normale.
Je ne sais pas s'il en existe, il faudrait chercher.

J'ai bricolé ceci, je ne garantit pas sa validité, je ne maîtrise pas le domaine statistique, j'ai lu le manuel et réfléchi.

Code
//je remplace sigma par S et mu par U, et zone par Z
// par défaut, la ti82stat prendrait S=1 et U=0
// T et Y sont muettes, on peut les changer si on évite les conflits ; T donnera le résultat de invNorm() et Y est seulement une sauvegarde
Prompt X,U,S,A,B,Z
X->Y
"e^(-(X-U)^2/(2S^2))/(Srac(2pi->Y1     // "normalpdf(X,U,S->Y1
fnInt(Y1,X,A,B->R                      // normalcdf(A,B,U,S->R
solve(fnInt(Y1,X,-1E99,T)-Z,T,U        // invNorm(Z,U,S->T
Disp Y1(Y),R,T

### EDIT 16 avril :

normalcdf et normalpdf semblent justes.

J'ai des soucis avec le test de invNorm :
-1) la calculatrice sature facilement avec des probablités proches de 0 ou de -infini, d'où erreurs overflow/capacité avec 1E-99~~0 et -9E99 (-infini) et cause aussi des erreurs d'intervalles innattendue ("bad guess")
-2) la fonction Solve que j'utilise pour simuler invNorm ne modifie pas T

J'ai tenté de remplacer le -1E99 par une fonction de U et S qui assure une valeur valide et assurant une probabilité suffisamment proche de zéro, mais ce n'est pas au point.

solve devrait selon moi affecter T.

### EDIT 27 avril : En clair retiens que la fonction que j'ai écrite avec solve() est défectueuse mais que les deux autres semblent correctes.

### EDIT 04 mai : J'ai trouvé les solutions, et elles sont appliquées indirectement dans mon prochain message à balise code.
Pour corriger le programme de ce message :
1) remplacer -1E99
2) ajouter "->T" derrière la fonction solve

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
blabla.fr
Invité
Posté le : Sam 27 Avr 2013, 15:30   Citer 

je t'avoue que je ne comprend rien de ce que tu as expliqué en dessous de ton programme mais je vais essayer de le reproduire. J'éspère que ça marchera je n'ai pas envie de devoir racheter une calto alors que dans 2mois elle cessera définitivement de me servir (si j'ai mon bac^^). Je suis pas douée pour faire des programmes d'ailleurs j'ai jamais compris comment ça marchait mais je vais me motiver! Hors de question de louper le bac pour des maths! merci beaucoup de ton aide je te dirais si ça a marché et si c'est le cas tu es trop fort!

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 27 Avr 2013, 16:20   Citer 

retiens surtout que les deux premières fonctions semblent correctes mais que la dernière ne marche pas.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 04 Mai 2013, 19:33   Citer 

J'ai trouvé le problème. Je croyais que solve() modifiait la variable (T) comme le menu solveur, mais ce n'est pas le cas.
Donc il faut ajoûter "->T" derrière la fonction solve


####

-9E99 sature la calculatrice alors on doit choisir la borne judicieusement.

Il suffit de poser une borne inférieure telle que U-10S pour que le calcul pratique fonctionne correctement et avec une faible erreur pour toute situation.
En augmentant 10 cela allonge le calcul et affine le résultat.

Cela se base sur les propriétés de la loi normale. Peu importe U et S, c'est le coefficient A dans U-AS qui contrôle la valeur théorique de la probabilité.

####

On peut afficher les résultats au fur et à mesure, ainsi on pourra noter les premiers résultats sans attendre la fin si on n'en n'a pas besoin.

Saches qu'on peut imposer une tolérance à l'intégrale que j'utilise pour les fonctions 2 et 3.
Affiner cette tolérance allonge la durée des calculs mais affine le résultat.
La tolérance par défaut de l'intégrale est 10^-5
Et puis saches que la fonction de la ti82stats donne un résultat un peu plus précis, mais que cela n'a différé dans mon test que de 10^-9

Désormais T sera la tolérance.

Y ne sert plus à rien puisque les fonctions que j'utilise ne modifient pas X.

Code
//sigma=S, mu=U, "zone"=Z
// par défaut, la ti82stat prendrait S=1 et U=0
// T tolérance
// Z est l'image dont on cherche l'antécédent par P(X<=Z)
// remplacez U-10S par un autre U-kS pour affiner ou non
Prompt X,U,S,A,B,Z,T
"e^(-(X-U)^2/(2S^2))/(Srac(2pi->Y1  // "normalpdf(X,U,S->Y1 //normalFdp
Disp Y1
Disp fnInt(Y1,X,A,B,T                    // normalcdf(A,B,U,S //normalfRép
Disp solve(fnInt(Y1,X,U-10S,X)-Z,X,U     // invNorm(Z,U,S  //FracNormale

Si tu te demandes encore ce que je fais, il s'agit du calcul de la densité de probabilité (loi normale en un point), de la probabilité sur un intervalle (faite par une intégrale de la loi), et de la résolution de la fonction de répartition (proba de -infini à X est égal à Z et on cherche X qui correspond à ce Z)

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink