
求这个MATLAB传递函数的单位阶跃响应曲线
1个回答
展开全部
对于正常的系统传函,求阶跃响应很简单,一般可以用类似下面的代码:
s=tf('s');
Gc=2*(0.2*s+1)*(0.1*s+1)/(0.2*s);
step(Gc)
但上述代码会出错:
??? Error using ==> lti.step at 86
Cannot simulate the time response of LTI models with more zeros than poles.
这是因为,传递函数分子阶次高于分母阶次,从物理概念上说违反了因果律,而从数字仿真的角度来说,也是算法不允许的。
可以变通一下,借助于符号运算来求:
syms s
Gc=2*(0.2*s+1)*(0.1*s+1)/(0.2*s);
g=ilaplace(Gc/s)
ezplot(g,[0 10])
得到阶跃响应图形如下(由于传函包含积分环节,其阶跃响应必然是随时间一直增长的,没有稳态值):
应该指出,在上述阶跃响应的表达式中,包括了一个脉冲函数项(dirac),而脉冲函数绘图时是体现不出来的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |