How do i implement (-s*exp(-0.1s) + 1 - exp(-0.1s))/(s + exp(-0.1*s) -1) as a transfer function in Simulink
4 ビュー (過去 30 日間)
古いコメントを表示
I have read other questions suggesting the function to be divided into transport delays and transfer functions and then put them in series. But I havent been able to divide this function into two forms.
0 件のコメント
採用された回答
Vaibhav Awale
2015 年 11 月 4 日
This is an irrational transfer function. The best way to implement it would be to create a MATLAB function with 's', the complex frequency as input argument and output the numeric value of transfer function.
Something like the following would do:
function out = Gfcn(s)
out = (-s*exp(-0.1*s) + 1 - exp(-0.1*s))/(s + exp(-0.1*s) - 1);
end
This function can then be called repeatedly for obtaining the required system characteristics.
Else you can create a transfer function by using pade approximation for transport delays. One simple way will be the following:
s = tf('s');
G = (-s*exp(-0.1*s) + 1 - exp(-0.1*s))/(s + exp(-0.1*s) - 1); % This creates a state space model for your system
Ga = pade(G,2); % Make a rational system using pade approximation for transport delay
[den, num] = ss2tf(Ga.a, Ga.b, Ga.c, Ga.d); % Obtain numerator and denominator of pade approximated system
Gtf = tf(num, den) %Transfer function of system with time delays approximated using pade approximation
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Nonlinear Operators についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!