Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
sadel
sadel le 23 Juin 2011
num=[1 0 0];
den=[1 0 0 1];
sys=tf(num,den)
sysd=c2d(sys,0.3)
sys2=d2c(sysd)
  2 commentaires
Walter Roberson
Walter Roberson le 23 Juin 2011
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 le 23 Juin 2011
Nice catch Walter :)

Connectez-vous pour commenter.

Réponse acceptée

Paulo Silva
Paulo Silva le 23 Juin 2011
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 commentaires
sadel
sadel le 24 Juin 2011
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 le 24 Juin 2011
yes it's good

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by