Simulink是Simulation和link仿真链接。
是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。
必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。
以前MATLAB仿真编程是在文本窗口中进行的。
输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。
因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。
就可以用鼠标和键盘进行仿真。
三种方法进入Simulink1、在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里面选BreakerConnectors 里面选择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算法,也就是固定步长的ode452 ode4 四价龙-库法3 ode3 Bogacki-Shampine算法4 ode2 改进的欧拉算法5 ode1 欧拉算法(Euler)6 discrete 不含积分的固定步长解法。
目前没有一种对所有的模型都有效的方法,我们要根据各种模型的特点,各种数值积分方法的特点和范围,选择正确的算法。
这一点是很多不研究数学的人是最难得。
幸好MATLAB告诉编入了当今主要的各种数值的计算方法。
所以,在MATLAB 官方文件中,明确的告诉大家在用一种算法不能解决问题的时候,应该试试另一种方法。
采用这种办法来仿真。
一般采用可变步长的方法来仿真。
在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”。
描述这类过程的微分方程初值问题称为“刚性问题”。
例如,宇航飞行器自动控制系统一般包含两个相互作用但效应速度相差十分悬殊的子系统,一个是控制飞行器质心运动的系统,当飞行器速度较大时,质心运动惯性较大,因而相对来说变化缓慢;另一个是控制飞行器运动姿态的系统,由于惯性小,相对来说变化很快,因而整个系统就是一个刚性系统。
微分方程是解决科学技术与工程计算问题的重要工具,在大到航空、航天、原子弹爆炸,小到核子反应、细胞分裂等领域里都有着极为广泛的应用。
但即使一个问题可用微分方程描述,解开此微分方程也往往不是易事。
例如,属于“刚性问题”的一类微分方程就不太好对付。
什么是刚性问题?在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”。
描述这类过程的微分方程初值问题称为“刚性问题”。
例如,宇航飞行器自动控制系统一般包含两个相互作用但效应速度相差十分悬殊的子系统,一个是控制飞行器质心运动的系统,当飞行器速度较大时,质心运动惯性较大,因而相对来说变化缓慢;另一个是控制飞行器运动姿态的系统,由于惯性小,相对来说变化很快,因而整个系统就是一个刚性系统。
又如,由三种物质A、B、C参加的一个化学反应,其反应过程如下:A0.004B(慢)B+B3×l07C+B(很快)B+C104A+C(快)由于各子过程的化学反应速度相差十分悬殊,这一化学反应也是具有刚性的。
诸如此类的例子还有很多,用来描述这些过程的微分方程初值问题都是刚性问题。
随着现代科学技术特别是高新技术的发展我们所遇到的刚性问题越来越多。
刚性问题解答的难度就在于其快变子系统的干扰,当我们试图在慢变区间上求解刚性问题时,尽管快变分量的值已衰减到微不足道,但这种快速变化的干扰仍严重影响数值解的稳定性和精度,给整个计算带来很大的实质性的困难。
Stiff稳定等概念及理论,推进了线性刚性问题的研究,龙格———库塔方法的B-稳定及代数稳定理论、龙格———库塔方法的B-收敛理论,在上一个模型的基础上:将两个DC Voltage Source改成240V,将Breaker中改成吸收电容:一般在实际中就有应该说主要是为了在开关断开时减少开关断开的两个触点之间形成的电弧。
开关闭合时,则没有消除电火花的作用。
因为开关所接的电路中,常常都属于感性负载,感性负载在断电时由于电流不能突变,因此会在断开的两个触点之间形成的电弧,这个电弧一方面对触点造成损坏作用(容易拉成毛刺),一方面影响电路的断开时间,加上电容后,由于电容两端电压不能突变,使触点两端的电压也不能突变,因此就没有火花形成,起到保护触点的作用和及时断开电路的作用。
然后仿真试试在simulink中的math opreation中选择gain拖曳到仿真平台旋转然后将双击将gain 中的1换成0.2287 之后将第一个示波器的连线接到它的输入端它的输出端接电机的TL之后仿真看结果。