How to convert symbolic expressions to transfer functions
조회 수: 280 (최근 30일)
이전 댓글 표시
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
2016년 11월 1일
I suggested a similar approach yesterday. It’s apparently not a polynomial.
채택된 답변
Walter Roberson
2016년 11월 2일
댓글 수: 12
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.
추가 답변 (2개)
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.
댓글 수: 0
Murugan venkatesan
2023년 8월 7일
In order to analyze the bifurcation, the input impedance expression how to plot the bode graph..
댓글 수: 1
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 Center 및 File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!