我是靠谱客的博主 微笑手机,最近开发中收集的这篇文章主要介绍Simulik实现事件触发的三种方式对比总结文章目录前言一、DetectChange模块实现二、Stateflow实现三、MATLAB Function实现四、对比分析总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

前言

一、DetectChange模块实现

二、Stateflow实现

三、MATLAB Function实现

四、对比分析

总结


前言

        近期在做的一个项目,遇到了一个事件触发Bug,卡了挺大一个壳。 利用周末时间把事件触发扩展了一下,总结分享出来,以备将来复用,同时也希望帮到相关领域的网友。

一、DetectChange模块实现

        Simulink自带的库模块DetectChange模块可以实现对事件的识别,实现方式如下:

         其中DetectChange模块的配置如下:

                运行的效果如下:

二、Stateflow实现

        同样的功能也可以用Stateflow来实现,具体实现方式如下:

         其中Stateflow模块的内部写法如下:

         运行的效果如下:

三、MATLAB Function实现

        上述功能用MATLAB Function实现的具体方式如下:

         其中MATLAB Function模块的内部写法如下:

function out = fcn(inold,in)
out = 0;
if inold~=in
    out = 1;
end

        运行的效果如下:

四、对比分析

        DetectChange方式是实现事件触发最简单快捷的方式,适用于比较简单的应用场景。

        Stateflow方式相比DetectChange,能够加入一些时间维度的逻辑,比如触发的条件可以加上积分滤波,触发之后延迟一段时间再动作,或者触发之后的动作持续维持一段时间。

        MATLAB Function方式相比前两种,能够加入一些复杂的算法,比如触发条件同时要满足密钥解算,满足CRC校验等。

总结

        以上就是本人对Simulink中事件触发实现方式的总结和分析,主要是介绍了三种不同的实现方式,并分析了各自适用的场景,有助于在做项目时选择最合适的使用方法,避免错误尝试和推倒重来。上述三种实现方式的Demo工程,也可以到笔者主页查找和下载。

        后续还会更新更多关于Matlab/Simulink编程使用技巧方面的内容,欢迎评论区留言、点赞、收藏和关注,这些鼓励都将成为笔者持续分享的动力。


        版权声明:原创文章,转载和引用请注明出处与链接,侵权必究!

最后

以上就是微笑手机为你收集整理的Simulik实现事件触发的三种方式对比总结文章目录前言一、DetectChange模块实现二、Stateflow实现三、MATLAB Function实现四、对比分析总结的全部内容,希望文章能够帮你解决Simulik实现事件触发的三种方式对比总结文章目录前言一、DetectChange模块实现二、Stateflow实现三、MATLAB Function实现四、对比分析总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部