How to convert symbolic expressions to transfer functions

조회 수: 280 (최근 30일)
Qian Feng
Qian Feng 2016년 10월 31일
댓글: Walter Roberson 2023년 8월 7일
I am encountering the problem of converting a symbolic expression to become a transfer function. Specifically, the linear system I am dealing with contains a non-constant distributed delay term which requires performing an integration to obtain the corresponding transfer function. However, it seems that the integration operator int cannot be applied with tf variables directly.
On the other hand, if there is a way to convert symbolic expressions to transfer functions, then this problem can be easily handled in symbolic setting first.
Thanks a lot
  댓글 수: 3
Star Strider
Star Strider 2016년 11월 1일
I suggested a similar approach yesterday. It’s apparently not a polynomial.
Qian Feng
Qian Feng 2016년 11월 2일
편집: Walter Roberson 2016년 11월 2일
Here is the code,
r = 1;
s = tf('s');
syms x
A4 = [-1 x; -1-x^3 -1];
Ap = int(A4*exp(x*s),x, -r, 0);
The reason why we have an integration there is because I am dealing with a distributed delay term in the time domain.
The problem is that it seems we cannot mix a tf variable with a symbolic variable here.
However, the aforementioned integration can be easily handle if s is a symbolic variable, which is the reason why I asked about how to transfer a symbolic entity into a tf one.

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2016년 11월 2일
  댓글 수: 12
Paul
Paul 2021년 2월 27일
Cool code. Siight mod to also handle the case when symExp is a constant.
syms s
symExp(s) = 5;
ExpFun = matlabFunction(symExp);
ExpFun = str2func(regexprep(func2str(ExpFun), '\.([/^\\*])', '$1'));
TF = tf(ExpFun(tf('s')));
TF
TF =
5
Static gain.
Sanjeet Kumar
Sanjeet Kumar 2023년 3월 2일
Great, works well, Thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

HyunSang Park
HyunSang Park 2018년 5월 28일
If you're just trying to find the peak value of the bode magnitude plot, might I suggest avoid using tf altogether? the peak value is when d(G(jw))/dw = 0. You can easily find the derivative with syms, and the plug in the w to the original tf.

Murugan venkatesan
Murugan venkatesan 2023년 8월 7일
In order to analyze the bifurcation, the input impedance expression how to plot the bode graph..
  댓글 수: 1
Walter Roberson
Walter Roberson 2023년 8월 7일
I do not understand how people can use your answer to convert symbolic expressions to transfer functions? Could you show how your solution could be used for the example symExp = (s+2)/(s^2+5*s+9); ?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by