Filter löschen
Filter löschen

I'm trying to convert a system from c2d and then from d2c but the results are not the same. Why? There is no delay!

3 Ansichten (letzte 30 Tage)
My system is: s^2/s^3+1 My code is:
num=[1 0 0];
den=[1 0 0 1];
sys=tf(num,den)
sysd=c2d(sys,0.3)
sys2=d2c(sysd)
Why is the "sys" different from the "sys2"? Why a system like this 1/(s+1) gives correct results?
num=[1];
den=[1 1];
sys=tf(num,den)
sysd=c2d(sys,0.3)
sys2=d2c(sysd)

Akzeptierte Antwort

zohar
zohar am 23 Jun. 2011
Hi sadel
I execute your code and I got :
Transfer function:
s^2
-------
s^3 + 1
Transfer function:
0.2997 z^2 - 0.6 z + 0.3003
-----------------------------
z^3 - 2.987 z^2 + 3.014 z - 1
Sampling time: 0.3
Transfer function:
s^2 - 6.217e-015 s - 1.066e-014
---------------------------------------
s^3 - 6.106e-015 s^2 - 1.377e-014 s + 1
1.377e-014 is very close to zero !
Isn't it enough ?
  3 Kommentare
sadel
sadel am 23 Jun. 2011
There is no way I to fix it? Even if I take the coefficients and round them?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Dynamic System Models finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by