使用Matlab,我有以下代码:
s = tf('s')
K=0.5;
H= 1/(s*(s+2));
Hcl=feedback(K*H,1)
ilaplace(Hcl)
rltool(H)
我想得到单位闭环系统的拉普拉斯逆变换。rltool(H(自动生成单位闭环系统。这就是为什么我把开环系统作为一个自变量。
当我运行这段代码时,Matlab给出了一个关于ilaplace的错误:
"检查对函数"ilaplace"的调用中是否存在不正确的参数数据类型或缺少参数">
有人能帮我如何同时使用ilaplace和rltool 吗
我找到了这个问题的解决方案。
syms s;
K=1/2;
H= 1/(s*(s+2))
Hcl=simplify(K*H/(1+K*H))
P=poles(Hcl)
ilaplace(Hcl)
H = syms2tf(Hcl)
rltool(H)
ilaplace
处理符号表达式而不处理传递函数。通过在代码中途将符号表达式转换为传递函数,我可以在同一代码中使用这两个函数。
注意,我添加了函数simplify
,并将开头从s=tf('s')
更改为syms s
函数syms2tf()
可以在中找到