传递函数 延时 matlab,已知开环传递函数G(s),怎样将其拟合成一个 带纯延迟的一阶环节 K e^(-τs)/(Ts+1) ,最利用MATLAB...

% 有多种方法可以做,其中效果比较好的应该是次最优降阶方法

% 这里示范一个效果还过得去但更容易实现的方法

% 示例传函

s = tf('s');

G = 1 / (s+1)^5;

% 根据阶跃响应使用最小二乘拟合

[y,t] = step(G);

fun = inline('x(1)*(1-exp(-(t-x(2))/x(3))).*(t>x(2))','x','t');

x=lsqcurvefit(fun,[1 1 1],t,y,[],[],optimset('Display','off'));

K=x(1); L=x(2); T=x(3);

G1 = tf(K,[T 1],'iodelay',L);

% 比较原系统和拟合系统阶跃响应

step(G,G1)

legend('原系统','拟合系统',0)

再问: 比如 简单点说吧 G(s)=8e^(-3s)/(6s+1) 利 用边界值整定法 如何计算出现当等幅震荡时 比例带,以及震荡周期,要过程。(可以不用MATLAB)

再答: 你的这个追问好像和原来的问题没有太大关联吧?

再问: 我是想把 G(S)近似转换成s的多项式形式,即不带延迟环节 然后就能求解了

再答: 对纯延时环节,常用的做法是使用pade近似。Matlab有pade函数,直接指定近似的阶次即可。 如果想判断系统临界稳定的增益值,可考虑使用nyquist判据(能够处理带纯延时环节的系统)。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值