extract num and den from matrix transfer function

how to use numerator and denominator (N,D) of the output transfer function yv. where yv is 16 tranfer functions. i want to see N and D and use them in another process.
for i=1:4
for j=1:4
gvi(i,j)=tf(N(i,:),D(j,:))
yv(i,j)=series(yc,gvi(i,j))
end
end
[N,D]= tfdata(yv)%%%% this line doesn't show the content of N and D

Answers (1)

madhan ravi
madhan ravi on 6 Aug 2020
Edited: madhan ravi on 6 Aug 2020
Use it inside the loops, preallocation is recommended for the variables.

4 Comments

I tried to use it inside the loop it gives error
ctr = 0;
[gvi, yv, N, D] = deal(cell(4*4, 1));
for ii = 1 : 4
for jj = 1 : 4
ctr = ctr + 1;
gvi{ctr} = tf(N(ii,:),D(jj,:))
yv{ctr} = series(yc, gvi{ctr})
[N{ctr}, D{ctr}]= tfdata(yv)
end
end
celldisp(N)
celldisp(D)
error
Error using tf (line 287)
The values of the "num" and "den" 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 information.
Error in forloop (line 60)
gvi{ctr} = tf(N(ii,:),D(jj,:))
Without knowing the missing variables , can’t help further.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 6 Aug 2020

Edited:

on 6 Aug 2020

Community Treasure Hunt

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

Start Hunting!