writing transfer functions in matlab

16 views (last 30 days)
aaa
aaa on 2 Apr 2012
Commented: rupam mahapatra on 27 Jan 2022
Hi, I want to write a transfer function in matlab. I know we usually write in the following way
trans = tf([1 0 0], [1 0 1]);
This gives something as a function of 's'.
what if i wanted to write an equation that was a function of 's+x', where x is a constant. So instead of H(s), i want to write a function and evaluate at values of say H(s+5).
thanks
  1 Comment
rupam mahapatra
rupam mahapatra on 27 Jan 2022
Write a MATLAB program to determine the partial fraction expansion of a rational z-transform. Using this program
determine the partial-fraction expansion of G(z).

Sign in to comment.

Answers (3)

Thomas
Thomas on 2 Apr 2012
The documentation has good examples on how to write transfer functions:
  3 Comments
Thomas
Thomas on 2 Apr 2012
is this what you want:
trans=tf([1 5],[1])
trans =
s + 5
aaa
aaa on 2 Apr 2012
thanks for your reply.
that is not quite what i am looking for. that method just gives H(s) still. I would like to implement something that is in the form of H(s+5)

Sign in to comment.


Arkadiy Turevskiy
Arkadiy Turevskiy on 4 Apr 2012
Do you want to see the resulting expression as a function of (s+x), or do you just want to write an equation as function of (s+x)? If it is the latter you could do this:
>> arg=tf('s')+5
arg =
s + 5
Continuous-time transfer function.
>> h=1/(arg+3)
h =
1
-----
s + 8
Continuous-time transfer function.
>> arg=tf('s')+10
arg =
s + 10
Continuous-time transfer function.
>> h=1/(arg+3)
h =
1
------
s + 13
Continuous-time transfer function.
HTH. Arkadiy

Savan Prajapati
Savan Prajapati on 24 Jul 2020
num = 100
den = [1,14,10]
sys = tf(num,den)
printsys(num,den)

Community Treasure Hunt

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

Start Hunting!