Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Folge von Zufallszahlen wiederholt sich

Forumthread: Folge von Zufallszahlen wiederholt sich

Folge von Zufallszahlen wiederholt sich
02.01.2023 10:39:38
Zufallszahlen
Hallo
ich würde gerne eine Folge von 10^9 oder mehr Zufallszahlen erzeugen, die sich nicht wiederholt. Ich glaube, die Funktion "rnd" ist dafür nicht gut geeignet.
Habe festegestellt, dass mit der Funktion "rnd"
- jede Sequenz genau nach 2^24 mal wieder von vorne beginnt. Die Zufallszahl hat aber viel mehr Stellen als 2^24.
- Null als Zufallszahl genau alle 2^24 mal kommt. Das ist kein Zufall.
- eine beliebige Zahlm zum Beispiel Null Komma vier aber nie kommt, und wenn, dann höchst zufällig.
Gibt es irgendwo etwas zu lesen? Ich finde, dass das schon eine erwähnenswerte Einschränkung ist.
LG, Ludwig
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Folge von Zufallszahlen wiederholt sich
02.01.2023 11:00:23
Zufallszahlen
Deswegen heissen ja auch computergenerierte Zufallszahlen "Pseudozufallszahlen"
Aber wenn du mal auch die "Bedienungsanleitung" von rnd durchliest, stösst du auf:
Randomize timer
und
x=rnd(timer) bzw x=rnd(number)
" Da das number-Argument nicht angegeben wurde, verwendet Randomize den Rückgabewert aus der Timer-Funktion als neuen see-Wert."
Anzeige
AW: Folge von Zufallszahlen wiederholt sich
02.01.2023 11:07:30
Zufallszahlen
Hi
Spasseshalber habe ich mal noch die künstliche Intelligenz (ChatGPT) bemüht und die Antwort automatisch übersetzt:
wie zufällig ist die vba-funktion rnd?
Die Rnd-Funktion in VBA (Visual Basic for Applications) wird verwendet, um Zufallszahlen zu generieren. Es erzeugt eine Zufallszahl zwischen 0 und 1, und es kann dazu gebracht werden, andere Zufallszahlen zu erzeugen, indem arithmetische Operationen mit dem Ergebnis durchgeführt werden.
Die Rnd-Funktion basiert auf einem Pseudozufallszahlengenerator, einer mathematischen Funktion, die eine Folge von zufallsähnlichen Zahlen erzeugt. Pseudozufallszahlengeneratoren sind nicht wirklich zufällig, aber sie erzeugen eine Folge von Zahlen, die schwer vorhersagbar ist und statistische Eigenschaften hat, die denen echter Zufallszahlen ähneln.
Die Qualität der von der Rnd-Funktion erzeugten Zufallszahlen hängt vom zugrunde liegenden Pseudozufallszahlengenerator ab, der verwendet wird. Im Allgemeinen ist die Rnd-Funktion für die meisten Zwecke gut genug, aber möglicherweise nicht für Anwendungen geeignet, die extrem hochwertige Zufallszahlen erfordern, wie z. B. kryptografische Anwendungen.
cu
Chris
Anzeige
AW: Folge von Zufallszahlen wiederholt sich
02.01.2023 12:21:03
Zufallszahlen
Hallo onur,
danke für Deine Antwort. Dass hier "Pseudozufallszahlen" geliefert werden, ist mir schon klar. Damit kann ich leben. Immerhin erspart es mir jahrelanges Würfeln.
Weisst Du vielleicht, wie viele Folgen von Zufallszahlen man mit randomize generieren kann? Denn dazu konnte ich der "Bedienungsanleitung" von rnd nichts lesen. Das wäre aber wesentlich für mein eingangs beschriebenes Vorhaben.
LG, Ludwig
Anzeige
AW: Folge von Zufallszahlen wiederholt sich
02.01.2023 12:22:31
Zufallszahlen
Hallo onur,
danke für Deine Antwort. Dass hier "Pseudozufallszahlen" geliefert werden, ist mir schon klar. Damit kann ich leben. Immerhin erspart es mir jahrelanges Würfeln.
Weisst Du vielleicht, wie viele Folgen von Zufallszahlen man mit randomize generieren kann? Denn dazu konnte ich der "Bedienungsanleitung" von rnd nichts lesen. Das wäre aber wesentlich für mein eingangs beschriebenes Vorhaben.
LG, Ludwig
Anzeige
AW: Folge von Zufallszahlen wiederholt sich
02.01.2023 12:36:50
Zufallszahlen
immer, wenn du randomize benutzt, wird eine neue Folge generiert. Also immer zwischendurch mal (z.B. jedes 100. mal) randomize einbauen.
Ich benutze immer am Anfang Randomize Timer und danach immer Rnd(Timer). Das reicht mir.
AW: Folge von Zufallszahlen wiederholt sich
02.01.2023 16:26:45
Zufallszahlen
Hi
ich weiß zwar nicht, ob man das irgendwo lesen kann, aber meinen Tests nach funktioniert das mit den Zufallszahlen so.
Excel erzeugt keine Zufallszahlen, sondern hat einfach eine Liste von 16.777.216 (2^24) Zahlen eingespeichert.
Diese Liste geht Excel der Reihe nach durch, bei jedem RND wird einfach der nächste Wert aus der Liste genommen.
über die Funktion Randomize bestimmt man, an welchem Stelle man in die Liste einsteigt.
Verwendet man immer den selben Randomize-Wert, bekommt man auch nach jedem Neustart der Datei die selbe Reihe an Zufallszahlen.
Hat Excel die Liste durch, fängt es einfach von vorne wieder an, dh alle 2^24 Zufallszahlen wiederholt sich die Reihe.
Gruß Daniel
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zufallszahlen in Excel erzeugen und wiederholen


Schritt-für-Schritt-Anleitung

  1. Zufallszahlen generieren: Um in Excel eine Zufallszahl zwischen 0 und 1 zu generieren, kannst du die Funktion =RAND() verwenden. Für eine Zufallszahl zwischen einem bestimmten Bereich (z.B. 1 bis 100) nutzt du =RANDBETWEEN(1, 100).

  2. Verwendung von VBA: Wenn du VBA nutzen möchtest, öffne den VBA-Editor (Alt + F11) und füge ein neues Modul hinzu. Du kannst die Funktion Rnd() verwenden, um eine Zufallszahl zu generieren. Beispiel:

    Sub Zufallszahl()
       Dim zahl As Double
       Randomize Timer ' Setzt den Startwert für die Zufallszahl
       zahl = Rnd() ' Gibt eine Zufallszahl zwischen 0 und 1 zurück
       MsgBox zahl
    End Sub
  3. Folgen von Zufallszahlen: Um eine Folge von Zufallszahlen zu generieren, solltest du Randomize jedes Mal verwenden, bevor du Rnd aufrufst, um sicherzustellen, dass du eine neue Zahl erhältst.

  4. Zufallszahlen speichern: Wenn du eine Liste von Zufallszahlen möchtest, kannst du die generierten Werte in eine Spalte einfügen und kopieren.


Häufige Fehler und Lösungen

  • Wiederholung von Zufallszahlen: Wenn du feststellst, dass sich die Zufallszahlen wiederholen, könnte das daran liegen, dass du die Funktion Randomize nicht korrekt verwendest. Stelle sicher, dass du Randomize Timer am Anfang deiner Funktion einfügst.

  • Funktioniert nicht in älteren Versionen: Einige ältere Excel-Versionen unterstützen möglicherweise nicht die neuesten Funktionen. Stelle sicher, dass du eine aktuelle Version verwendest.


Alternative Methoden

  • Excel Randomizer: Anstelle von Rnd() kannst du auch die Funktion RAND() verwenden, um mehr Zufallszahlen zu erzeugen. Mit RAND() erhältst du zwar keine ganzzahligen Werte, aber du kannst sie leicht in ganze Zahlen umwandeln.

  • VBA für komplexe Anforderungen: Wenn du spezielle Anforderungen hast, wie z.B. die Generierung von hochqualitativen Zufallszahlen für statistische Analysen, solltest du in Betracht ziehen, eine externe Bibliothek oder ein Add-In zu verwenden, das eine bessere Zufallszahlengenerierung bietet.


Praktische Beispiele

  1. Zufallszahlen in einer Liste:

    • Erstelle in Excel eine Liste von Zufallszahlen in einer Spalte mit der Formel =RANDBETWEEN(1,100) und ziehe die Ecke der Zelle nach unten, um die Formel auf die darunterliegenden Zellen anzuwenden.
  2. VBA zur Generierung von 10^9 Zufallszahlen:

    Sub GenerateRandomNumbers()
       Dim i As Long
       Dim zahl As Double
       Randomize Timer
       For i = 1 To 1000000000 ' 10^9
           zahl = Rnd()
           ' Hier kannst du die Zahl speichern oder weiterverarbeiten
       Next i
    End Sub

Tipps für Profis

  • Zufallszahlen für Simulationen: Nutze die RAND()-Funktion in Kombination mit anderen Funktionen, um die Zufallszahlen für Simulationen oder Modellierungen zu verwenden.

  • Optimierung: Wenn du viele Zufallszahlen benötigst, kann es effizienter sein, einen Algorithmus zu verwenden, der die Zufallszahlen in einem Schritt generiert, anstatt sie einzeln in einer Schleife zu erzeugen.


FAQ: Häufige Fragen

1. Wie viele Zufallszahlen kann ich mit Randomize generieren?
Es gibt theoretisch keine Begrenzung, aber Excel selbst hat eine Liste von 16.777.216 (2^24) Zahlen, die durchlaufen wird. Nach dieser Anzahl beginnt die Folge sich zu wiederholen.

2. Warum erhalte ich immer wieder die gleiche Zufallszahl?
Das kann passieren, wenn du Randomize nicht korrekt verwendest oder immer denselben Startwert für Randomize verwendest. Stelle sicher, dass du jedes Mal Randomize Timer aufrufst, um eine neue Sequenz zu starten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige