购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 仿真

有一个一阶微分方程组:

在数字计算机上实现此方程,就需要将其转换为离散时间。用 x kT )和 u kT )表示 kT 时刻 x t )和 u t )的值。使用后向差分估计( k +1) T 时刻的导数

然后取系统的离散时间形式如下

重新排列得

x (( k +1) T )=(1 -aT x kT )+ Tbu kT

x (0)= x 0

例如,假设 x 0 =1, u t )=cos( t )则

该递归离散时间模型用于在数字计算机上实现连续时间系统。

以输入 u 为单位阶跃输入,该系统的Simulink框图如图4-8所示。

当仿真运行时,Simulink将框图转换为离散时间形式并运行程序。输入 u 为单位阶跃输入, u 上方为Simulink库的常数模块,其中为“1”。虽然使用了1/ s 模块(积分器),但仿真仍是一个时域过程。模块应当使用积分符号∫,但常用1/ s 表示。

图4-8 x (0)= x 0 的Simulink框图

在拉普拉斯域中(假设零初始状态下)为

Simulink框图如图4-9所示。

Simulink随后将其转换为

x (( k +1) T )=(1 -aT x kT )+ Tbu kT

然后在数字计算机上生成C代码。当使用传递函数的时候,Simulink假设初始条件为零。

图4-9 的Simulink框图

在这两例中, u 作为单位阶跃输入,“1”被放入Simulink库中的constant模块,则 u kT )=1( k =0,1,2,…)。

图4-10所示为例1中的水平弹簧质点系统的仿真框图。此框图的左上角显示了已选择的Simulation值。右侧是DEBUG和MODELING。单击MODELING,选择后单击Model Settings打开Configuration_Parameters对话框,如图4-11所示。

图4-10 的仿真

图4-11 配置参数的对话框

在图4-11的Simulation time模块中,已设置Start time:0.0和Stop time:10(s)。注意Solver options设置为Type:fixed-step,Solver:ode1(Euler),Fixed-step size(fundamental sample time):0.001(s)。图4-10的垂直黑色条为Mux模块,可以在Simulink库的Signal Routing中找到。双击To File模块可以打开如图4-12的对话框。数据存储在名为output.mat的MATLAB数据文件中。这个文件中的数据被称为outputdata,是由三行数组(矩阵)组成的,第一行为时间,第二行为位置 x ,第三行为输入力 f

在运行Simulink文件之前,请运行如下MATLAB程序:

运行Simulink程序,随后转到MATLAB运行以下程序绘制数据。

图4-12 到文件模块的对话框 L0sPnLBdbVGAz0o4jt5qpurHY4Ri9fqqLiGc0qPY0y7Nz6mFpK+vg9xBYXFkBmIm

点击中间区域
呼出菜单
上一章
目录
下一章
×