作业帮 > 综合 > 作业

matlab step函数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/28 22:32:22
matlab step函数
Kp = 10 ;Tp1 = 5 ;Td = 1
G=( Kp * exp(-Td*s) ) / (1+Tp1*s )
这是我目前算出来的传递函数 当我输入step(G)的时候就报错了
问一下应该怎么样才能让matlab画出这个阶跃响应图
楼上的回答真是太有才了,我忍不住被逗笑了. 想问一下楼主,你的传递函数G是怎样输入的?里面的复变量s从哪里来?如果s是传递函数(tf)对象,计算出来的G应该是可以直接求阶跃响应的:Kp = 10; Tp1 = 5; Td = 1;
s = tf('s');
G=(  Kp  * exp(-Td*s)  ) / (1+Tp1*s )
step(G)当然,生成带延迟的传递函数更可取的做法是像下面这样:Kp = 10; Tp1 = 5; Td = 1;
G1=tf(Kp,[Tp1 1],'ioDelay',Td)
step(G1)
再问: 不好意思 前面有个syms s没写
你提供的两个方法 完美解决了我的问题
十分感谢
再答: syms s定义的是符号类型的变量(sym对象),和传递函数对象是两码事,属于不同的类(class),相应可用的成员函数也不一样。 不过,对于本例这种简单的传函,也可以用拉式逆变换来求阶跃响应:Kp = 10; Tp1 = 5; Td = 1;
syms s
G=(  Kp  * exp(-Td*s)  ) / (1+Tp1*s );
y=ilaplace(G/s)
ezplot(y,[0 30])