Якщо ви не проти написати маленький сценарій, щоб виконати те, що вам потрібно, я рекомендую зробити це в R , відкритій статистичній системі.
Наприклад, розгляньте цей однолінійний список, щоб отримати список зі 100 розподілених гауссівських номерів:
$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...
Розберемо це.
Стандартна Rкоманда приводить вас у інтерактивне програмування, що добре, якщо ви намагаєтеся розробити, як щось зробити вручну або будуєте щось поступово, але з вашого питання це здається, що вам просто потрібен список номерів відправити в іншу програму. Тому замість цього ми використовуємо Rscript, який більше схожий на традиційний інтерпретатор скриптів Unix: ви можете передавати йому ім'я файлу, що містить R-скрипт, або використовувати стандартний -eпрапор, щоб передати весь текст програми в командному рядку.
rnorm()є функцією R для отримання списку випадкових чисел із "нормальним" або гауссовим розподілом. Це займає до трьох параметрів, лише перший з яких потрібно, скільки цифр ви хочете. Ми попросили 100. Взявши за замовчуванням для двох інших необов’язкових параметрів, ми отримуємо середнє значення 0 і стандартне відхилення 1.
Арифметика після цього просто показує класну особливість мови R: ви можете робити арифметику на цілих таблицях даних, матриць тощо, так само легко, як і скалярне значення на більш типовій мові. Я помножив усі створені значення на 100 і додав до них 100, просто тому, що можу. Оскільки R є повноцінною мовою програмування, обмежень у тому, що ви могли зробити з цим списком чисел, немає. Це перевага використання такої системи замість команди з фіксованим призначенням, як jot.
Ми передаємо результат цієї попередньої операції write()функції, яка записує дані у файл за замовчуванням, але ми перекрили це, передаючи порожній рядок для другого параметра, ім'я файлу, тому він записує таблицю в натомість термінал. Наступний параметр, 1якраз і говорить про те, що ми хочемо, щоб наш вихід був у форматі однієї колонки.
R має багато інших функцій генерації випадкових чисел, вбудованих у базову систему. Наприклад, ми можемо імітувати jotкоманду у відповіді lcpriani за допомогою цього сценарію:
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
Тут ми використовуємо runif()для отримання 10 рівномірно розподілених випадкових чисел від 12 до 27. Як і rnorm(), яку ми використовували вище, ця функція повертає значення з плаваючою комою, тому ми маємо round()їх до їх найближчих цілих значень, перш ніж записувати їх на екран.
R також має багатий набір доповнень у CRAN , сховище пакетів, модельоване на CPAN Perl. Одне, що може вас зацікавити, називається просто випадковим , який виступає інтерфейсом до random.org , сервісу, який повертає справжні випадкові числа, породжені атмосферним шумом.
R - це повне середовище програмування, тому, можливо, вам фактично не потрібно виводити свої цифри з R у текстовому форматі. Можливо, ви зможете повністю вирішити свою проблему в Р. Спробуйте.