资源描述:
《第四章 simulink与微分方程组数解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章Simulink与微分方程组数解Simulink简介控制系统的运动规律用微分方程表示,其动态响应可用计算机数值求解,并进而求出系统的超调量,恢复时间等性能参数。Matlab任意微分方程均可用函数ODE45数值求解,同时它还提供了另外一种更直接的图示法对控制系统进行仿真计算,即利用Simulink求线性控制系统的动态响应。Simulink操作步骤(1)执行File-New-Model菜单MATLAB7.1(2)点击库窗口SIMULINK—CONTNUOUS,选择建立模型方式:传递函数形式(TRANSFERFCN),或状态方程模式(STATE-SP
2、ACE),一般可选传递函数,并拉入模型窗口。(3)双击模型,修改参数,按OK或APPLY。可能的话可以重新命名新名字,或改变显示方向。MTALAB6.5分子多项式系数分母多项式系数显示方向设置(FORMAT—FLIP(ROTATE):MATLAB7.1分子多项式定义分母多项式定义(4)用和、乘、分支、建立复杂模型,和,积用MATH里的函数,分支直接从输入箭头拉直线到输出线,使两条线相交。信号的+,-,比例放大在MathOperation项内信号加:可将+改成-,或增加+,表示多个信号加(5)定义输入、输出,在源(SOURCE)选择输入信号源类型,在S
3、INK选择输出类型,一般设置成SCOPE(示波器观察)。(6)设置计算参数,按SIMULATION—PARAMETER。计算开始时间计算结束时间计算方法MATLAB6.5(7)按SIMULATION—START开始仿真计算。(8)点击SCOPE观察计算结果,或者查看WORKSPACE,观看变量值,根据需要保存绘制计算值。SCOPE:例2方法1:Laplace变换简化根据第1个方程,可得:电流iU从Mathoperation选放大器,加法器,把机械运动方程加进去。比例放大,数据可以是具体数值,也可以是变量转速外部负载积分定义输出:从sink选输出(ou
4、t)示波器看输出输出电流输出转速定义输出计算选项设置:设置微分方程求解方法,计算时间,输出项数。输出变量名,一般不改变保存输出变量个数计算结果矩阵下标序号每隔1输出按Simulation----Start开始计算。查看计算结果,或用plot(tout,yout(:,1))等命令绘制计算结果绘制转速曲线方法2:根据微分方程直接利用积分,微分,求和绘制系统模型。积分电流转速第1个方程输入电压U第2个方程:设置输出点:输出转速积分电流负载输出点2输出点1电流计算结果转速计算结果:方法3:方法2需要对每一项求和,求积,操作复杂,可直接利用微分方程也即状态模型
5、来计算动态响应。状态模型:如果输出电流和转速,则输出方程为:例:直流电机模型(1)根据上述方程定义矩阵A,B,C,D。(2)设置矩阵,双击选项,出现设置菜单。将默认值1修改成矩阵常数或已经定义好的矩阵变量(3)设置输入,输出设置输入值,可以是向量常数或是已经定义的向量变量(4)设置计算选项,开始计算,并选取计算结果电流计算结果转速计算结果:子系统设计可将模型保存为子系统,求解其他问题时如果要引用该模型,可直接打开复制。输入1输入2子系统模型建立步骤:(1)定义模型(2)定义输入输出(3)全选模型,并选Edit---CreateSubsystem(4)
6、保存子系统到一文件,以后打开该文件显示如下输出输入点子系统名字,可修改(5)引用子系统方法(A)打开保存子系统的文件,出现:(B)修改输入输出,构建新计算模型(C)计算数值积分计算(1)定义函数菜单:File-new-M_file进入编辑器写程序:functionf=f1(t)f=sin(t);函数编写格式:Function返回变量=函数名(参数)…函数的matlab命令(命令以‘;’结束)返回变量=函数值(最后一条命令必须将函数值赋给返回变量)写好程序后保存到一文件,文件名一般与函数名相同(2)调用函数quad(‘name’,tmin,tmax)求
7、数值积分Name:函数名,tmin,tmax,积分下限,上限例:quad(‘f1’,0,pi/2)Functiony=tuoyuan(t)X=sin(t);Y=1./(1-0.5.*x.*x).^5;NOTE:函数内*,/一般采用.*,./面积分(二重积分)函数dblquad()用法:dblquad(‘name’,xmin,xmax,ymin,ymax)Name:函数名xmin,xmax,ymin,ymax积分区域例:functionout=f2(x,y)out=y*sin(x)+x*cos(y);v=dblquad(‘f2’,0,1,0,5);微分
8、方程数值求解1.多元一次微分方程组数值解计算步骤如下:(1)定义函数例如:functiondf=f1(t,y