Wenn es Ihnen nichts ausmacht, ein kleines Skript zu schreiben, um das zu tun, was Sie brauchen, würde ich empfehlen, es in R , dem Open-Source-Statistiksystem, zu tun .
Betrachten Sie beispielsweise diesen Einzeiler, um eine Liste von 100 Gauß-verteilten Zahlen zu erhalten:
$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...
Lassen Sie uns das zusammenfassen.
Der Standardbefehl R
bringt Sie in eine interaktive Programmierumgebung. Dies ist in Ordnung, wenn Sie versuchen, etwas von Hand zu tun oder schrittweise aufzubauen. Aus Ihrer Frage geht jedoch hervor, dass Sie nur eine Liste von Zahlen benötigen an ein anderes Programm senden. Stattdessen verwenden wir Rscript
, das sich eher wie ein herkömmlicher Unix-Skriptinterpreter verhält: Sie können ihm den Namen einer Datei übergeben, die ein R-Skript enthält, oder das Standardflag -e
verwenden, um den gesamten Programmtext in der Befehlszeile zu übergeben.
rnorm()
ist die R-Funktion, um eine Liste von Zufallszahlen mit der "normalen" oder Gaußschen Verteilung zu erhalten. Es werden bis zu drei Parameter benötigt, von denen nur der erste erforderlich ist, wie viele Zahlen Sie möchten. Wir haben nach 100 gefragt. Wenn wir die Standardeinstellungen für die beiden anderen optionalen Parameter übernehmen, erhalten wir einen Mittelwert von 0 und eine Standardabweichung von 1.
Die Arithmetik danach zeigt nur eine coole Funktion der R-Sprache: Sie können Arithmetik für ganze Datentabellen, Matrizen usw. genauso einfach ausführen wie einen Skalarwert in einer typischeren Sprache. Ich habe alle generierten Werte mit 100 multipliziert und 100 hinzugefügt, nur weil ich kann. Da R eine vollwertige Programmiersprache ist, gibt es keine Begrenzung für die Dinge, die Sie mit dieser Liste von Zahlen tun können. Das ist der Vorteil der Verwendung eines solchen Systems anstelle eines Befehls mit festem Zweck wie jot
.
Wir übergeben das Ergebnis dieser vorherigen Operation an die write()
Funktion, die die Daten standardmäßig in eine Datei schreibt. Wir haben dies jedoch überschrieben, indem wir eine leere Zeichenfolge für den zweiten Parameter, den Dateinamen, übergeben, sodass die Tabelle in geschrieben wird das Terminal stattdessen. Der nächste Parameter 1
sagt nur, dass wir unsere Ausgabe im einspaltigen Format wünschen.
R verfügt über viele andere Funktionen zur Erzeugung von Zufallszahlen, die in das Basissystem integriert sind. Zum Beispiel können wir den jot
Befehl in lcprianis Antwort mit diesem Skript nachahmen :
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
Hier verwenden wir runif()
, um 10 gleichmäßig verteilte Zufallszahlen von 12 bis 27 zu erhalten. Wie rnorm()
oben verwendet, gibt diese Funktion Gleitkommawerte zurück, sodass wir round()
sie auf ihre nächsten ganzzahligen Werte setzen müssen, bevor wir sie auf den Bildschirm schreiben.
R verfügt außerdem über eine Reihe von Add-Ons in CRAN , einem Paket-Repository, das dem CPAN von Perl nachempfunden ist. Eine, die Sie interessieren könnte, heißt einfach random und fungiert als Schnittstelle zu random.org , einem Dienst, der echte Zufallszahlen zurückgibt, die aus atmosphärischem Rauschen generiert werden.
R ist eine vollständige Programmierumgebung, daher müssen Sie Ihre Zahlen möglicherweise nicht im Textformat aus R herausholen. Möglicherweise können Sie Ihr Problem vollständig in R lösen. Probieren Sie es aus.