Simulink一些知识总结资料.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、set_param 函数的应用 (一)函数调用格式: set_param(object,param,value),其中object为模块句柄,param 为参数,value 为参数值。 (二)举例 (1)启动模型仿真 set_param(gcs,SimulationCommand,start) (2)精确控制模型仿真步长 set_param(gcs, SimulationCommand, step),step 为仿真步长数。 (3)设置模块在模型中的位置 set_param(mymodel/Gain,Position,[50 250 125 275]) (4)设置模块的回调函数 set_param(mymodel/Gain,OpenFcn,my_open_cb) (5)设置模块的朝向 set_param(mymodel/Gain,Orientation,left) 二、实时改变模块的参数 单步仿真一次,改变一次参数的值,代码如下: set_param(gcs,SimulationCommand,start) while 1 set_param(gcs,SimulationCommand,pause) set_param(你的模块名,Resistance, 你想改变的值); %这一句你替换一下参数即可 set_param(gcs,SimulationCommand,step) end 三、上次末状态作为本次初始状态进行仿真 问:已经建立好一个数据仿真模型 现在想单独改变一个参数去观察参数扰动对结果的影响,例如参数变化范围是1000 到1500,每7s 的时间让参数变化100,用什么方法可以实现 ? 答:分次仿真,每次仿真保存末状态,下一次仿真前更改参数,再倒入上次仿真的末状态作为初始状态,设置如下图: 四、模型加上标题 问:怎么给模型加上标题? 答:双击模型空白位置,即可输入text 文本,并可以设置字体大小颜色等。 五、模型仿真时间与实际运行时间 Simulink 在Normal 模式下的仿真时间是非实时的,如果希望得知自己的模型转换为实际产品时的运行时间,需要将模型生成C 代码,下载到硬件目标中去运行并使用Profiler Timer 进行时间的记录。如处理器在环仿真Processor in the Loop 可以测出模型实际的运行时间。 六、关于模块参数和模型解算配置的问题 (一)模块参数的配置:根据用户算法要求来配置,具体参数意义与使用方法可以双击模块打开对话框后在help 按钮获取详细帮助。 (二)模型结算方法配置:运行仿真的算法一般由解算器提供,分为变步长解算器和固定步长解算器。默认模型选择变步长解算器的ode45 算法,能够适应大多数模型应用场景。如果用户求解刚性模型,需要使用ode23s 之类算法。如果用户是使用simulink 进行控制算法建模,那么用户一般使用固定步长解算器以模拟与硬件芯片相同的时钟频率。 七、激活stateflow 状态图方法 (一)方法一:通过模型的调度时间周期性激活; (二)方法二:通过trigger 信号去激活。 八、simulink 中过零问题讨论 问:simulink 中有哪些过零检测方法?是否有专门的过零检测模块? 答:只有自适应与非自适应两种选择,没有专门模块,但是很多模块里有是否使用过零检测的checkbox,如Relational Operator,switch 模块等。 九、模块采样时间与系统solver 最大步长关系 当模块的Sample time 设置为-1 时表示继承父层的采样时间,如果模块在子系统里就继承子系统的采样时间,如果模块在最上层模型,就继承系统solver 的步长作为采样时间间隔了。另外,如果模块的采样时间设置为-1 以外的值,如0 表示连续采样,这种时刻需要solver 解算器类型支持连续状态解算;当模块采样时间为0.5 这样的数字表示离散采样时间,每隔0.5 计算一次,这时要求模块的采样时间必须是solver 计算步长的整数倍。 十、solver 步长间隔对仿真的影响 在变步长解算器中,采样时间间隔(即步长)会根据前后两次计算值的误差动态改变。如果设置了最大步长,那么每次的步长就不会超出设置的这个上限。 十一、关于arduino 连接测温模块驱动的问题 问:在arduino 上连接一个测温模块(如DS18B20),查看DS18B20 的技术手册,说是利用单总线通讯协议就可以读取温度,我想问问在有相关的库函数及读取温度C 程序的情况下,怎么用simulink去驱动测温模块工作,并通过串口将温度传回PC? 答:有相关的库函数和C 例程的前提下,就把DS18B20 初始化的API 在model_initialize()中调用,在model_step(

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档