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

反过来 已知 一个带纯延迟的一阶环节如何拟合成一个开环传递函数,同样利用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个回答  2012-12-04
其实有点没明白你的题目,是说现在已知输入输出想反推函数?如果输入输出都是正弦函数,可以考虑拟合他的幅频特性曲线或者相频特性曲线,如果是阶跃信号可以直接去拟合输出
相似回答