资源描述:
《matlab系统仿真设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......第七章系统仿真的MATLAB实现由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。仿真运行就是借助一定的算法,获得系统的有关信息。MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支
2、持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。下面介绍在MATLAB上实现几类基本仿真。
3、.专业专注.......7.1计算机仿真的步骤在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。因此进行一次完整的计算机仿真应包括以下步骤:(1)列举并列项目每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。(2)设置目标及完整的项目计划目标表示仿真要回答的问题、系统方案的说明。项目计划包括人数、研究费用以及每一阶段工作所需时间。(3)建立模型和收集数据模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描
4、述系统中所研究部分的本质。因此,最好从简单的模型开始,然后进一步建立更复杂的模型。(4)编制程序和验证利用数学公式、逻辑公式和算法等来表示实际系统的内部状态和输入/输出的关系。建模者必须决定是采用通用语言如MATLAB、FORTRAN、C还是专用仿真语言来编制程序。在本教材中,我们选择的是MATLAB和其动态仿真工具Simulink。.专业专注.......(5)确认确认指确定模型是否精确地代表实际系统。它不是一次完成,而是比较模型和实际系统特性的差异,不断对模型进行校正的迭代过程。(6)实验设计确定仿真的方案、初始化周期的长度、仿真运行的长度以及每次运行的重
5、复次数。(7)生产性运行和分析通常用于估计被仿真系统设计的性能量度。利用理论定性分析、经验定性分析或系统历史数据定量分析来检验模型的正确性,利用灵敏度分析等手段来检验模型的稳定性。(8)文件清单和报表结果(9)实现图7.1是计算机仿真的程序图。.专业专注.......图7.1计算机仿真程序流图7.2基于数值积分法的连续系统仿真7.2.1数值积分法的MATLAB实现MATLAB的工具箱提供了各种数值积分方法函数,这些函数是ODE23、ODE45、ODE113和ODE15s。这些函数均是m文件,还有一个函数是ode1.C,是直接用C语言编写的。函数ode23()是
6、用Runge-Kutta法求解微分方程。它是一种采用三阶积分算法、二阶误差估计、变积分步长的低阶积分算法,调用格式为[T,Y]=ode23('F',TSPAN,YO,OPTIONS).专业专注.......其中,F为系统模型文件名,模型为y'=f(t,y)形式;TSPAN=[ToTFINAL]为积分计算时间,初值为To,终值为TFINAL;YO为系统输出初始值;OPTIONS选项积分计算相对允差'RelTol'和绝对允差'AbsTol',当缺省时,Reltol=1e-3,AbsTol=1e-6T为计算点时间向量,Y为微分方程的解。函数ode45()也是用Run
7、ge-Kutta法求解微分方程,它是变步长的一种中等阶次积分算法,调用格式为[T,Y]=ode45('F',TSPAN,YO,OPTIONS)各项含义同上。函数ode113()是变阶的Adams-Bashforth-Moulton,用变阶方法解微分方程,采用多步法,调用格式为[T,Y]=ode113('F',TSPAN,YO,OPTIONS)各项含义同上。函数odel5s()采用改进的Gear法解微分方程,调用格式为[T,Y]=odel5s('F',TSPAN,YO,OPTIONS)各项含义同上。MATLAB还提供了解微分方程函数ode23s。函数ode1.C
8、是用Euler法求解微分方程。.专业专