Engee 文档
Notebook

创建连续系统模型

在这个例子中,让我们看看如何使用函数创建时间连续系统的模型 tf zpk ss.


控制系统库。jl允许您以三种不同的方式定义连续系统的线性模型:

*传递函数(tf)
*设置极点和零点(zpk)
*状态空间(ss)

In [ ]:
Pkg.add(["ControlSystems"])
In [ ]:
#Подключение библиотеки для работы с САУ
using ControlSystems

传递函数

对于SISO系统,传递函数是多项式的比率 ,它们是输出和输入值的拉普拉斯图像。

在Engee中,多项式被定义为系数的向量。 例如,对于多项式: ,系数的向量: .

我们得到一个传递函数的形式:

In [ ]:
num = [1, 0]; #Задаем числитель
den = [1, 2, 10]; #Задаем знаменатель
W1 = tf(num, den)
Out[0]:
TransferFunction{Continuous, ControlSystemsBase.SisoRational{Int64}}
      s
-------------
s^2 + 2s + 10

Continuous-time transfer function model

或者,您可以转到拉普拉斯域并传递具有变量s的多项式,而不是具有系数的向量。

In [ ]:
s = tf('s'); #Создаем переменную Лапласа
W2 = s/(s^2 + 2*s + 10)
Out[0]:
TransferFunction{Continuous, ControlSystemsBase.SisoRational{Int64}}
      s
-------------
s^2 + 2s + 10

Continuous-time transfer function model

设置极点和零点

使用函数设置 zpk() 模型描述看起来像传递函数。

分子的根被称为零,分母极点。 标量系数 -增益因子。

使用函数设置模型 zpk(),有必要传输极点,零点和增益因子的矢量。

In [ ]:
z = [0]; # Нули
p = [2,1+1im,1-1im]; # Полюса
k = -2; # коэффициент усиления
H = zpk(z,p,k)
Out[0]:
TransferFunction{Continuous, ControlSystemsBase.SisoZpk{Int64, Complex{Int64}}}
            s
-2---------------------
  (s - 2)(s^2 - 2s + 2)

Continuous-time transfer function model

就像传递函数定义的模型一样,您可以转到拉普拉斯域并传递具有变量s的多项式,而不是具有系数的向量。

In [ ]:
s = zpk("s");
H = -2*s/(s - 2)/(s^2 - 2*s + 2)
Out[0]:
TransferFunction{Continuous, ControlSystemsBase.SisoZpk{Float64, ComplexF64}}
                                 1.0s
-2.0---------------------------------------------------------------
    (1.0s - 2.0)(1.0s^2 - 1.9999999999999996s + 1.9999999999999991)

Continuous-time transfer function model

状态空间中的模型

状态空间模型是以矩阵形式表示微分方程。 状态空间中对象的完整模型包含两个方程:

哪里 -系统状态的向量, -输入向量(控制信号), -输出向量; -矩阵。

要在状态空间中定义模型,有一个函数 ss(). 为此,必须将描述的矩阵设置为函数的输入。

In [ ]:
A = [0  1 ; -5  -2];
B = [0 ; 3];
C = [1  0];
D = 0;
H = ss(A,B,C,D)
Out[0]:
StateSpace{Continuous, Int64}
A = 
  0   1
 -5  -2
B = 
 0
 3
C = 
 1  0
D = 
 0

Continuous-time state-space model

系统模型的描述允许您开始分析其行为。 例如,绘制时间和频率特性。 分析ACS模型的功能可以在[分析]部分找到(https://engee.com/helpcenter/stable/julia/ControlSystems/lib/analysis.html )。