首页 理论教育 介绍及建模方法

介绍及建模方法

时间:2022-02-12 理论教育 版权反馈
【摘要】:Simulink的功能远不止微分方程的求解,它提供了各种可用于控制系统仿真的模块,支持一般的控制系统仿真。此外,还提供了各种工程应用中可能使用的模块,如电机系统、机构系统、通信系统等的模块集,直接进行建模与仿真研究。Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。Simulink由模块库、模型构造及指令分析和演示程序组成,是一个模块化、模型化的系统动态仿真环境。

Simulink环境是1990年前后由Mathworks公司推出的产品,是用于Matlab下建立系统框图和仿真的环境。该环境刚推出时的名字叫做Similab,由于其名字很类似于当时一个很著名的语言——Simulab语言,所以次年更名为Simulink。从名字上看,立即就能看出该程序有两层含义:首先,“Simu”一词表明它可以用于计算机仿真,而“link”一词表明它能进行系统连接,即把一系列模块连接起来,构成复杂的系统模型。可以利用这一有效的工具用图形的方式描述各种各样的微分方程,从而求解相应的微分方程。正是由于它的这两大功能和特色,使得它成为仿真领域首选的计算机环境。

Simulink的功能远不止微分方程的求解,它提供了各种可用于控制系统仿真的模块,支持一般的控制系统仿真。此外,还提供了各种工程应用中可能使用的模块,如电机系统、机构系统、通信系统等的模块集,直接进行建模与仿真研究。

Simulink的功能十分强大,可以借用其本身或模块集对任意复杂的系统进行仿真。早在Simulink出现之前,仿真一个给定框图的连续系统是件很复杂的事,当时Matlab虽然已经支持较简单的常微分方程求解,但用语句的方式建立起整个系统的状态方程模型还是比较困难的事,所以需要借助于其他的仿真语言工具,如ACSL语言,来描述系统模型,并对之进行仿真。当时采用这样的语言建立模型需要很多的手工编程,很不直观,对复杂的问题来说出错是难以避免的,结果经常令人难以相信;另外,由于过多的手工编程,使得解决问题的时间浪费很多,很不经济,最致命的是因为它们毕竟属于不同的语言,相互之间传送数据很不方便,这很大程度上限制了ACSL和Matlab语言的联合使用。所以从Simulink一出现起,很多惯用ACSL的用户纷纷弃用该语言,改用Simulink作为主要的仿真工具。

在Simulink类软件出现之前,为了考核各类控制系统CAD软件的建模难易程度、算法的精度等指标,本领域有影响的专家提出了一些测试基准问题(Benchmark Problems),由于Simulink的出现,使得原来的基准问题能够轻而易举地解决了。

Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无须书写大量的程序,而只要通过简单直观的鼠标操作,就可构造出复杂的仿真模型。Simulink的主要优点如下:

①适应面广。该系统包括线性非线性系统,离散、连续及混合系统;单任务、多任务离散事件系统。

②结构和流程清晰。它外表以方块图形式呈现,且采用分层结构,既适于自上而下的设计流程(概念、功能、系统、子系统,直至器件),又适于自下而上逆程设计。

③仿真精细、贴近实际。它提供大量特种函数模块(包括非线性在内),为用户摆脱理想化假设的无奈提供了途径。

Simulink使得Matlab的功能得到了进一步的扩展。Simulink由模块库、模型构造及指令分析和演示程序组成,是一个模块化、模型化的系统动态仿真环境。用户应用Simulink对系统进行建模、仿真和分析时如同堆积木一样简单方便,只需要在模型窗口中单击或是拖动鼠标即可。Simulink不能脱离Matlab而独立运行,但是它借助Matlab在科学计算上得天独厚的优势以及可视化的仿真模型窗口,弥补了传统软件工具的不足。同时,Simulink也是众多仿真软件中功能最强大、最优秀的一种软件工具。它使得动态系统仿真的实现相当方便,对系统的非线性因素和随机因素的研究也十分便捷、直观。通过Simulink还可以对电气、机械、通信等的连续、离散或是混合系统进行深入的系统建模、仿真与分析研究。正是因为Matlab/Simulink具有众多其他同类软件不具备的优点,所以才受到国内外学者和工程师的广泛关注,得以不断地扩充和迅速发展,成为当今世界在科学计算和系统仿真领域里首选的软件工具。

Simulink这一名字的含义是相当直观的,因为它较明显地表明此软件的两个显著功能:simu(仿真)与link(连接),亦即可以利用鼠标器在模型窗口上“画”出所需的控制系统模型,然后利用Simulink提供的功能来对系统进行仿真或线性化分析。一般而言,对控制系统进行计算机仿真,首先应建立系统模型。

Simulink建模的步骤是:

①开始准备。要按Simulink格式输入一个系统模型,则应该首先启动Simulink程序。我们可以在Matlab命令窗口的提示符下键入“simulink”命令来启动Simulink程序,这时会将Simulink模型的模块窗口显示出来(若Simulink已经启动,则会自动将之调到前台),同时还将自动打开一个空白的模型编辑窗口来建立新的系统模型。

②画出系统的各个模块。打开相应的子模块库,选择所需要的模块,拖动到模型编辑窗口的合适位置。

③给出各个模块的参数。各个模块中已给出默认的模型参数,要修改模块默认的参数,则需用鼠标双击该模块图标,这样就会出现相应的对话框,进一步提示用户如何修改模块的参数。

④画出连接线。当所有的模块都画出来之后,则可以接着画模块间必要的连线,构成完整的系统。模块间的连线很简单,只需用鼠标点按开始模块的输出端(三角符合)再拖动鼠标,到终止模块的输入端处释放鼠标键,则会自动地在两个模块间画出带箭头的连线。

⑤指定输入和输出端子。在Simulink下允许两类输入输出的信号,若用户提取系统的线性模型,则需要打开Simulink模块库中的“connection”(联接模块库)图标,从中选取相应的输入输出端子,若只想对系统进行仿真分析,则需从“source”(输入源模块库)图标中取输入信号端子,从“sink”(输出源模块库)图标中取输出端子即可。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈