Transfer Function of Closed Loop

17 ビュー (過去 30 日間)
hyungjc 2021 年 2 月 18 日
回答済み: Mahesh Taparia 2021 年 2 月 23 日
So, I created a closed loop on simulink. And I've added 2 simout(To Workspace) for the input and output.
Now, I'm trying to use them on matlab and I try doing
x = tf(out.output, out.input); %I named the simout as output and input
I get an error "The values of the "Numerator" and "Denominator" properties must be row vectors or cell arrays of row vectors,
where each vector is nonempty and containing numeric data. Type "help tf.num" or "help tf.den" for more
I have saved my To Workspace format as a 2D Array.
Any help would be highly appreciated.
  1 件のコメント
Fangjun Jiang
Fangjun Jiang 2021 年 2 月 19 日
quite wrong. tf() is to define a transfer function. help tf


回答 (1 件)

Mahesh Taparia
Mahesh Taparia 2021 年 2 月 23 日
To find the transfer function, "tf" function require the coefficient of numerator and denomenator. For example, consider below:
numerator = [1,9]; % numerator coefficients
denominator = [2,3,4];% denomenator coefficients
sys = tf(numerator,denominator)
So, the numerator and denomenator are row vectors not a 2D array. For more information, you can refer to this documentation of 'tf'. In your case, it is not clear what you are storing in variable out. Store the numerator and denomenator coefficient, it will works.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by