Transfer Function of Closed Loop

2 views (last 30 days)
hyungjc on 18 Feb 2021
Answered: Mahesh Taparia on 23 Feb 2021
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 Comment
Fangjun Jiang
Fangjun Jiang on 19 Feb 2021
quite wrong. tf() is to define a transfer function. help tf

Sign in to comment.

Answers (1)

Mahesh Taparia
Mahesh Taparia on 23 Feb 2021
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