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

问题描述:

已知开环传递函数G(s),怎样将其拟合成一个 带纯延迟的一阶环节 K e^(-τs)/(Ts+1) ,最利用MATLAB 解答
反过来 已知 一个带纯延迟的一阶环节如何拟合成一个开环传递函数,同样利用matlab .
回答得好 可追加分.
1个回答 分类:综合 2014-11-14

问题解答:

我来补答
% 有多种方法可以做,其中效果比较好的应该是次最优降阶方法
% 这里示范一个效果还过得去但更容易实现的方法
% 示例传函
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判据(能够处理带纯延时环节的系统)。
 
 
展开全文阅读
剩余:2000
上一页:算数过程
下一页:enjoy的反义词