Я хочу использовать C для вычисления среднего значения последних 1000 шагов моделирования внутри программного обеспечения, которое я использую. Размер шага решателя равен 1 мс, и один из сигналов колеблется, поэтому я хочу, чтобы этот сигнал был более гладким. Наше программное обеспечение позволяет нам использовать c-код в качестве интерфейса, это означает, что я управляю сигналом (тем, который колеблется) в C-код как переменная [0], и то, что я получаю от c-кода, является y [0], который представляет собой отфильтрованный сигнал. Информация между c-кодом и программным обеспечением обменивается каждый раз.Среднее значение последнего 1000 алгоритмов шагов моделирования в C-коде
Теперь я хочу знать, как должен выглядеть этот код. Идея для кода состоит в том, чтобы вычислить каждое среднее по времени шаговое значение последних n шагов, где n значение определяет, сколько периодов времени истории я хочу рассмотреть. Я начинал с n = 1000, а затем уменьшал/увеличивал это значение в зависимости от ситуации.
Если плавающими вы имеете в виду, что [0] меняется каждый шаг по времени, то ответ да. Таким образом, [0] - это значение, которое поступает из моего программного обеспечения (из некоторой таблицы поиска), и каждый раз по времени a [0] имеет другое значение. C-код должен каким-то образом хранить последние 1000 точек, а затем удалять последний раз каждый шаг времени, так что среднее значение всегда выполняется для последних 1000 точек. Это только идея, как это могло бы быть, конечно, любые другие решения более приветствуются =). –