How do I define the limits of a discrete model? Why do I receive this error for every t and sht variables?
1 次查看(过去 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
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
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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!