Как задать передаточную функцию в matlab?

Пользователь

от catherine_wintheiser , в категории: Другие , 3 года назад

Как задать передаточную функцию в matlab?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cade , 2 года назад

@catherine_wintheiser во первых, для этого потребуется один из следующих дополнительных тулбоксов Matlab

 Control System Toolbox

 DSP System Toolbox

 Model Predictive Control Toolbox

 RF Toolbox

 Signal Processing Toolbox

 

после этого можно воспользоваться функцией tf(), как показано в примере (необходимо задавать коэффициенты)


1
2
3
numerator = 1;
denominator = [2,3,4];
sys = tf(numerator,denominator)


будет задана следующая передаточная функция:

Пользователь

от karen.wisozk , год назад

@catherine_wintheiser 

Передаточную функцию можно задать в MATLAB с помощью команды tf(num,den), где num и den являются векторами коэффициентов числителя и знаменателя соответственно. Например:


num = [1 2 1]; den = [1 3 2]; sys = tf(num, den)


В результате будет создан объект TransferFunction, представляющий передаточную функцию:


sys =

1
   s^2 + 2 s + 1



s^2 + 3 s + 2


Также можно использовать функцию zpk(z,p,k), где z, p и k являются векторами нулей, полюсов и коэффициента усиления соответственно. Например:


z = [-1 -1]; p = [-2 -1]; k = 1; sys = zpk(z, p, k)


Результат будет тот же самый.