simulink中if模块_Simulink与圈复杂度

若干年以后,由于转行或者不再做技术等原因,你可能已经记不太清楚之前费尽千辛万苦习得的各种技术细节;但是,最终你会发现:依然有很多宝贵的概念留存并沉淀于脑海深处(比如中学课本中的某些物理概念)。今天来一起了解下:基于模型开发中,一个非常重要的概念---圈复杂度。1,圈复杂度simulink官方文档定义如下:Fig1 圈复杂度定义读起来,会不会有点懵圈呢?没关系。后面会逐步进行解释。首先圈复杂度可以用...
摘要由CSDN通过智能技术生成

ebbf43c05d9f3a519702aad07f4a2624.png

若干年以后,由于转行或者不再做技术等原因,你可能已经记不太清楚之前费尽千辛万苦习得的各种技术细节;但是,最终你会发现:依然有很多宝贵的概念留存并沉淀于脑海深处(比如中学课本中的某些物理概念)。

今天来一起了解下:基于模型开发中,一个非常重要的概念---圈复杂度

1,圈复杂度

simulink官方文档定义如下:

4e5f32b563fc7b99d200ec6c002dd311.png
Fig1 圈复杂度定义

读起来,会不会有点懵圈呢?

没关系。后面会逐步进行解释。

首先圈复杂度可以用来衡量单元模型结构复杂程度。

圈复杂度越高,说明模型越复杂,可测性就越差,那么相对来说也更容易出问题。

如果你设计过相对复杂的逻辑,可能体会更加深刻一些,因为它真的容易出错啊。

因此,这也给我们一些警示:

作为软件架构工程师,需要合理划分软件单元。不能让某个单元过于复杂,以至于难以测试。

作为模型开发者,应该尽量使用更简洁的方式搭建或者表达模型(别忘了美国程序员因无法忍受同事代码不规范而枪杀4名同事的疯狂事迹)。这就需要在软件需求分析方面多下功夫:用心解读软件需求,并弄清楚其内在的逻辑性和关联性。

2,Simulink如何计算圈复杂度?

那么simulink中,圈复杂度是如何计算的呢?

按Fig1 中定义的公式:

其中N代表判定分支节点的个数,

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值