How do I define the limits of a discrete model? Why do I receive this error for every t and sht variables?

3 次查看(过去 30 天)
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 个评论

请先登录,再进行评论。

采纳的回答

Fangjun Jiang
Fangjun Jiang 2011-6-3
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 个评论
Fangjun Jiang
Fangjun Jiang 2011-6-3
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by