Is there a way to nest transfer functions?

1 view (last 30 days)
I wish to build up a transfer function inside a for loop such that each iteration builds up a new transfer function based on previous iterations.
This would look like ftest = 1/(sC3 + 1/(R3 + 1/(sC2 + 1/(R2 + 1/(sC1 + 1/R1)))))
I tried something like this
ftest = 0 ; ftest = tf(1, [c(length(r)) (1/r(length(r)) + ftest)])
ftest = tf(1, [c(length(r)-1) (1/r(length(r)-1) + ftest)])
But if you include a transfer function in the denominator tf just ignores the denominator.
The impedance of an n-pole cauer model takes this format!

Accepted Answer

Matthew Mishrikey
Matthew Mishrikey on 28 Dec 2021
Okay, nevermind, found the solution is to use s = tf('s') rather than tf([num dem]).

More Answers (0)


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




Community Treasure Hunt

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

Start Hunting!