2016-04-11 6 views
0

У меня простая формула PID, и я хочу использовать ее в приложении C++. formulaКак написать эту математическую формулу в стандартном C++

Не уверен, как переписать интегралы на C++. Спасибо за помощь

+0

насчет интегрирования функции, а затем применяя формулу? –

+0

Записать интеграл как сумму Римана. Это работает только если функция в подынтегральном выражении выглядит «хорошо». – Bernhard

+0

Численная математика? Это не совсем программирование, а скорее отрасль математики. – Dummy00001

ответ

5

Обычно вы реализуете такой PID control loop, как это (псевдокод):

for each time interval // typically this will be the ADC sample rate 
    get new measured value 
    calculate error term e = measured value - setpoint value 
    update P term 
    update I term (using single pole integrator) 
    update D term (using single pole differentiator) 
    sum P, I and D terms and generate new output value 
+1

Для тех, кто не знаком с «контуром управления ПИД-регулятором» (как и я) [уравнение отсюда происходит отсюда] (https://en.wikipedia.org/wiki/PID_controller), в котором есть дополнительные пояснения. – Cornstalks

+1

@Cornstalks: thanks - Я включил вашу ссылку в ответ сейчас. –