Как сгенерировать N чисел от 0 до 1, которые следуют шаблону экспоненциального убывания (в Python)? - PullRequest
0 голосов
/ 22 апреля 2020

Я хотел бы создать 320 номеров (X1, X2 .... X320) в диапазоне от 0-1 до 320 дней:

Дата | Значение
2020-03-18 X1
2020-03-19 X2

...
2021-01-31 X320

Чтобы при построении графика "Значение "против" Дата ", числа следуют по экспоненциальному закону затухания во времени.

Какой правильный и эффективный способ сделать это в Python? Были изо всех сил, чтобы понять это.
Легкая часть состоит в том, чтобы сгенерировать 320 чисел, которые все вместе соответствуют экспоненциальному шаблону затухания, но теперь я хотел бы, чтобы эти 320 чисел имели этот шаблон во времени - это сложная часть.

Большое спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 22 апреля 2020

Используйте numpy и уравнение экспоненциального убывания. Обратитесь к коду.

def exponential_decay(a, b, N):
    # a, b: exponential decay parameter
    # N: number of samples 
    return a * (1-b) ** np.arange(N)

print(exponential_decay(1, 0.5, 320))
0 голосов
/ 22 апреля 2020

Насколько я понимаю, вам нужно 320 отсчетов вдоль кривой экспоненциального затухания. Это просто:

import numpy as np

lamb = 0.01
xs = np.linspace(1,320,320)
ys = np.exp(-lamb * xs)

Вы можете выбрать свой параметр затухания, лямбда, однако это уместно.

...