使用Matlab,我有以下代码:
s = tf('s')
K=0.5;
H= 1/(s*(s+2));
Hcl=feedback(K*H,1)
ilaplace(Hcl)
rltool(H)给出了单位闭环系统的laplace逆变换.rltool(H)自动生成单位闭环系统.这就是为什么我把开环系统作为一个参数传递给你。
当我运行这段代码时,Matlab给出了一个关于ilaplace的错误:
“在函数‘ilaplace’调用中检查不正确的参数数据类型或缺少参数。”
有人能帮我同时使用ilaplace和rltool吗?
发布于 2022-07-29 10:18:14
我已经找到了解决这个问题的办法。
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()可以找到这里
https://stackoverflow.com/questions/73154306
复制相似问题