资源描述
第四章 Simulink与微分方程组数解 Simulink操作步骤(1)执行菜单MATLAB7.12(2)点击库窗口SIMULINKCONTNUOUS,选择建立模型方式:传递函数形式(TRANSFER FCN),或状态方程模式(STATE-SPACE),一般可选传递函数,并拉入模型窗口。3(3)双击模型,修改参数,按OK或APPLY。可能的话可以重新命名新名字,或改变显示方向。MTALAB6.5分子多项式系数分母多项式系数4显示方向设置(FORMATFLIP(ROTATE):5MATLAB7.1分子多项式定义分母多项式定义6(4)用和、乘、分支、建立复杂模型,和,积用MATH里的函数,分支直接从输入箭头拉直线到输出线,使两条线相交。7信号的+,-,比例放大在Math Operation项内8大家学习辛苦了,还是要坚持继续保持安静继续保持安静9信号加:可将+改成-,或增加+,表示多个信号加10(5)定义输入、输出,在源(SOURCE)选择输入信号源类型,在SINK选择输出类型,一般设置成SCOPE(示波器观察)。11(6)设置计算参数,按SIMULATIONPARAMETER。计算开始时间计算结束时间计算方法MATLAB6.512(7)按SIMULATIONSTART开始仿真计算。(8)点击SCOPE观察计算结果,或者查看WORKSPACE,观看变量值,根据需要保存绘制计算值。13SCOPE:14例215方法1:Laplace变换简化根据第1个方程,可得:电流电流iU16从Math operation选放大器,加法器,把机械运动方程加进去。比例放大,数据可以是具体数值,也可以是变量转速外部负载积分17定义输出:从sink选输出(out)示波器看输出18输出电流输出转速定义输出19计算选项设置:设置微分方程求解方法,计算时间,输出项数。20输出变量名,一般不改变保存输出变量个数计算结果矩阵下标序号每隔1输出21按Simulation-Start开始计算。查看计算结果,或用plot(tout,yout(:,1)等命令绘制计算结果22绘制转速曲线23方法2:根据微分方程直接利用积分,微分,求和绘制系统模型。积分电流转速第1个方程输入电压U24第2个方程:设置输出点:输出转速积分电流负载25输出点2输出点126电流计算结果27转速计算结果:28方法3:方法2需要对每一项求和,求积,操作复杂,可直接利用微分方程也即状态模型来计算动态响应。状态模型:29如果输出电流和转速,则输出方程为:例:直流电机模型30(1)根据上述方程定义矩阵A,B,C,D。31(2)设置矩阵,双击选项,出现设置菜单。将默认值1修改成矩阵常数或已经定义好的矩阵变量32(3)设置输入,输出设置输入值,可以是向量常数或是已经定义的向量变量33(4)设置计算选项,开始计算,并选取计算结果电流计算结果34转速计算结果:35子系统设计可将模型保存为子系统,求解其他问题时如果要引用该模型,可直接打开复制。输入1输入2子系统模型建立步骤:(1)定义模型36(2)定义输入输出(3)全选模型,并选Edit-Create Subsystem37(4)保存子系统到一文件,以后打开该文件显示如下输出输入点子系统名字,可修改38(5)引用子系统方法 (A)打开保存子系统的文件,出现:39(B)修改输入输出,构建新计算模型(C)计算40数值积分计算(1)定义函数菜单:进入编辑器41写程序:function f=f1(t)f=sin(t);函数编写格式:Function 返回变量=函数名(参数)函数的matlab命令(命令以;结束)返回变量=函数值(最后一条命令必须将函数值赋给返回变量)写好程序后保存到一文件,文件名一般与函数名相同(2)调用函数quad(name,tmin,tmax)求数值积分Name:函数名,tmin,tmax,积分下限,上限例:quad(f1,0,pi/2)42Function y=tuoyuan(t)X=sin(t);Y=1./(1-0.5.*x.*x).5;NOTE:函数内*,/一般采用.*,./43面积分(二重积分)函数dblquad()用法:dblquad(name,xmin,xmax,ymin,ymax)Name:函数名xmin,xmax,ymin,ymax积分区域例:function out=f2(x,y)out=y*sin(x)+x*cos(y);v=dblquad(f2,0,1,0,5);44微分方程数值求解1.多元一次微分方程组数值解45计算步骤如下:(1)定义函数例如:function df=f1(t,y)df=y(1)-y(2);y(1)+y(2)(2)调用函数t,y=ode45(name,tmin,tmax,y0;y1;)t为保存自变量的计算点向量变量,y保存计算点处各变量值,为矩阵.y(:,1)表示第1个变量在t各计算点的值,y(1,2)表示第2个变量在t的第1个计算点的值第1各参数为函数名第2个参数为积分范围第3个参数为变量初值(3)绘制曲线Plot(t,y(:,1)第1个参数为自变量第2个参数为向量变量返回值为列向量46T,Y=solver(odefun,tspan,y0)T,Y=solver(odefun,tspan,y0,options)T,Y,TE,YE,IE=solver(odefun,tspan,y0,options)sol=solver(odefun,t0 tf,y0.)Solver:ode45,ode113,ode15s,ode23s,ode23t,ode23tb 非刚性矩阵:ode45,ode113刚性矩阵:ode15s,ode23s,ode23t,ode23tb 刚性矩阵(条件数很大)的矩阵47Function dy=f2(t,y)dy=y(1)+y(2);y(1)-y(2);482.一元高次微分方程数值求解4950
展开阅读全文