Thread: PHP: Normale verdeling
-
27-04-2005, 15:16 #1
PHP: Normale verdeling
Weet iemand of er een functie bestaat om een getal volgens een normale verdeling te laten berekenen? Ik zou in deze functie dan een random getal laten genereren, waardoor ik een dergelijke functie nodig heb.
I hate signaturesno votes
-
-
27-04-2005, 15:21 #2Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
ik snap uw uitleg niet.
no votes
-
27-04-2005, 15:31 #3
en nu in't nederlands?
- een "normale verdeling" is geen wiskundige term
- in een functie een random getal laten berekenen = random generator en die bestaat alno votes
-
27-04-2005, 16:04 #4Member
- Registered
- 17/07/02
- Location
- PSPACE
- Posts
- 4,603
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
-Een (standaard)normale verdeling is wel een wiskundige (uit de statistiek komende) term.
-Een gewone random generator zal wellicht van een uniforme verdeling uitgaan ipv een normale verdeling.
Maar ik zou het antwoord ook niet weten (schrijf desnoods zelf een functie ervoor?).Only art and science can and try to change the world, therefore paying millions to useless sportsmen is sheer idiocy.
The man, the legend: Dijkstrano votes
-
27-04-2005, 16:19 #5Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
php heeft maar 2 rand functies: rand en mt_rand
en er aub niet van uit gaan dat iedereen hier zo perfect weet wat een normale verdeling is
(ik zie volgende maand pas statistiek
)
no votes
-
27-04-2005, 16:31 #6Member
- Registered
- 02/08/02
- Location
- Leuven
- Posts
- 2,624
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
denk dat hij 'normaalverdeling' bedoelt
tijdje geleden nog met wiskunde gezien... enige wat k mij nog herinner is dat dat iets is met een grafiek van een klokvorm, dus bijvoorbeeld bij een enquete;
er wordt gevraagd hoeveel men maandelijks verdiend, en 90% van de ondervraagden zegt 'rond de 1000'. natuurlijk zijn er altijd die meer en minder verdienen, en dan krijg je zo'n grafiek:
.......::::|::::........
een klokvorm dus
geen idee wat t met php te maken kan hebben maja
no votes
-
27-04-2005, 20:19 #7
ik snap de bedoeling nog altijd niet hoor.
een normaalverdeling is een begrip, geen getal ofzo. het dichtste dat in de buurt komt is een std-deviatie. maar daar hebt ge nog altijd een reeks voor nodig...
PS: joyraider: gij bedoelt een gauss-curve, die gaat idd uit van het gemiddelde van een reeks en een standaardafwijking.no votes
-
27-04-2005, 21:42 #8
ik denk dat hij een functie wil die aan de hand van enkele parameters de getalwaarde kan uitrekenen van om het even welke normaalverdeling.
Dus de standaard normaalverdeling gecentreerd rond de Y-as en is de totale oppervlakte onder de curve exact 1, maar via de juiste formules kan je dit voor om het even welke normaalverdeling toepassen (bijv. waar opp. 2,12 )
Als het dat is wat je zoekt, dan ben ik er vrij zeker van dat dit niet bestaat.no votes
-
27-04-2005, 22:00 #9Member
- Registered
- 17/07/02
- Location
- PSPACE
- Posts
- 4,603
- iTrader
- 14 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/18
Hij zoekt allicht een functie die toevalsveranderlijken genereert (getallen dus) die in plaats van uniform verdeeld (elk met een gelijke kans) standaardnormaal verdeeld zijn (dus de kansen van bepaalde waarden rond het gemiddelde zullen idd hoger liggen).
Dus hij zoekt, denk ik, een functie die random waarden uitspuit in een bepaald interval maar niet met een gelijke kans, dus bv een functie die als je het interval [1,10] opgeeft meer kans heeft om 5,6,4 te genereren dan om 1 of 10 te genereren.
Een standaardverdeling is niet alleen een begrip, het is een begrip met bepaalde distributiefunctie hé.
Als het is wat servi zegt zal het zelf moeten geschreven worden allicht.Only art and science can and try to change the world, therefore paying millions to useless sportsmen is sheer idiocy.
The man, the legend: Dijkstrano votes
-
27-04-2005, 22:49 #10Member
- Registered
- 18/07/02
- Location
- Tongeren
- Posts
- 1,316
- iTrader
- 16 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Als ge die wiskundige term wilt berekenen
Dan moet ge uw wiskunde boek eens beter doorbladeren, want da is aan de hand van oneindige sommen da da eigenlijk berekend wordt, en wordt meestal benaderd door er een eindige som van te maken (bvb tot x=20 of zo laten gaan)
Da is wel in php dan te coderen als ge die definitie hebt (staat erges in ne wiskunde cursus van unief hier ma da ligt op zolder)
Maar ik vrees dat dat nie meteen een snelle manier gaat zijn om ff random getal te berekenen_.-´[COR Team Member]`-._
http://www.hp.beno votes
-
27-04-2005, 23:03 #11Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
pfft, work-around (zeker & vast niet perfect wiskundig)
1) random getal laten vinden (uw x-waarde)
2) uw x-waarde in de distributie-functie steken, dat resultaat y noemen
3) maximum van distributie-functie berekenen
4) uw random getal laten herleiden naar iets tussen 0 en maximum, laten we dat z noemen
5) y+z vergelijken met bv. maximum*1.8
6), indien >=, random waarde gevonden, anders doorgaan met dit algoritme
dit is echt niet zo denderend goed en maar op paar secs bed8, ik heb dan ook geen enkele voorkennis van statistiek en het is in het algemeen al moeilijk een functie te schrijven voor randoms.
Ik heb hier 1.8 gekozen als multiplier, dit is wel redelijk hoog en getallen die een lage functiewaarde bereiken zullen dan ook bijna nooit gevonden worden met dit algoritme. Ook zal het algoritme trager gaan als pakweg 1.4 als mutliplier omdat je veel meer zal moeten skippen
.
Maar nogmaals: dit is traag & allesbehalve perfect!
edit: owja, uw return is wel originele x-waarde he, niet de herleide tussen 0 en maxLast edited by killgore; 27-04-2005 at 23:04.
no votes
-
28-04-2005, 19:57 #12
en moest onze brave topic starter nu nog eens een beetje extra uitleg komen geven dan waren we hier niet allemaal in het wilde weg aan het gissen...
no votes
-
28-04-2005, 22:29 #13Member
- Registered
- 08/09/02
- Location
- Brussel
- Posts
- 4,974
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
zoekt hij niet gewoon een functie die de relatieve frequentietabel min of meer kan vervangen?
dat heeft dan weer iets te maken met de Gausskromme... het woord normaal vind daar zijn oorsprong vandaar dat ik al die rare links leg
//goeroe (hindoe)leermeester [de (hij); -s]
//portfoliono votes
-
29-04-2005, 19:44 #14
Vooreerst, excuseer voor men late reply. Ik was wel wat te vaag; zijn al wel interessante ideeën gekomen, maar helaas geen bruikbare.
Een normale verdeling is zoals al gezegd een klokfunctie zoals deGauss-curve, moest deze beter bekend zijn.
Op zich is het niet moeilijk om hiervoor waarden te laten berekenen, aangezien het functievoorschrift bekend is (zie http://nl.wikipedia.org/math/c0c62c7...626d4632e1.png waarbij f(x) en x onbekenden zijn)
f(x) stelt hierbij de kans voor dat x voor komt (grafisch: http://www.anu.edu.au/nceph/surfstat...fs/normMuX.gif waarbij μ het meest aantal keer voor komt). Men uiteindelijke bedoeling is een willekeurige x te berekenen, rekening houdende met de kans f(x) dat deze voorkomt.I hate signaturesno votes
-
29-04-2005, 19:50 #15
aaah, ge wilt dus een getal /x opgeven (het gemiddelde) om daarvan een reeks te produceren die zich gedraagt volgens een normaalverdeling / gauss curve ?
no votes
