Random getal
41 berichten
• Pagina 3 van 5 • 1, 2, 3, 4, 5
Re: Random getal
OEPS: heb een vergissing gemaakt.
Door twee bits te nemen krijg ik natuurlijk 0, 1, 2 of 3.
En jij hebt maar twee poorten.
Ik kan dit omzijlen, door er eentje te verwerpen. Bijvoorbeeld de drie.
Dit wordt dan de goede sketch:
Het levert deze output op:
Door twee bits te nemen krijg ik natuurlijk 0, 1, 2 of 3.
En jij hebt maar twee poorten.
Ik kan dit omzijlen, door er eentje te verwerpen. Bijvoorbeeld de drie.
Dit wordt dan de goede sketch:
- Code: Alles selecteren
byte willekeurigGetal;
byte tussenStap;
int poort[] = {8, 9, 10};
void setup(){
Serial.begin(9600);
}
void loop(){
for (int i = 0; i < 2; i++){
tussenStap = analogRead(A0) & 1;
tussenStap = tussenStap << i;
willekeurigGetal = willekeurigGetal | tussenStap;
}
if (willekeurigGetal!=3){
Serial.println(poort[willekeurigGetal]);
}
willekeurigGetal = 0;
}
Het levert deze output op:
9
9
10
10
8
9
9
8
10
10
8
10
10
9
9
9
9
8
9
10
10
8
10
8
8
8
10
10
9
10
9
9
8
10
8
9
8
8
10
Advertisement
Re: Random getal
en jij hebt natuurlijk drie poorten, niet twee zoals ik stel in bericht hierboven.
Zucht: waarom kunnen we niet eigen berichten wijzigen.
Fan Vouten Ken jouw leeren, maart staad nie so moi.
Zucht: waarom kunnen we niet eigen berichten wijzigen.
Fan Vouten Ken jouw leeren, maart staad nie so moi.
Re: Random getal
Trouwens,
Omdat het maar om een willekeurig getal van 2 bits gaat, doet deze sketch het zelfde:
Omdat het maar om een willekeurig getal van 2 bits gaat, doet deze sketch het zelfde:
- Code: Alles selecteren
byte WG;
void setup(){
Serial.begin(9600);
}
void loop(){
for (int i = 0; i < 2; i++){
WG = ((analogRead(A0) & 1)<<1)|(analogRead(A0) & 1);
}
if (WG!=3){
Serial.println(8 + WG);
}
WG = 0;
}
Re: Random getal
ik heb de output even laten lopen.
van de 31.999 getallen, waren er
10.013 een 8
10.985 een 9
11.001 een 10
Onevenredig weinig 8'en lijkt.
Maar wat meer testjes doen....
van de 31.999 getallen, waren er
10.013 een 8
10.985 een 9
11.001 een 10
Onevenredig weinig 8'en lijkt.
Maar wat meer testjes doen....
Re: Random getal
36.238 totaal:
een 8: 11.276 = +6,65%
een 9: 12.421 = -2,83%
een 10: 12.541 = -3,82% afwijking t.o.v. gemiddelde (= 36.238 / 3)
Opnieuw zelfde afwijking van verwachting.
Ik ben benieuwd hoe herhaalbaar dit is en of de variabele of 'culprit' gedetermineerd kan worden?
een 8: 11.276 = +6,65%
een 9: 12.421 = -2,83%
een 10: 12.541 = -3,82% afwijking t.o.v. gemiddelde (= 36.238 / 3)
Opnieuw zelfde afwijking van verwachting.
Ik ben benieuwd hoe herhaalbaar dit is en of de variabele of 'culprit' gedetermineerd kan worden?
Re: Random getal
er stond nog een onnodige loop in mijn sketch. Dit is beter.
Nu even kijken of het uitmaakt op de gemiddelden....
- Code: Alles selecteren
byte WG;
void setup(){
Serial.begin(9600);
}
void loop(){
WG = ((analogRead(A0) & 1)<<1)|(analogRead(A0) & 1);
if (WG!=3){
Serial.println(8+WG);
}
}
Nu even kijken of het uitmaakt op de gemiddelden....
Re: Random getal
85.061 totaal:
een 8: 24.801
een 9: 30.889
een 10: 30.091
Er is nu minder verschil tussen 9 en 10.
Maar minder '8' betekent minder '0'-LSB dan '1' Least Significan Bitjes op de Floating Analoog naar digitaal arduino pinnetje. Hmmm?
Misschien de WS!=3 veranderen in WS!=0 ?
48.113
een 8: 17.343
een 9: 17.476
een 10: 13.314
een 8: 24.801
een 9: 30.889
een 10: 30.091
Er is nu minder verschil tussen 9 en 10.
Maar minder '8' betekent minder '0'-LSB dan '1' Least Significan Bitjes op de Floating Analoog naar digitaal arduino pinnetje. Hmmm?
Misschien de WS!=3 veranderen in WS!=0 ?
48.113
een 8: 17.343
een 9: 17.476
een 10: 13.314
Re: Random getal
Ik heb de eerste sketch weer gepakt. Voor alle vereenvoudigingen.
Die geeft dit:
tot.100.480
28.137
36.021
36.322
Wie het snapt mag het zeggen.
Die geeft dit:
tot.100.480
28.137
36.021
36.322
Wie het snapt mag het zeggen.
41 berichten
• Pagina 3 van 5 • 1, 2, 3, 4, 5
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten