How do I define the limits of a discrete model? Why do I receive this error for every t and sht variables?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
How do I define the limits of a discrete model? Why do I receive this error for every t and sht variables?
t= 0:0.01:10;
x=tf([1],[1 1]);
sht=0.5;
cd=c2d(x,sht,'zoh')
Transfer function: 0.3935 ---------- z - 0.6065
Sampling time (seconds): 0.5 step(cd,t)
??? Error using ==> DynamicSystem.step at 84 When specifying a time vector for time response simulations, the time step match the sampling time of discrete-time models.
3 Kommentare
Akzeptierte Antwort
Fangjun Jiang
am 3 Jun. 2011
Your "t" indicates 0.01 as the sample time, but your c2d(x,sht,'zoh') indicate 0.5 as the sample time. You need to make them the same and it will work.
3 Kommentare
Fangjun Jiang
am 3 Jun. 2011
You are doing a continues transfer function to discrete transfer function conversion, which is sample time dependent. It doesn't make sense to run your discrete transfer function in a different sample time than where it comes from. You can run step(x,0:0.01:10) or step(x,0:0.001:10) without any problem. You can also run a discrete transfer function at different sample time if that discrete transfer function is defined directly (like a simple z delay). Don't mix the two together.
type cd in Matlab command window, you'll see the discrete transfer function and it has a sample time associated with it. BTW, cd is a Matlab command. You'd better avoid using it as a variable.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!