フィルターのクリア

How can I round off the coefficients of sys2 polynomial(num/den)?

1 回表示 (過去 30 日間)
sadel
sadel 2011 年 6 月 23 日
num=[1 0 0];
den=[1 0 0 1];
sys=tf(num,den)
sysd=c2d(sys,0.3)
sys2=d2c(sysd)
  2 件のコメント
Walter Roberson
Walter Roberson 2011 年 6 月 23 日
For background, see http://www.mathworks.com/matlabcentral/answers/10096-i-m-trying-to-convert-a-system-from-c2d-and-then-from-d2c-but-the-results-are-not-the-same-why-the
Paulo Silva
Paulo Silva 2011 年 6 月 23 日
Nice catch Walter :)

サインインしてコメントする。

採用された回答

Paulo Silva
Paulo Silva 2011 年 6 月 23 日
Hi sadel, I see another hard question :)
num=[1 0 0];
den=[1 0 0 1];
sys=tf(num,den);
sysd=c2d(sys,0.3);
sys2=d2c(sysd);
[num,den] = tfdata(sys2);
num=round(num{:});
den=round(den{:});
sys2simple=tf(num,den)
Be carefull, in your example this code works well enough but please read the documentation about the round function!!!!!
Also take a look at round2
  4 件のコメント
sadel
sadel 2011 年 6 月 24 日
Ok I think now it's better, isn't it?
num=[1.5 0 0];
den=[1 0 2.3346 1];
sys=tf(num,den)
sysd=c2d(sys,0.3);
sys2=d2c(sysd);
[num,den] = tfdata(sys2);
num=round(num{:}/0.0001)*0.0001;
den=round(den{:}/0.0001)*0.0001;
sys2simple=tf(num,den)
Paulo Silva
Paulo Silva 2011 年 6 月 24 日
yes it's good

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by