永发信息网

matlab 中ilaplace函数的使用问题,请帮忙修改一下程序

答案:2  悬赏:50  手机版
解决时间 2021-12-21 08:21
  • 提问者网友:斑駁影
  • 2021-12-21 05:27
程序:g=zpk([],[-1],1);
syms t s;
f=ilaplace(g)
报错Undefined function 'ilaplace' for input arguments of type 'zpk'.
请帮忙修改一下程序
最佳答案
  • 五星知识达人网友:孤独的牧羊人
  • 2022-01-10 04:24
zpk 是控制系统工具箱的函数,创建的是零极点形式的传递函数模型,对于这类对象,并没有定义ilaplace函数。ilaplace是针对符号类型(sym)对象定义的函数。


对于如题主所给的这种较为简单的模型(单输入单输出,无延迟,且系统阶次不高),可以通过简单的转换,由zpk对象得到sym对象,再进行拉氏逆变换:
>> g=zpk([],[-1],1)

Zero/pole/gain:
  1
-----
(s+1)

>> [n,d]=tfdata(g,'v');
>> G_s=poly2sym(n,'s')/poly2sym(d,'s')

G_s =

1/(s + 1)

>> ilaplace(G_s)

ans =

1/exp(t)
全部回答
  • 1楼网友:人類模型
  • 2022-01-10 05:08
极点配置算法涉及到右除特征向量矩阵的计算,所以会对该矩阵条件数的倒数进行估计,如果不满足,就会导致此错误。 从根源上说,导致这个错误常见的原因有: 1、系统(a,b)不可控或接近不可控; 2、期望极点过于靠近。 从你贴出的期望极点看,应该不是第二个原因,猜测第一个原因的可能性偏大,但由于你没有给出a和b的数据,所以不敢确定。请检查一下系统的可控性: rank(ctrb(a,b))
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯