рекурсивная векторизация Python с помощью временных рядов
У меня есть Timeseries (ы), которые должны быть обработаны рекурсивно, чтобы получить результат timeseries (res). Вот мой пример кода:
res=s.copy()*0
res[1]=k # k is a constant
for i in range(2,len(s)):
res[i]=c1*(s[i]+s[i-1])/2 +c2*res[i-1]+c3*res[i-2]
где c1, c2, c3 - постоянные. Это работает правильно, но яЯ хотел бы использовать векторизацию, и я попытался с:
res[2:]=c1*(s[2:]+s[1:-1])/2+c2*res[1:-1]+c3*res[0:-2]
но я получаюValueError: не удалось передать операнды вместе с фигурами (1016) (1018) "
если я попробую с
res=c1*(s[2:]+s[1:-1])/2+c2*res[1:-1]+c3*res[0:-2]
Безразлично»не дает никакой ошибки, но я неt получить правильный результат, потому что res [0] и res [1] должны быть инициализированы до того, как будут выполнены вычисления. Есть ли способ обработать его с помощью векторизации?
Любая помощь будет оценена, спасибо!