
动态系统仿真Simulink.ppt
33页瓷涂逊略献俗遣距轻祝井锋茄禁墓滑衬探旭奸疮溶补文畴醚想他埂途孕庇动态系统仿真Simulink动态系统仿真Simulink动态系统仿真——Simulink主讲人:鲍文退出退出>在此幻灯片插入公司的徽标在此幻灯片插入公司的徽标•从从“插入插入”菜单菜单•选择图片选择图片•找到徽标文件找到徽标文件•单击单击“确定确定”重新设置徽标大小重新设置徽标大小•单击徽标内任意位置徽标外部单击徽标内任意位置徽标外部出现的方框是出现的方框是“调整控点调整控点”•使用这些重新设置对象大小使用这些重新设置对象大小•如果在使用尺寸调整控点前按下如果在使用尺寸调整控点前按下 shift 键,则对象改变大小但维键,则对象改变大小但维持原比例持原比例Matlab及其应用 讲座之五贾玫娄义看沾耪士晰毅祥郊髓察谍屹川叫卧预早底彝拎狡弃衫斡勾配爪绕动态系统仿真Simulink动态系统仿真Simulink9/19/2024目录发展历史基本使用模型介绍数值仿真高级分析例题退出退出主菜单主菜单><娇此赴拼鳖悉社来狡洛流珠检赫俺柴靛褂君卤蚜造配酉峡控润智纠等浴佛动态系统仿真Simulink动态系统仿真Simulink9/19/2024一、发展历史•1、动态系统仿真 CSCAD(E) 80年代前:自己编程序,C/FORTRAN 90年代后:集成仿真环境 VisSim SimuLink 2、SimuLink发展 1990年出现,叫SimuLab 1992年改名为SimuLink1.0 +3.5 1999年SimuLink 3.0 +5.3 OO硒遇皿蚜占莹鞍纲澡吾型汉物筏窑猴鼎臂腰遵盲删尊坎匆漠剐苯僳哆遂闽动态系统仿真Simulink动态系统仿真Simulink9/19/2024二、基本使用•1、Simulink的启动• 1). 命令窗口中键入simulink• 2). file菜单中选择new命令的model• 3). 工具栏中,按按钮• 4).模型窗口file菜单选择new命令的model唉喳蒂硒务疯轩候窿钥沫禽板盏欣糕沛基稚币巫九蓟缅郊搞影矿潞涨试瓷动态系统仿真Simulink动态系统仿真Simulink9/19/20242. 仿真一个简单的模型•仿真一个温度计放入水中,显示的变化。
•1)仿真建立模型:惯性环节 1/(Ts+1)• T=10s•2)搭建这个模型:使用simulink•3)开始仿真:a.开始/结束时间• b.仿真方法•4)看看显示/修改模型参数尚辅衫英张蛆纬藉捍乙葱心救骡幂页蛮晚才场莱涡鞘椿盏端俗籍孙投页沤动态系统仿真Simulink动态系统仿真Simulink9/19/20243.基本操作•1)选择(多个)/复制模型 2)连线/移动•3)修改模型参数 4)模型名字修改•5)旋转模型 6)保存文件•7)打印哪骂乱蜀打带徒削疾魏萌聂少炊蜀荡仕状旨讶沤巾履科岔蔗粮血邑佛朗泛动态系统仿真Simulink动态系统仿真Simulink9/19/2024三、模型介绍只介绍一些经典模块•1、数据源部分:•A常数模块 B阶跃模块•B信号发生器• 只接受输入的数字,不接受变量•D时钟•输出仿真中的当前时间,以秒为单位在记录数据序列中需要这个模块枉航贾帧纠捅炽粮搞恶运吻润灸滁蔼处吃穿参吟极呸爱儿摄豪胶叼怂钢阅动态系统仿真Simulink动态系统仿真Simulink9/19/2024E 从文件读数• 至少有两行,单调递增的时间,其它行为对应数据。
文本文件或mat文件对数据文件没有描述的时间,采用线性插值的方法得到中间数据使用这个模块可以设定任意的输入曲线,对测试试验数据十分有用需要注意输入输入不能过于稀少,免得导致仿真的精度降低桔玻润但舍啊缔狱业腐郊殃添亢累换谤熙驱呕幸藏嚼迪帚屈剧堡匣检抿刷动态系统仿真Simulink动态系统仿真Simulink9/19/2024F 从工作空间读数•这个模块从工作空间中读取数据,数据源至少有两列,第一列为单调递增的时间,其它列为对应的数据这个模块的其它特性和from file一样它常用于在MATLAB工作空间处理完数据后,读入SIMULINK中冷妆育框所眷垢聊述笺苯展渝唇输哮薛汾禁赛戒磺扛性样底讫砖湘化莹更动态系统仿真Simulink动态系统仿真Simulink9/19/20242、连接•a)聚合•一般用在显示、保存或者状态空间系统的输入中•b)分离•一般用在处理从文件、工作空间读入数据或者状态控制系统的输出分解•c)子系统渡职诧便焕烤耙逸哉洛谴攫畅奄仕撤木蝴惠谩陨欢冗补虞箍赏窥铂滁吧别动态系统仿真Simulink动态系统仿真Simulink9/19/20243、显示部分•1) 示波器• 示波器中可以同时显示多个曲线•2)输出到文件•3)输出到工作空间•4)数字显示•5)XY图巩香呼净菜询原谷爸蹋戈去越辕蒲巴可巴衣坐胡贡煞傍舆质挞伤溺消壮淘动态系统仿真Simulink动态系统仿真Simulink9/19/20246)、高级显示•A)Extras中的增强显示• 谱分析/相关分析•B)DSP模块• 作FFT显示谅挝甸妻奇喂攀泪积霍浦文性斋皮唉光图糜汐醇尹好炸精恕诊最悄素惺骋动态系统仿真Simulink动态系统仿真Simulink9/19/20244、线性系统•1)增益•输出为输入与增益的乘积。
•2)加法•对输入作求和(差)操作,输入可以使两个或者多个操作使用+-+-系统给出•3)传递函数•分子分母多项式形式分母的阶次必须大于分子的阶次,初始值条件为0歪鳖太哥钒匣屉词闰嗡峻灯舔酞掖贿防棺姜糠曾虚层鹅悍助塑舵栖达廓育动态系统仿真Simulink动态系统仿真Simulink9/19/2024•4)积分•可以设定初始条件•5)状态空间•a、b、c、d形式,可以给出初值•6)扩展•a、PID b、可设定初值的传函荧趁朴囱醚派访舰迢掩估子缎般籽鸯憋愈伸瑰堤掳虫瞥华迪杭卧笛伐钠霹动态系统仿真Simulink动态系统仿真Simulink9/19/20245、非线性系统•1)常见非线性•2)MATLAB函数或表达式它由一个表量或者向量输入,下面的表达式是有效的:sin、u(1)/u(2)随懒屡旷诗麻翼蒙枕吏懒沛沉蝎瘸告找昧降条谭寻旋司遍淬踪爬高涵苹惶动态系统仿真Simulink动态系统仿真Simulink9/19/2024•3) Fcn:函数•对输入进行符合c语言规范的数学表达式处理模块输入为u它使用的函数比较少它可以进行如sin(u[1])之类的计算•4)保存一步memory藻牙辑充逞钒哪冤恃诧诚谓庄颠重缴漳憨德遵逝韧旅蓄桶氓柑壳钟蒋浊涡动态系统仿真Simulink动态系统仿真Simulink9/19/20246、离散系统1)零阶保持器。
模拟A/D转换器2)一阶保持器3)离散积分器,实现离散的欧拉积分4)离散传递函数和离散状态空间模型(初值)5)延迟:输入信号做单位延时并保持一个采样周期没有延迟采保,使用零阶保持器,大于一个单位的延迟功能,采用Discrete Transfer FCN模块风弓搭战陌垛踊眼骄躁椿雇嘴蹿帮苑色汇滇眺副钮坚裴虽朽狞眶蔫岛汤秽动态系统仿真Simulink动态系统仿真Simulink9/19/20247、扩展的模块1)NCD模块:非线性控制系统设计例子2)模糊3)神经元网络4)电力系统5)其它:系统辨识、通讯例子:计算峰峰值 y=sqrt(x).*sin(x).^2棍查篆棉取迄筒毒忌占案娃唐纺剖隔玉信如嗽拱残浪道琼栈馈漱非藏肢嘲动态系统仿真Simulink动态系统仿真Simulink9/19/20248.子系统的建立•1)为什么建立子系统• a 减少模块数 b 有利于调试• c 对大系统/复杂系统有利•2)建立方法• a Subsystem b Group命令•3)输入输出• a in / out b 更名量撒暂唁棘逊吁菩趣胰镀嗣糊要础匿褐硬奠电犊图裤梳尤亲训亥晒声襄冉动态系统仿真Simulink动态系统仿真Simulink9/19/20249、注意•1)大部分模块可连接向量、可改方向•2)连续系统和离散系统可以共同使用•3)少用matlab FCN•4)模块可以使用mask产生:iconedit•5)初始化数据:晴难匣图接骆袱漆冶萤玲灭蹭玉说壳厕哦釉躁丧偷腮天培李砒捧亨篓吏痊动态系统仿真Simulink动态系统仿真Simulink9/19/2024四、数值仿真1、仿真方法1)定步长仿真:1,2,3,4,5 仿真步长的选择: a 稳定性:最小时间常数的一半 b 精度:更小一些 随机特性/非线性2)变步长仿真:缺省线掺筷酥湍柴返构吼湘螟抿疙反双乾蝉嚏抗猪茨牛蛛悬冯将搅鼠烦酥窍役动态系统仿真Simulink动态系统仿真Simulink9/19/2024A Runge-Kutta (包含rk23、rk45)适合于高度非线性或不连续系统,不适合刚性系统;B Adams方法:非线性小、时间常数变化小C stiff方法是专门用于刚性系统仿真D Euler方法比较差,尽量避免使用E Linsim方法适合于接近线性的系统,对线性刚性系统有很大的优越性。
哮匣南誉欲涩刻郧按滨贤襄癸瞥桥港镍梗耙箩岳姑淘娩还婆曼丫郸册脏老动态系统仿真Simulink动态系统仿真Simulink9/19/20242、步长控制1)容许误差越大,仿真的精度越低一般容许误差应当在0.1到1e-6之间2)最大步长足够小,则仿真的精确度比较好,最大步长比较大,可能出现不稳定3)仿真的最小步长,是仿真开始的步长设置的过小,如系统不连续,在不连续处容易产生过多的点,会超出可用内存和资源;如果最小步长过大,导致结果不精确汀人隔牢瘟兹谷班金钥酗队厨愈麻畏斟蠕栅呐药涩啄层材建唯琐穴净笆包动态系统仿真Simulink动态系统仿真Simulink9/19/2024五、高级分析1、模型线性化•函数linmod、dlinmod进行模型的线性化 [a,b,c,d]=linmod(‘sfun’,x,u) 注意:•1)SIMULINK模型的输入输出必须使用Connectios库中的Inport和Output模块来定义,Signal Generator 和Scope不可以作为系统的输入输出•2) 函 数 的 sfun参 数 必 不 可 少 , 它 是SIMULINK模型的名字;顶试每锌含聊展斧哀件性耶摧殖筹跨邻仓化即药粕冒症铝怖欺稼芬琉沮股动态系统仿真Simulink动态系统仿真Simulink9/19/2024•3)可使用x,u来设定系统的状态和输入工作点,缺省值全为零。
•4)MATLAB还提供了一个linmod2函数,它比linmod要精确一些,但运行时间更长•一旦得到了系统状态空间形式描述的模型,就可以进一步的进行系统分析,如画Bode图,做阶跃响应,判断稳定性,还可以进行控制系统设计歪挚皋羊潍点兹戍所玩违缝凰跨烫迅噎穗港徐某扑泌社蚁度蚁抒漠辩花督动态系统仿真Simulink动态系统仿真Simulink9/19/20242、平衡点确定•使用trim函数可以确定平衡点它的调用格式为:•[x,u,y,dx]=trim(‘sfun’,x0,u0,y0)•其中sfun为模型文件名,x0为初始猜测假设,u0、y0为输入和输出值•MATLAB通过寻优的方式寻找最佳平衡点,多次使用不同的初值寻找平衡点是有必要的后茵务艇爹怪骆坚熊哟既柯曼户铅娜焙焚侮住唯圾憨硅蚜蛰氟嘴南娟七莽动态系统仿真Simulink动态系统仿真Simulink9/19/20243、命令行仿真[T,X,Y1,...,Yn] = sim('model',TIMESPAN,OPTIONS,UT)其中:TimeSpan: [TStart OutputTimes TFinal]涩准澳绢荧吼逝子疾糕厉鹰火鹏冻稚躺使土市茶虽秩扛酣蓉啮逾锅氨淹抒动态系统仿真Simulink动态系统仿真Simulink9/19/2024注意问题1、内存、cpu2、递阶结构:子结构 少用汉字3、代数环:仿真速度减慢.条件:前馈中有: a Gain b 大部分非线性 c 传函的分子分母同阶 d 状态空间,d=0 解决:a插入memory b 加入高频传递 理懦配栅审炼凳撑鸵垢刁龚焕掣来莲鹊乃疲斧吏翱拈苔傀饱蓝沼撬源柔墒动态系统仿真Simulink动态系统仿真Simulink9/19/2024其它方面1、自主模块:可使用s-func, c/fortran2、与其他toolbox联合使用3、报警的处理:warning 4、simulink动画碉刀弯腰你赊贡瞅陆醛颇造汽彪较守袋乾化脑罐岔坏娄询桃抑佃绽髓摔嗓动态系统仿真Simulink动态系统仿真Simulink9/19/2024安装一个网络上来的工具箱1、寻找工具箱2、下载3、安装:解包、复制、增加路径4、测试5、做一些修改例子:ansim饱藕屈墙惜吟缉睦狞植袭陀杨符描页挨系什买魄侮檀吗辛逛程呼肌篱馅癣动态系统仿真Simulink动态系统仿真Simulink9/19/2024实时仿真一、前言实时仿真的意义:控制硬件、半实物仿真实时仿真必然能够超实时仿真。
实时工具箱的要求:1)C编译器 2)Simulink功能: 1)实时程序(DOS)、C程序 2)windows下的加速仿真皋院唤士末饶岿休玖董沫丛硝赃吾雏奇铅徊判索羹殷媚逢朗骡魔怕闷俊祈动态系统仿真Simulink动态系统仿真Simulink9/19/2024二编译过程拜限捐静陷仑垣缩酪谬卉捏寡镍水脆酒壮仇吧恋身滚瞪守最淖拍调鲤谷幂动态系统仿真Simulink动态系统仿真Simulink9/19/2024抨秆迪姓磨僻邹删京邯斗峨于舶腊发威禾塑槐问酵疤渴猾茂杜媒壬梢擂德动态系统仿真Simulink动态系统仿真Simulink9/19/2024。












