FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar Marc Hier à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar Marc Hier à 12:22

» Philharmusique
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
 - La fonction X = RND(1) est elle vraiment aléatoire ? Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 La fonction X = RND(1) est elle vraiment aléatoire ?

Aller en bas 
+2
Klaus
papydall
6 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 1:08

Salut à tous !
La valeur de la fonction X = RND(1) est-elle vraiment aléatoire ?
Pour cette lancinante question, voici 4 petits programmes pour y répondre

Prog 1 : Générateur aléatoire : Test d'équidistribution

Code:

' Générateur aléatoire : Test d'équidistribution
'
' La fonction X = RND(1) fournit un nombre entre 0 et 1
' Le générateur aléatoire est censé être équidistribué sur 0-1
' Principe : On découpe l'intervalle en un certain nombre de tranches égales
' (30 dans ce cas précis), on effectue un grand nombre de tirages aléatoires
' (300 par exemple) et on compte le nombre de fois où on est tombé dans chaque
' tranche. Si on a 300 tirages pour 30 tranches, on attend en moyenne 10 tirages
' par tranche. Plus on s'éloigne de 10, mois la distributionest conforme à ce que
' l'on désire. On calcule pour chaque tranche la quantité :(N-10)*(N-10)/10 où
' N est le nombre de tirage dans cette tranche. Si l'on additionne cela sur toutes
' les tranches, on obtient un nombre (le chi carré de la distribution) qui est
' une mesure de la qualité de cette distribution. Plus le chi carré est petit,
' meilleur est la distribution.
' Pour une partition en 30 tranches comme celle employée dans ce programme,une
' valeur du chi carré inférieur à 20 est excellente et une valeur comprise entre
' 20 et 35 est tout à fait acceptable. Si, en revanche, vous obtenez une valeur
' supérieure à 50, votre gégérateur aléatoire est très suspect.

dim nbtranches, nbtirages : nbtranches = 30 : nbtirages = 300
dim t(nbtranches),n,k,x,y,i
label aleat

while n < nbtirages
    gosub aleat
    n = n + 1
    k = 1 + int(x * nbtranches) : t(k) = t(k) + 1
  '  print n
end_while
for i = 1 to nbtranches
    y = y + (t(i) - nbtirages/nbtranches) * (t(i) - nbtirages / nbtranches)
next i
y = y * nbtranches / nbtirages
print " Valeur du CHI^2 = " ; y
end

aleat:
x = rnd(1)
return

Prog 2 : Analyse graphique de la repartition bidimentionnelle


Code:

' Générateur aléatoire
' Analyse graphique de la repartition bidimentionnelle
'
' On trace des points au hasard sur l'écran en utilisant le générateur aléatoire
' et on constate de visu qu'ils sont bien ou non répartis au hasard.

dim nbpoints : nbpoints = 1000  : ' Augmenter ou diminuer cette valeur pour voir
dim x,y,xp,yp,n

label aleat

color 0,0,0,0 : 2d_pen_color 0,255,0 : font_color 0,255,0,0

while n < nbpoints
    gosub aleat : y = x : gosub aleat
' Transformation en coordonnées écran
    xp = 100 + 320 * x : yp = 100 + 240 * y
    2d_point xp,yp
    n = n + 1
    print_locate 10,10 : print n;  " / " ;nbpoints
end_while

end

aleat:
x = rnd(1)
return

Prog 3 : Calcul des paramètres statistiques du générateur aléatoire


Code:

' Générateur aléatoire
'
' Calcul des paramètres statistiques du générateur aléatoire

' Ce programme examine moyennes et écarts-types pour les tirages pairs et impairs
' Pour un nombre de tirages suffisant, les moyennes doivent évoluer autour de 0.5
' et les écarts-types autour de 0.288 ( 1/sqr(12) ).
' Ce programmes vérifie également si les tirages pairs et impairs sont indépendants
' en calculant leur coefficient de corrélation.

' Pour que votre générateur aléatoire soit correct, celui-ci doit être compris
' entre -0.05 et +0.05 (moins de 5% de corrélation).

dim nbtirages : nbtirages = 1000 : ' Valeur à modifier pour voir
dim n,x,y,sx,sy,xy,x2,y2,vx,vy,cv

label aleat

while n < nbtirages
    n = n + 1 : gosub aleat : y = x : gosub aleat
    sx = sx + x
    sy = sy + y
    xy = xy + x * y
    x2 = x2 + x * x
    y2 = y2 + y * y
end_while
vx = sqr((x2 - (sx * sx / n)) / (n - 1))
vy = sqr((y2 - (sy * sy / n)) / (n - 1))
cv = (xy - (sx * sy / n)) / (n - 1)
print "  S T A T I S T I Q U E S "
print
print "  Moyenne des tirages impairs    : " ; sx / n
print "  Moyenne des tirages pairs      : " ; sy / n
print "  Ecart type des tirages impairs : " ; vx
print "  Ecart type des tirages pairs    : " ; vy
print "  Covariance                      : " ; cv
print "  Coefficient de corrélation      : " ; cv /(vx * vy)
end

aleat:
x = rnd(1)
return


Prog 4 : Calcul de PI par la methode de Monte-Carlo


Code:

' Générateur aléatoire
' Calcul de PI par la methode de Monte-Carlo

' On considère un quart de cercle inscrit dans un carré de coté 1
' Le carré a une surface égale à 1
' Le quart de cercle a une surface égale à pi/4

' Principe de Monte-carlo :
'  si on trace un grand nombre de points au hasard dans le carré, le rapport
'  de ceux qui sont dans le quart de cercle sur le nombre total est égal au
'  rapport des surfaces , c-à-d  pi/4

' Méthode :
'  On tire un grand nombre N de points (X,Y) au hasard. Si X * X + y * y < 1,
'  le point est dans le cercle; alors on augmente P de 1 (P = nombre de points
'  dans le cercle).
'  Lorsque N est très grand P/N tend vers pi/4

' Cette méthode n'est pas très efficasse, mais c'est probablement la plus simple

dim x,y,n,p,a

caption 0, " <CLICK>  pour arrêter "
while scancode = 0
    x = rnd(1) : y = rnd(1) : n = n + 1
    print_locate 10,10
    print 4 * p / n
    if x*x + y*y < 1 then p = p + 1
end_while
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 2:04

Bonsoir.
C'est un vieux sujet qu'on a déjà évoqué ici.
C'est pour cette raison que Klaus a fait une dll, et peut-être Jean Debord.
Il faut rechercher les sujets. Ça date de bien un an, mais maintenant Sleep
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 4:07

Merci pour l'info.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 13:53

Citation :
La valeur de la fonction X = RND(1) est-elle vraiment aléatoire ?

Il faut bien voir comment fonctionne un générateur de nombres aléatoires. C'est toujours une simulation de hasard, à l'aide d'algorithmes plus ou moins sophistiqués, et de données de départ prises à des endroits spécifiques. Cela peut être lié à l'heure (le nombre de tics depuis le dernier boot, par exemple), le contenu d'une adresse mémoire spécifique, etc. Mais dans tous les cas, ce sont des informations de départ qui ne sont déjà pas aléatoires par définition, et on en dérive une valeur par un algorithme qui ne peut, en aucun cas, produire vraiment des valeurs aléatoires. C'est la raison pour laquelle certains langages de programmation (Fortran, par exemple) contiennent une fonction qui permet de changer la valeur de départ pour le générateur de nombres aléatoires ! Eh oui, il n'y a pas de hasard en programmation !

Les algorithmes se distinguent par leur aptitude à "peupler" un intervalle donné de façon plus ou moins homogène, avec le nombre croissant de valeurs générées. Mais cela n'a rien d'aléatoire. C'est un résultat voulu, construit dans l'architecture de l'algorithme. C'est pourquoi un parle aussi de "suites pseudo-aléatoires". Ce terme correspond déjà plus à la réalité. Et de toutes les manières, pour que l'effet statistique de "chances égales" pour une valeur soit sensible, il faut largement augmenter le nombre de tirages - au-delà de 100000, voir 1 million de tirages. Là, on peut mesurer la qualité de convergence de l'algorithme.

Mais il fait toujours garder dans l'esprit que dans in tirage vraiment aléatoire, même avec un très grand nombre de tirages, il est possible que certains nombres ne soient jamais tirés, et même que certains intervalles ne soient jamais touchés. Bien sûr, cela ne se produira pas avec un algorithme informatique, puisqu'ils sont conçus justement pour que cela ne se produise pas.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jean_debord

jean_debord


Nombre de messages : 1250
Age : 69
Localisation : Limoges
Date d'inscription : 21/09/2008

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 14:51

Voir mon article sur les DLL en Panoramic :

http://www.unilim.fr/pages_perso/jean.debord/panoramic/dll/panoramic_dll.htm

La DLL proprement dite se trouve ici :

http://www.unilim.fr/pages_perso/jean.debord/panoramic/ranmt.zip

Bon courage avec ces nombres (pseudo) aléatoires !
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
sergeauze

sergeauze


Nombre de messages : 391
Age : 71
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: re :La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 15:15

Salut à vous
Cette question a toujours attiré mon attention et j'apprécie
les réponses que Klaus lui apporte,avec des exemples
à l'appuit,et toute sa pedagogie.
Je vais tester les codes de papydal
Le lien vers un post qui traitait du sujet/
https://panoramic.1fr1.net/t924-hazard-et-classements?highlight=hazard

J'utilise parfois la dll de klaus mais j'ai du mal a l'adapter à des programmes de tirage au sort,en dehors de la demo
qu'il nous à fourni
j'aurais besoin à l'occasion de plus d'information de sa part
je sais qu'avec Panoramic 'j'enrichis..... mes connaissances .
Bonne fin de journée
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 16:40

Salut à tous !
Klaus, jean_debord, sergeauze merci pour la peine que vous avez prise pour me répondre. Merci pour les liens donnés. J’y étudierais les infos qui s’y trouve, le moment venu. Je ne savais pas que la question des nombres aléatoires eut été soulevée.
Merci de tout coeur!
A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 19:42

Den Startwert mit Zeit und Datum festlegen.
Dann gibt es immer einen zufälligen Startwert.

Severin

Les startwert de temps et date.
Il n'y a toujours une startwert accidentelle.

Severin
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 21:46

Traduction:
Fixer la valeur de départ avec l'heure et la date.
Il y a alors toujours une nouvelle valeur de départ aléatoire.

Severin

@Severin:
Leider kann Panoramic den Startwert nicht festlegen. Das geht auch nur in manchen Programmiersprachen (Fortran, ...), aber nicht in allen.

Malheuseusement, Panoramic ne sait pas imposer la valeur de départ. Cela ne marche de toutes façons que dans certains langages de programmation (Fortran, ...), mais dans dans tous.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 21:57

Ça marchait aussi, avec le QBasic, pour initialiser le générateur: fonction 'Randomize'.
Par exemple Randomize Timer, Timer étant une horloge au 1/18 de seconde démarrant à zéro à 0 heure.
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyJeu 29 Mar 2012 - 22:07


Fazit:

Jack ist gefragt.
Randomize ist möglich ????


Conclusion:
Jack est demandé.
randomize est possible ????

Severin
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptySam 31 Mar 2012 - 17:58

Ich hatte mal vor langer Zeit dieses Testprogramm geladen.
Habe vergessen woher. Es könnte helfen RND zu prüfen.

Eventuell kann jean_debord es Verbessern und Erklären.
Severin

J'avais chargé une fois il ya longtemps de ce programme de test.
Je ne sais plus où. Cela pourrait aider à envisager RND.

Peut-être que cela peut améliorer jean_debord et d'expliquer.
Severin


Code:
' *** Test von RND *************************************************************
'
DIm n%
' n% = 16384
n% = 56
DIM i%
DIM j%
DIM x(n%)
DIM sumx
DIM sumsqx
DIM mean
DIM meanTotal
DIM std
DIM stdTotal


' *** Form 0000
Full_space 0
PRINT
PRINT

FOR i% = 1 TO 10
sumx = 0
sumsqx = 0

FOR j% = 1 TO n%
' RANDOMIZE TIMER
x(j%) = RND(n%)
sumx = sumx + x(j%)
sumsqx = sumsqx + x(j%) * x(j%)

NEXT j%

mean = sumx / n%
std = SQR((sumsqx - sumx * sumx / n%) / (n% - 1))

Wait 1

PRINT mean,"  ", std
meanTotal = meanTotal + mean
stdTotal = stdTotal + std

NEXT i%
'
'
' ******************************************************************************
PRINT "-------------------------"
PRINT meanTotal / 10,"  ", stdTotal / 10
PRINT " .5000000 ";"  ", 1 / SQR(12)

' *****************************************************************************

' 4

' Dieses Format:
' mittlere Standardabweichung
' Mine: .4998024 .2888851 und



' *********************************************************************************
' Wenn Ihr RND den Test nicht besteht:

' If the RND function in your BASIC (or compiled BASIC) is not good Wenn der RND-Funktion in Ihrem BASIC (oder kompilierte BASIC) ist nicht gut
' enough for your requirements, must you give up? genug für Ihre Anforderungen, müssen Sie aufgeben? No, you can still Nein, kann man immer noch
' simulate the RND function with a few BASIC statements. simulieren die RND-Funktion mit ein paar grundlegende Aussagen. The best form Die beste Form
' of RNG is called a `mixed congruential' RNG. der RNG, heisst 'gemischtes Kongruenz "RNG. To implement this form of Um diese Form der Umsetzung
' RNG, you simply select a seed number `R' (which may be zero), multiply RNG, wählen Sie einfach einen Samen Zahl `R '(der Null sein kann), multiplizieren
' it by a selected number, add a different selected number, then save only bis eine ausgewählte Zahl, fügen eine andere ausgewählte Anzahl, dann nur zu speichern
' the decimal portion of the resulting number for both the random number die Dezimalstellen der resultierenden Zahl sowohl der Zufallszahl
' and for the seed number for the next random number. und für die Startnummer für die nächste Zufallszahl. That sounds rather Das klingt eher
' complicated, but it's really quite simple: Just use something like kompliziert, aber es ist wirklich ganz einfach:

' Verwenden Sie einfach so etwas wie
' P = 21 and Q = 0.3271,
' and the formula:
'  P = 21 und Q = 0,3271,
' und die Formel:

' R(n+1) = FRAC(R(n)*P+Q)
' R (n +1) = FRAC (R (n) * P + Q)

' Eine Unterroutine wie:

' 9000 R=R*P+Q :R=R-INT(R) :RETURN
' 9000 R = R * P + Q: R = R-INT (R): RETURN
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1250
Age : 69
Localisation : Limoges
Date d'inscription : 21/09/2008

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyDim 1 Avr 2012 - 15:24

Severin a écrit:

Peut-être que cela peut améliorer jean_debord et d'expliquer.

Je ne sais pas si je vais m'améliorer mais j'ai essayé de comprendre ce que fait ce programme Smile

Sauf erreur de ma part, le programme tire 10 échantillons comportant chacun n% nombres aléatoires répartis uniformément entre 0 et n%.

La moyenne théorique de ces n% nombres est n% / 2 et l'écart-type théorique est n% / sqrt(12)

(voir http://fr.wikipedia.org/wiki/Loi_uniforme_continue)

Pour chaque échantillon, le programme calcule la moyenne et l'écart-type, puis il calcule la moyenne de ces 10 moyennes et la moyenne de ces 10 écart-types. Il affiche les résultats ainsi que les valeurs théoriques.

Le programme comporte une erreur : il faut remplacer la dernière ligne par :
Code:

PRINT n% / 2, "                ", n% / SQR(12)

Les valeurs données dans la version originale correspondent à n% = 1

Voici le programme modifié :

Code:

DIM n%
n% = 56
DIM i%
DIM j%
DIM x(n%)
DIM sumx
DIM sumsqx
DIM mean
DIM meanTotal
DIM std
DIM stdTotal

Full_space 0
PRINT
PRINT

FOR i% = 1 TO 10
  sumx = 0
  sumsqx = 0

  FOR j% = 1 TO n%
    x(j%) = RND(n%)
    sumx = sumx + x(j%)
    sumsqx = sumsqx + x(j%) * x(j%)
  NEXT j%

  mean = sumx / n%
  std = SQR((sumsqx - sumx * sumx / n%) / (n% - 1))

  Wait 1

  PRINT mean,"  ", std
  meanTotal = meanTotal + mean
  stdTotal = stdTotal + std
NEXT i%

PRINT "-------------------------"
PRINT meanTotal / 10,"  ", stdTotal / 10
PRINT n% / 2, "                ", n% / SQR(12)

Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyDim 1 Avr 2012 - 15:50

@ jean_debord

Danke für deine Mühe.
Was sagen die statistischen Werte über die Funktion RND aus ?
Ist RND zufällig, wie in dem Beitrag gefragt ?
Severin


Merci de vous être dérangé.
Qu'est-ce que les valeurs statistiques de la fonction RND?
Est aléatoire RND, comme l'a demandé dans l'article?
Severin
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1250
Age : 69
Localisation : Limoges
Date d'inscription : 21/09/2008

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyLun 2 Avr 2012 - 10:26

Non, la fonction RND n'est pas vraiment aléatoire, mais aucun générateur ne l'est... certains sont plus aléatoires que d'autres !

P. ex. avec ma DLL (lien donné précédemment) on obtient de meilleurs résultats :

Code:

DIM n%
n% = 56
DIM i%
DIM j%
DIM x
DIM sumx
DIM sumsqx
DIM mean
DIM meanTotal
DIM std
DIM stdTotal
DIM res%

DLL_ON "ranmt.dll"

Full_space 0
PRINT
PRINT

FOR i% = 1 TO 10
  sumx = 0
  sumsqx = 0

  FOR j% = 1 TO n%
    res% = DLL_CALL1("RanMT", ADR(x))  : ' Reel aleatoire dans [0, 1[
    x = n% * x                        : ' Reel aleatoire dans [0, n[
    sumx = sumx + x
    sumsqx = sumsqx + x * x
  NEXT j%

  mean = sumx / n%
  std = SQR((sumsqx - sumx * sumx / n%) / (n% - 1))

  Wait 1

  PRINT mean,"  ", std
  meanTotal = meanTotal + mean
  stdTotal = stdTotal + std
NEXT i%

PRINT "-------------------------"
PRINT meanTotal / 10,"  ", stdTotal / 10
PRINT n% / 2, "                ", n% / SQR(12)

Note : j'ai supprimé le tableau x, qui n'était pas indispensable. Cela facilite l'appel de la DLL. Il semble qu'on ne puisse pas passer d'élément de tableau à une DLL.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? EmptyLun 2 Avr 2012 - 19:09

@ jean_debord

Danke für deine Arbeit.
Läuft mit DLL.
Am Wochenend hole ich mein Statistikbuch vom Boden.
Mal sehen was die Werte aussagen.
Severin


Je vous remercie pour votre travail.
Fonctionne avec DLL.
À la fin de semaine je vais prendre mon livre des statistiques à partir du plancher.
Voyons ce que les valeurs d'état.
Severin
Revenir en haut Aller en bas
Contenu sponsorisé





 - La fonction X = RND(1) est elle vraiment aléatoire ? Empty
MessageSujet: Re: La fonction X = RND(1) est elle vraiment aléatoire ?    - La fonction X = RND(1) est elle vraiment aléatoire ? Empty

Revenir en haut Aller en bas
 
La fonction X = RND(1) est elle vraiment aléatoire ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bienvenue clavecin
» lecteur MP3 aléatoire
» Statistiques sur le générateur pseudo-aléatoire
» Restitution Aléatoire d'une Image (Compilation ?)
» Il y t-il vraiment une erreur (IF/END_IF)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: