Z transfer fcn under simulink and cmd line
1 回表示 (過去 30 日間)
古いコメントを表示
I create a simple cmd from S to Z domain as below, and the result is matched with my understanding;
clear
rth1=0.0268;
tau1=1066.6;
Ts=0.05;
tf1=tf(rth1,[tau1 1])
dtf1=c2d(tf1,Ts)
figure;
step(tf1);
figure
step(dtf1);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1346569/image.png)
but when i create this under simulink, the result is not matched, as you can see the Z transfer fcn output is quite different with the S transfer fcn.
Is there anyone can help me?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1346574/image.png)
採用された回答
Jon
2023 年 4 月 5 日
This appears to be due to a round off error in the denominator of the discrete transfer function input to Simulink.
Try for example with the denominator set to
[1 -0.999949]
instead of
[1 -1]
and you will see that the step response of the continuous and discrete approximation are now much closer
5 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Simulink Environment Customization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!