Создать случайные данные, которые увеличиваются к определенной точке

Вот мой рабочий файл systemd:

[Unit]
Description=Python app
# Requirements
Requires=network.target
# Dependency ordering
After=network.target

[Service]
# Let processes take awhile to start up
TimeoutStartSec=0
RestartSec=10
Restart=always
Environment="APP_SITE_SETTINGS=/home/app/.config/settings.cfg"
Environment="PYTHONPATH=/home/app/.local/lib/python3.6/site-packages"
WorkingDirectory=/home/app/app-site

User=app
Group=app
PermissionsStartOnly=true

KillSignal=SIGQUIT
Type=notify
NotifyAccess=all

# Main process
ExecStartPre=/bin/mkdir -p /run/app
ExecStartPre=/bin/chown app:app /run/app
#ExecStartPre=source scl_source enable rh-python36
ExecStart=/usr/bin/scl enable rh-python36 -- /home/app/.local/bin/pipenv run uwsgi \
  --socket 127.0.0.1:6003 \
  --buffer-size 65535 \
  --enable-threads \
  --single-interpreter \
  --threads 1 \
  -L \
  --stats /run/app/uwsgi_stats.socket \
  --lazy-apps \
  --master-fifo /run/stocks/uwsgimasterfifo \
  --processes 1 \
  --harakiri 960 \
  --max-worker-lifetime=21600 \
  --ignore-sigpipe \
  --ignore-write-errors \
  --disable-write-exception \
  --mount /=run:app \
  --manage-script-name

[Install]
WantedBy=multi-user.target
2
задан Mad Physicist 20 January 2019 в 06:30
поделиться

2 ответа

Еще один способ сделать это - создать отрезок, который начинается и заканчивается в нужных вам позициях. Затем возьмите его середину и переместите случайное количество вверх или вниз. Теперь возьмите середины двух вновь созданных отрезков и переместите их случайным образом вверх или вниз. Повторяйте этот процесс рекурсивно, пока не достигнете нужного разрешения.

Это называется алгоритм смещения средней точки.

0
ответ дан user1118321 20 January 2019 в 06:30
поделиться

Вы можете добавить белый шум к данным. Он работает лучше в сочетании с другими показанными методами, но также может использоваться сам по себе, если вам не нужно иметь много структуры в вашем шуме:

x = np.linspace(0, x_max, n_points)
y = np.linspace(0, y_max, n_points) + np.random.normal(size=n_points)

Если вы хотите, чтобы конечные точки быть исправленным, вы должны держать их постоянными:

y = np.linspace(0, y_max, n_points)
y[1:-1] += np.random.normal(size=n_points - 2)
0
ответ дан Mad Physicist 20 January 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: