Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |
de:create:functions:random_p [12.01.2015 21:15] – alexander.ritter | de:create:functions:random_p [12.01.2015 21:36] (aktuell) – alexander.ritter |
---|
| |
''int **random_p**(array //Verteilung//)'' | ''int **random_p**(array //Verteilung//)'' |
| |
Returns a number from the //distribution//. In doing so, each number can be assigned an individual probability. | |
| |
Gibt eine Zahl aus der //Verteilung// zurück. Jeder Zahl kann dabei eine individuelle Wahrscheinlichkeit zugeordnet werden. | Gibt eine Zahl aus der //Verteilung// zurück. Jeder Zahl kann dabei eine individuelle Wahrscheinlichkeit zugeordnet werden. |
| |
* //Verteilung//\\ An array which specifies the possible numbers as keys, and their probabilities as values. Therefore, each number is assigned a probability (number ''%%=>%%'' probability). The probability can be specified as a percentage (e.g. ''0.25''), or as a relative proportion (e.g. ''20''). | |
| |
| |
* //Verteilung//\\ Ein Array, welches die möglichen Zahlen als Schlüssel und deren Wahrscheinlichkeit als Wert angibt. Es wird also jeder Zahl eine Wahrscheinlichkeit zugeordnet (Zahl ''%%=>%%'' Wahrscheinlichkeit). Die Wahrscheinlichkeit kann als Anteil (z.B. ''0.25'') oder als relativer Anteil (z.B. ''20'') angegeben werden. | * //Verteilung//\\ Ein Array, welches die möglichen Zahlen als Schlüssel und deren Wahrscheinlichkeit als Wert angibt. Es wird also jeder Zahl eine Wahrscheinlichkeit zugeordnet (Zahl ''%%=>%%'' Wahrscheinlichkeit). Die Wahrscheinlichkeit kann als Anteil (z.B. ''0.25'') oder als relativer Anteil (z.B. ''20'') angegeben werden. |
| |
**Note:** The distribution of the drawn values only converges once there have been many draws (n > 1000) of the distribution specified. If you are working with a lower number of cases, use a [[:en:create:random_urns|randomization with urns]], and enter some numbers more frequently in the urn, if these should be drawn more frequently. | |
| |
**Wichtig:** Die Verteilung der gezogenen Werte nähert sich erst bei vielen Ziehungen (N > 1000) der angegeben Verteilung an. Falls Sie mit geringeren Fallzahlen arbeiten, verwenden Sie eine [[ | **Wichtig:** Die Verteilung der gezogenen Werte nähert sich erst bei vielen Ziehungen (N > 1000) der angegeben Verteilung an. Falls Sie mit geringeren Fallzahlen arbeiten, verwenden Sie eine [[ |
:de:create:random_urns|Randomisierung mit Urnen]] und tragen Sie manche Zahlen ggf. häufiger in der Urne ein, wenn diese häufiger gezogen werden sollen. | :de:create:random_urns|Randomisierung mit Urnen]] und tragen Sie manche Zahlen ggf. häufiger in der Urne ein, wenn diese häufiger gezogen werden sollen. |
| |
**Note:** Use the function [[:en:create:functions:put|put()]]'', to save the drawn value in the data record. | |
| |
**Wichtig:** Verwenden Sie die Funktion ''[[:de:create:functions:put|put()]]'', um den gezogenen Wert im Datensatz zu speichern. | **Wichtig:** Verwenden Sie die Funktion ''[[:de:create:functions:put|put()]]'', um den gezogenen Wert im Datensatz zu speichern. |
| |
| |
===== Example 1 ===== | ===== Beispiel 1 ===== |
| |
In the first example, a number between 1 and 4 is drawn. Numbers 1 and 3 each have a 20% chance of being drawn, number 2 has a 50% chance, and number 4 has a 10% chance. All three random numbers in the first example have the same random distribution. | |
| |
Im ersten Beispiel wird eine Zahl zwischen 1 und 4 gewürfelt. Die 1 und 3 haben dabei eine Chance von je 20 %, die 2 eine Chance von 50 % und die 4 eine Chance von 10 %. Alle drei Zufallszahlen im ersten Beispiel haben die selbe Zufallsverteilung. | Im ersten Beispiel wird eine Zahl zwischen 1 und 4 gewürfelt. Die 1 und 3 haben dabei eine Chance von je 20 %, die 2 eine Chance von 50 % und die 4 eine Chance von 10 %. Alle drei Zufallszahlen im ersten Beispiel haben die selbe Zufallsverteilung. |
| |
<code php> | <code php> |
// Verteilung definieren Define distribution | // Verteilung definieren |
$verteilung = array( | $verteilung = array( |
1 => 20, | 1 => 20, |
4 => 10 | 4 => 10 |
); | ); |
// Zahl zwischen 1 und 4 würfeln Draw number between 1 and 4 | // Zahl zwischen 1 und 4 würfeln |
$zahl = random_p($verteilung); | $zahl = random_p($verteilung); |
// Ergebnis der Zufallsziehung in Variable IV01_01 speichern Save the result of the random draw | // Ergebnis der Zufallsziehung in Variable IV01_01 speichern |
put('IV01_01', $zahl); | put('IV01_01', $zahl); |
// Entsprechenden Stimulus anzeigen Show corresponding stimulus | // Entsprechenden Stimulus anzeigen |
if ($zahl == 1) { | if ($zahl == 1) { |
text('stimulusA'); | text('stimulusA'); |