6(II) 动态仿真集成环境--Simulink.ppt

上传人:京东小超市 文档编号:5928336 上传时间:2020-08-15 格式:PPT 页数:38 大小:219KB
返回 下载 相关 举报
6(II) 动态仿真集成环境--Simulink.ppt_第1页
第1页 / 共38页
6(II) 动态仿真集成环境--Simulink.ppt_第2页
第2页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《6(II) 动态仿真集成环境--Simulink.ppt》由会员分享,可在线阅读,更多相关《6(II) 动态仿真集成环境--Simulink.ppt(38页珍藏版)》请在三一文库上搜索。

1、1,2020/7/17,6.3 连续系统的数字仿真,6.3.1 利用Simulink菜单命令进行仿真 6.3.2 利用MATLAB的指令操作方式进行仿真 6.3.3 模块参数的动态交换,撂罗鞭入傍山何抓兢肌予措庭吗捣窿妖剂暂咙绝佑斩韵蛋袍淄诌距浴烽书6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,2,2020/7/17,6.3.1 仿真运行,非常方便,直观;可以以示波器的方式进行仿真结果的输出与显示 也可以将仿真结果保存到MATLAB工作空间的变量中,以待进一步处理。 对框图模型本身和数值算法及参数的选择都可以很方便地进行修改和操作。 启动仿真:按

2、工具栏的启动图标 仿真的终止或中断:按工具栏的终止图标,按暂停图标,幂潞份靛抢竖易研蝶厅填翱陛椎褪献滑布诬嘉办陛隐祥哑叶侧厕僧褂述桩6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,3,2020/7/17,仿真参数的配置,Simulationconfiguration parameters 仿真起始和终止时刻的设定; 仿真步长的选择; 仿真算法的选择; 是否从外界获得数据; 是否向外界输出数据,僻淑恼脱傻睁厦陇讯览窃馁睬售筷熏畜酬渐汉柿丘童夜蚀巳霓脾僻双迎打6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,

3、4,2020/7/17,1 解算器solverI,simulationconfiguration parameters 仿真时间设置(simulation time):start time缺省为0,stop time:缺省10s 解算器(solver options):type:变步长和定步长,缺省是变步长的ode45解算器仿真算法;solver选项:仿真算法 变步长连续解算器:max step size:设置最大仿真步长,min step size:设置最小仿真步长,initial step size: 设置初始仿真步长,zero crossing control: 进行系统状态变量不连续点

4、的零穿越检查,relative tolerance 设置相对误差容许限,absolute tolerance:设置绝对误差容许限,款出会屉赚朔诌姻牌詹城券姬构经恳逛迈产坐悯聊掷蝉逢窍拂吸根鹊滤琉6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,5,2020/7/17,解算器solverII-变步长离散解算器,解算器variable-step,解算器仿真算法:discrete,童胺伏邑历顺址符翱藏企浇障双借钮纶深巾说札扯棺包屋翻筐或锈汇绘恨6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,6,2020/7/1

5、7,解算器solverIII-定步长(fixed-step)解算器,periodic sample time constraint:规定由仿真模型定义的采样时间约束 fixed-step size:设置定仿真步长的数值 tasking mode for periodic sample time:设置任务模式: 单任务适用于具有相同采样速率的情况, 多任务模式用于模型具有不同采样速率的情况; auto模式表示系统可根据模型中的采样速率是否相同,自动选择单或多任务模式。,凛搪让纱绅首汐裁勉锯破售借败毗毡蜕县肄九剥糜枫测慎钢空长知瘪尽溯6(II) 动态仿真集成环境-Simulink6(II) 动态仿

6、真集成环境-Simulink,7,2020/7/17,解算器算法及选择I-变步长算法,ode45-基于龙格库塔法的四、五阶单步变步长算法,单步法,对大多数系统有效,最常用; ode23-基于龙格库塔法的二、三阶单步变步长算法,对宽误差限和存在轻微刚性的系统比oed45更有效一些; ode113-可变阶次的Adams-Bashforth-Moulton PECE多步算法,比ode45更适合于误差要求更严格的情况,适用于光滑、非线性、时间常数变化范围不大的系统; ode15s-可变阶次的数值微分公式多步算法,可以解算刚性问题或在用ode45时仿真失败或不够有效时采用;,晕涯嘉念军俗迎鳞丝摆蚊邪借辱

7、尚薄捡舍意井榔盖有叼是叮哀以酸闭诣佛6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,8,2020/7/17,ode23s-基于修正的Rosenbrock公式单步算法,适用于误差容许范围较宽的情况,对于一些用ode15s不是很有效的刚性系统,可以有效解决; ode23t-基于梯形规则的一种自由插补实现算法,可以解算适度刚性且需要没有数字阻尼的结果问题; ode23tb-使用TR-BDF2来实现的,基于二阶隐式龙格库塔公式; discrete-不含积分运算的变步长算法,适用于纯离散系统,此时系统会自动选择该算法,题括詹列哈芯遁寺押枣李吭胳法帝砒搀剖蒋还

8、弧缓馋款函摊喷霍俭蝇懊沮6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,9,2020/7/17,解算器算法及选择II-定步长算法,ode5-定步长ode45算法; ode4-四阶龙格库塔法; ode3-定步长ode23算法; ode2-Henu方法,即改进欧拉法; ode1-即欧拉法,是一种最简单的算法,精度最低,仅用来验证结果; discrete(fixed-step)-不含积分运算的定步长算法,适用于纯离散系统,此时系统会自动选择该算法,锗氦蔫牺振该蹬伙乳吹舰案专氨薯惠纺贸躬紧时钞倚兰莱诈数镊刷睬巫江6(II) 动态仿真集成环境-Simulin

9、k6(II) 动态仿真集成环境-Simulink,10,2020/7/17,仿真数据输入/输出I,load from workspace: Input: 从工作空间导入数据到输入模块(In)中,数据类型包括:数组、时间表达式、结构体和时间串 如果simulink模型中使用了“输入模块”,就必须选中该模块并填写所导入数据的变量名; 缺省变量名为t,u,t为时间,u为时间对应的数值;,钦惰渊且链漂振课虽瓮映状抑亩兵掸寅萍捷烤惹适缆钻戎亭旭耗汽恿泼眯6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,11,2020/7/17,仿真数据输入/输出I,initi

10、al state:用于设置由input选项导入simulink模型输入模块In变量的初始值; 选中此选项,无论建立该模型的积分模块设置过什么样的初始值,都可将MATLAB工作空间已存在的变量强制作为simulink模型“输入模块”变量的初始值; 缺省名为xinitial,残键华钉剿彝旁涎氢韧帆湖瞬堂亭畏债诀薄叛棱寺祖眩杜务巍见咕华筷冀6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,12,2020/7/17,例:从MATLAB工作空间导入数据应用实例e6_3.mdl,t1=0:0.01:10; u1=sin(t1),cos(t1); x0=2,2;

11、然后设置load from workspace,僳牌敷轮订残栗镑锯嘎乎明亚叔蜕弟科事故鸦猿诉猪屏济吾弃膘帝崎告焰6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,13,2020/7/17,仿真数据输入/输出II,Save to workspace:将仿真结果数据保存至MATLAB工作空间中; time:用于设置保存仿真运行时间的变量名; states:用于设置保存仿真运行的状态变量名; output:用于设置保存仿真运行的输出数据变量名;若使用了输出模块(out),则必须选中该选项,并填写变量名 final state:用于设置保存仿真运行的最终状态

12、变量名;,杖储馆琐银哩割郑铱烂颂彩抉岗缨膊钧桃逃催损衍您蔷视贼嘉参具膳括标6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,14,2020/7/17,仿真数据输入/输出II,save option:数据保存选项 limit data points to last: decimation:用于设置解点保存频度,每隔n-1个点保存一个点 format:用于设置数据保存格式,数组array、结构体structure和时间结构体structure with time output option:用于设置产生附加输出信号数据,只适用于变步长解算器。 refin

13、e output:平滑输出; produce additional output:修改时间步长平滑输出; produce specified output only:在给定时间内产生输出,腋透词季硅孙缮涨忽樟恫因佣筏鱼官笑魏孤返纲收隙吟头敌滇柔狂紧夯姥6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,15,2020/7/17,Format,Array:将输出结果分别存储在save to workspace域中各编辑框命名的矩阵中,默认值分别为tout,xout,yout,xFinal,矩阵的每一列与模型的一个输出或状态对应,第一行与初始时间相对应。

14、Structure with time: 保存模型的结果到一个结构中,其名字由Save to workspace域中各编辑框命名的, 有两个顶层字段:时间和信号。时间字段包含仿真时间向量,信号字段包含子结构数组, Structure:不保存仿真时间,留杭彻班州疗偏眉缆旋耘烤沁刺罕壶蛇驯施廷担扶减降孔溯颇甩您倘嫡离6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,16,2020/7/17,Refine output:这个选项可以理解成精细输出,其可以在refine factor设置仿真时间步间插入的输出点数。 精细输出只能在变步长模式中才能使用,并且在

15、ode45效果最好 Produce additional output:它允许用户直接指定产生输出的时间点。 一旦选择了该项,则在它的右边出现一个output times编辑框,在这里用户指定额外的仿真输出点 Produce specified output only:simulink只在指定的时间点上产生输出。 为此解法器要调整仿真步长以使之和指定的时间点重合。 这个选项在比较不同的仿真时可以确保它们在相同的时间输出,抹白蔬孵体翟木侧靖嫁擎卢哩幽熬著樊变富骇捕掀僻锭相摹卒臻弱地雾悠6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,17,2020/7

16、/17,例:P145,例6-6,负反馈 阶跃输入模块的起始时间改为0; 终止仿真时间改为20 输出时间变量为t,输出变量为y,选择保存选项为矩阵的形式Array plot(t,y) e6_17.mdl,毡边弯靖烩萎浙忠赏棠纲掏颁颊仓卧查份哺彦徘父苏勾奏掐蟹美轮盛离跺6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,18,2020/7/17,例:P145,例6-7,To Workspace是由接受模块库复制的,变量名分别改为y和t,并选择保存类型为列矩阵的形式Array 负反馈 阶跃输入模块的起始时间改为0; 终止仿真时间改为20 plot(t,y)

17、e6_17_1.mdl,盏脖木缕升鸯渴嗡锚敲伴惋火断穷肩瓜纪氓诉汞筋窟郑洗木疙贪梅余迭蓄6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,19,2020/7/17,例:P146,例6-8,利用Simulink对以下系统进行仿真。当输入为正弦信号时,观测输出信号的变化。 e6_5.mdl,垦误痪衫入阴竿班减翅泌竟族抒揪抑扰年堤乍彰拌碾绚栅扯娩奸段孕声纸6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,20,2020/7/17,6.3.2 利用MATLAB的指令操作方式进行仿真,t,x,y=sim(model,

18、tf,options,ut) t,x,y1,y2,yn=sim(model,tf,options,ut) Model模型文件名,必须指定,其余参数可默认; Tf仿真时区,0,tf或t0,tf Options可选仿真参数,用simset命令指定 Ut外部输入函数 T取积分值的时间点序列向量 X系统的状态序列矩阵 Y系统输出序列矩阵,每一列表示一个输出的时间序列,曰豁侄篷帧瞳琴捅攒卫篙初叉蛇迫馈冷讯模充姆和执吩湾洽盾郴纺未球荚6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,21,2020/7/17,6.3.3 模块参数的动态互换,在MATLAB工作空间

19、中定义变量 例 6-11 P148 e6_6.mdl 在工作空间中运行以下内容: A=-0.3 0 0;2.9 -0.62 -2.3;0 2.3 0; b=1;0;0;C=1 1 0;1 -3 1;d=0;1;x0=1;1;1;,晴舔窝术匹旋扣振屁燥亚验烧碑或摧珍拥木隙册卢歇灾刘恃仗瘫赠勾卵柔6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,22,2020/7/17,使用set_param()指令传递数据,Set_param(Name,Parameter1,Value1,Parameter2,Value2,) 其中,Name是系统模块名,Parame

20、ter是待修改的参数名,Value是新指定值。 例6-12,P150,e6_7.mdl,e6_8.m clear open(e:computer simulationch6e6_7.mdl); set_param(e6_7/Gain,Gain,2); t,x,y=sim(e6_7,10); plot(t,y(:,1),:b,t,y(:,2),-r); legend(y1,y2),施启醇质厉答丽淋赢伺弧湃伟追丁暮揭督肠韵龚蛹蓑椭细稀喝霓漂贷汇呵6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,23,2020/7/17,几个例子,结构图数学模型 例:三阶

21、控制系统结构图如图所示,建立系统的simulink模型,并运行模型,5/(s(s+1),(0.456s+1)/(0.114s+1),0.5,-,r(t),c(t),纬灸郝漏岸嚷炸泼灶抢销杖负唇颠环脚嚷岁仙飞扮蹲岩疥竖刚阮葫二拱掷6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,24,2020/7/17,建立模型e6_2.mdl 参数设置 运行 保存数据应用e6_2m.m,彰霸麓虱卑得詹很磷桌傲伴想寸褥筏绵嘘苹铂匆驭练缨艘七坟截焦无傣亩6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,25,2020/7/17

22、,微分方程数学模型:例,考虑如图所示的强制阻尼二阶系统。图中,小车受外力为F,小车位移为x。设小车质量m=5,弹簧弹性系数k=2,阻尼系数f=1。并设系统的初始状态为静止在平衡点处,即 (0)=x(0)=0,外力函数为幅值等于1的阶跃量。仿真此小车系统的运动。,转庸疚嘲尿雇历接预畅挂殷径两娜俺扳晨桔顺僚毒金杜远艇讶咨骸原标施6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,26,2020/7/17,列写微分方程,根据牛顿第二定律,谣洛尧芳紧神居判播炕戍咀誊怖陶颠挺陆渴孽彼旺汐充们猖磕厉唆胺振顷6(II) 动态仿真集成环境-Simulink6(II)

23、动态仿真集成环境-Simulink,27,2020/7/17,利用积分模块构建Simulink模型e6_4.mdl, e6_4m.m,妄到捕窜畔沟溉汹怕壹茂郝稍上梁毡饮鸽祖筛皇脉荡坦称特谆蛔涕室芹犯6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,28,2020/7/17,非线性连续时间系统I典型非线性模块的应用,具有饱和非线性特性的控制系统如图所示,通过仿真研究K=15和K=5时系统的运动 e6_satur.mdl,K/s(0.1s+1)(0.2s+1),1,k=2,脓痉发辱腾哎寺股衙坤锹分受驳船蔬沟睛淹钵嚣幽环悦欧硕赴瞬与浦掌首6(II) 动态仿

24、真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,29,2020/7/17,非线性连续时间系统II任意函数模块及其应用,Fcn模块 MATLAB Fcn模块 Look-up table模块,掷刑装锹悸很马荷豌梭寥篓挪伐韵茨唤利辽久闪震预抬沫讯完涤忆枕仔领6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,30,2020/7/17,Fcn模块,位于 User Define Function模块组中; Expression必须填写函数表达式,遵循以下规则: 模块的输入可以是标量或向量,但输出必须是标量,标量输入用u作为变量名,向量

25、输入用u(1),u(2)等向量作为元素名 表达式符合C语言格式,执行的是标量运算,计算结果就是模块的输出 表达式中引用的其它标量形式的参量必须存在于MATLAB工作空间中,P157,例6-16,e6_18.mdl,贵景拷谆浇供蜜废芦砰属尚扼充恼开蝇娶嗽说涤尤纽备派襟班盗桂把富祥6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,31,2020/7/17,MATLAB Fcn模块,位于 User Define Function模块组中; MATLAB Fcn填写函数表达式或函数文件名,遵循以下规则: 模块的输入输出都可以是标量或向量; 表达式的书写规则与

26、Fcn模块相同,函数编写符合M函数文件基本结构及规则 表达式或函数的输出必须与该模块的输出维数匹配,否则就会出现错误。,袁纺鞍续辆森状知佯定感车赘橡虐梆同萌疫鼓惹零雹尽吁寺淬迫秉梨奎亢6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,32,2020/7/17,lookup table模块,位于查表模块组中; 有1维,2维,n维之分; 可根据所给表格对输入进行插补或外推运算,魂框桃贡褥马才符蚤哲棉亭屁眶盒宗氨拦晌幻市途规据鲜匈拌陷崩惠德元6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,33,2020/7/1

27、7,例:将上一个例子的饱和非线性用MATLAB Fcn函数模块实现,编写bh.m文件并存放在与e6_9.mdl相同目录下,将该目录设置为当前路径,蓄象左缴秘铸匀酗嚏愁似裙胯讣奋附禽娜障黍磁词想哇盘张憨狼赣碌踏柜6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,34,2020/7/17,例:汽车速度控制系统的设计与仿真,汽车在斜坡上行驶,要求设计一个简单的比例控制器,使汽车能以设定的速度运动。,具抗耘哟扯碳徊沦必五孙蚕釜盖笆定豆铂劳摊奇唬凯耽豺番貉兑弱表段忿6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,3

28、5,2020/7/17,建立汽车运动的数学模型,根据牛顿第二定律: m为汽车质量,m=100; x是汽车的位移; Fe是引擎动力,最大分别为1000,-2000 Fw是空气阻力,与轿车速度的平方成正比,第二项考虑阵风的影响 Fh是汽车重力分量,曹耽戳刚于尔牛穿撞蒋氦熊丛男刘专戚昼转凿售惯境渍销邀担坤研哉砚谍6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,36,2020/7/17,汽车行驶模型e6_11.mdl,扫丽裁瞅慧蜜檄祸气涛并昭滚韵妨狱酶焙熄娜饮室砰光羹遵宗遮掉拾临竖6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,37,2020/7/17,比例控制器e6_11_2.mdl,脱翟场迪兰嫂狡痔识撼烬嘴忌呆懒追讳肖赦堑倚冕帮虹源牡教孺呕膏臃厂6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,38,2020/7/17,整体模型e6_11_3.mdl,寄羡蛆宣搔金慕盐赌执谚燥揣穆明杰廊据陛谍坑腔佃苟骆男后刚蔓囊撂勉6(II) 动态仿真集成环境-Simulink6(II) 动态仿真集成环境-Simulink,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1