% Matlab控制系统的建模及模型间的转换 %内容包含: % 1.由 系数 建立 传递函数 % 2.由 零极点 建立 传递函数 % 3.由 传递函数 得到 零极点方程系数 % 4.把 传递函数 转化为 零极点模型 % 5.结构框图间的运算 % %---------------------------------------------------------------% %传递函数的模型表示 num = [1 5] % 分子多项式 降幂 系数向量 den = [1 2 3 4 5] % 分母多项式 降幂 系数向量 G = tf(num, den) % tf()函数 用于 构造传递函数对象 %---------------------------------------------------------------% %零极点模型表示 num = [1 5] z = roots(num) % r = roots(c) 返回多项式的根 den = [1 2 3 4 5] p = roots(den) zpk(z, p, 1) % Specify zero-pole-gain models 由零极点增益得到传递函数 %---------------------------------------------------------------% %由 传递函数 得到 部分分式的 极点 和 系数 num = [1 5] den = [1 2 3 4 5] [r q k] = residue(num, den) %---------------------------------------------------------------% %连续系统系统模型之间的转换 num = [1 -0.5 2] den = [1 0.4 1] [z, p, k] = tf2zp(num, den) %把传递函数转换为零极点函数 %---------------------------------------------------------------% %传递函数的 特征根及零极点函图 p = [1,3,0,4] r = roots(p) %由方程求根 p = poly(r) %由根求多项式系数 %结构框图的模型表示 G1 = tf(1, [1, 2, 1]) %定义传递函数 G2 = tf(1, [1, 1]) G3 = tf(1, [2, 1]) G4 = tf(1, [1, 0]) G12 = G1 + G2 % + 并联结构 G34 = G3 * G4 % * 串联结构 G = feedback(G12, G34, -1) % feedback 反馈结构 %练习1: top = [4, 8] %分子 bottom = [1, 6, 5, 0] %分母 G = tf(top, bottom) %构造系统传递函数 [r q k] = tf2zp(num, den) %得到零极点参数 zpk(r, q, k) %构造零极点方程 %练习2: top = [6, 11, 6, 10] %分子 bottom = [1, 2, 3, 1, 1] %分母 G = tf(top, bottom) %构造系统传递函数 [r q k] = tf2zp(num, den) %得到零极点参数 zpk(r, q, k) %构造零极点方程 [r q k] = residue(num, den) %得到部分分式的所有系数 %练习3: r1 = roots([1, 6, 5, 0]) r2 = roots([1, 2, 3, 1, 1]) %练习4: top = [1] bottom = [6, 5] G1 = tf(top, bottom) top = [3] bottom = [5, 1] G2 = tf(top, bottom) G3 = G1 * G2 G4 = G1 + G2 G5 = feedback(G1, G2, -1)