simulink仿真说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Simulink是Simulation和link仿真链接。是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。

以前MATLAB仿真编程是在文本窗口中进行的。输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。就可以用鼠标和键盘进行仿真。

三种方法进入Simulink

1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL.

2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击

‘新建文件‘

3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单

击‘新建文件‘。

一、模块的提取

左键拖曳

右键add to

二、模块的移动放大和缩小

移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳

缩放 : 点击模块四个角拖曳

三、复制粘贴和删除和windows一样删除选择clear

四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block

顺时针90度。

五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动

还可以右键单击然后Hide name

六、模块参数设置:双击

七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个

输入端松开左键。

八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续

按下鼠标左键改变方向即可。

移动光标指向要移动的线段,然后拖动鼠标即可

删除选中要删除的部分,然后delete

直流电动机的直接启动

新建一个simulink 仿真平台打开simulink然后点击新建

打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台

Elements里面选Breaker

Connectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接

地。

Simulink前边的加号打开,在sources里选择step阶跃函数,拖曳到仿真平台,将其输出和断路器的C端相连,

在machines里面选DC Machine,将断路器的2端和电机的A端正相连,

Elements里面选Series RLC Branch,双击Series RLC Branch,然后电感值设定为0,电容设定为inf,单击确定退出,右键点击Series RLC Branch在format中选择rorate block 然后调整大小,把它放在电机和断路器中间右键点击电机和断路器中间的连线变成十字,按住拖曳到电阻的输入箭头,

Connectors 里面选择Ground input 将地与电阻的输出连接

右键点击D C Voltage Source然后按住拖曳到电机的上方然后右键点击新的电源

模块在下拉菜单中选择rorate block,然后在右键然后Flip block,将电源的输出箭头和电机的F+相连,输入和电机的F-相连。

右键单击连接电阻的那个输入地按住拖曳到电机A-旁边,连接。

Simulink前边的加号打开,signal routing 选择Demax放在仿真平台然后双击将输出的数量改成4 调整大小。

然后把电机的M端和Demax左端的接口相连,在sink理选择Scope 并且双击他,在Scope窗口中点击第二行的第二个图标parameters将Number of axes 里选择4 然后点击data history里把“最后输出点限制”的框选去掉。确定退出。

将Scope放在Demax右侧并调整大小。并将4对接口依次相连。

点击仿真平台标题栏的simulation,后选择simulation parameters ,在solver标签下在solver options 里将ode45的下拉菜单换成ode23s,确定退出。

点击仿真平台第二行的三角形的图标,运行。

ode45特别适用于仿真线性化程度高的系统,这种系统模型主要有传递函数,状态空间,零极点,增益等标准功能模块构成,由于期算法速度较快,所以仿真时一般把其作为默认算法,

simulink中汇集了求解常微分方程数值解的方法,主要有可变步长、固定步长2种。可变步长可叫程序修正每次仿真的步长的大小,固定步长不能修正步长大小。

可变步长有:

1 ode45 Rung-Kutta和Dormand-Prince组合算法。对大多仿真模型来说,首先使用ode45是最佳选择。

2 ode23是博加茨基和沙派恩算法相结合的算法,在容许误差和计算略带刚性问题方面,该算法比ode45好

3 ode113 Adams-Bashforth-Moulton PECE 算法,在误差要求很严时,ode114算法较ode45更合适。是一种多步算法。

4 ode15s 可变阶数的NDFs算法,相对BDFs算法较好。是多步算法,刚性问题ode45不行时,可以试试这种算法。

5 ode23s 改进的二价Rosenbrock算法。容许误差较大时,ode23s比ode15好,所以在解一类待刚性问题时,ode15s不行,可以用此法试试。

6 ode23t 自由内插方法的梯形算法,对刚性、又要求解没有数值衰减时,可以用此法。

7 ode23tb 采用T R-BDF2算法,在龙-库第一阶段用梯形法,第二阶段用二阶BDF算法。结构上,两个阶段估计使用的是同一矩阵。容差比较大时, ode23tb 和ode23t都比ode15s好

8 discrete 处理离散系统算法。

固定步长算法:

1 ode5 D-P算法,也就是固定步长的ode45

2 ode4 四价龙-库法

3 ode3 Bogacki-Shampine算法

4 ode2 改进的欧拉算法

5 ode1 欧拉算法(Euler)

6 discrete 不含积分的固定步长解法。

目前没有一种对所有的模型都有效的方法,我们要根据各种模型的特点,各种数值积分方法的特点和范围,选择正确的算法。这一点是很多不研究数学的人是最难得。幸好MATLAB告诉编入了当今主要的各种数值的计算方法。所以,在MATLAB 官方文件中,明确的告诉大家在用一种算法不能解决问题的时候,应该试试另一种方法。采用这种办法来仿真。一般采用可变步长的方法来仿真。

在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”。描述这类过程的微分方程初值问题称为“刚性问题”。例如,宇航飞行器自动控制系统一般包含两个相互作用但效应速度相差十分悬殊的子系统,一个是控制飞行器质心运动的系统,当飞行器速度较大时,质心运动惯性较大,因而相对来说变化缓慢;另一个是控制飞行器运动姿态的系统,由于惯性小,相对来说变化很快,因而整个系统就是一个刚性系统。

微分方程是解决科学技术与工程计算问题的重要工具,在大到航空、航天、原子弹爆炸,小到核子反应、细胞分裂等领域里都有着极为广泛的应用。但即使一个问题可用微分方程描述,解开此微分方程也往往不是易事。例如,属于“刚性问题”的一类微分方程就不太好对付。

什么是刚性问题?

在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”。描述这类过程的微分方程初值问题称为“刚性问题”。例如,宇航飞行器自动控制系统一般包含两个相互作用但效应速度相差十分悬殊的子系统,一个是控制飞行器质心运动的系统,当飞行器速度较大时,质心运动惯性较大,因而相对来说变化缓慢;另一个是控制飞行器运动姿态的系统,由于惯性小,相对来说变化很快,因而整个系统就是一个刚性系统。又如,由三种物质A、B、C参加的一个化学反应,其反应过程如下:

A0.004B(慢)

B+B3×l07C+B(很快)

相关文档
最新文档