Я не знаю Python, но для усредняющей части вы имеете в виду экспоненциально затухающий фильтр нижних частот формы
y_new = y_old + (input - y_old)*alpha
, где alpha = dt / tau, dt = timestep фильтра, tau = постоянная времени фильтра? (форма переменной-timestep заключается в следующем: просто клип dt / tau не должен быть больше 1.0)
y_new = y_old + (input - y_old)*dt/tau
Если вы хотите отфильтровать что-то вроде даты, убедитесь, что вы конвертируете в число с плавающей запятой, например, количество секунд с 1 января 1970 г.
variable = []
Теперь переменная
ссылается на пустой список * .
Конечно, это присваивание, а не объявление. В Python невозможно сказать, что «эта переменная никогда не должна ссылаться ни на что иное, кроме списка», поскольку Python динамически типизируется.
* Встроенный тип Python по умолчанию называется списком ], а не массив. Это упорядоченный контейнер произвольной длины, который может содержать разнородную коллекцию объектов (их типы не имеют значения и могут свободно смешиваться). Его не следует путать с модулем array
, который предлагает тип, более близкий к типу C array
; содержимое должно быть однородным (все одного типа), но длина по-прежнему динамична.
Обычно я просто выполняю a = [1,2,3]
, который на самом деле является списком
, но для массивов
посмотрите на это формальное определение
Вы ничего не объявляете в Python. Просто используй это. Я рекомендую вам начать с чего-нибудь вроде http://diveintopython.net .
Фактически вы ничего не объявляете, но вот как вы создаете массив в Python:
from array import array
intarray = array('i')
Для получения дополнительной информации см. Модуль массива: http : //docs.python.org/library/array.html
Возможно, вам нужен не массив, а список, но другие уже ответили на этот вопрос. :)
Вслед за Леннартом существует также numpy , который реализует однородные многомерные массивы.