解答一:

Bus Creator:由几路输入信号合成为一条总线信号
Bus Selector:由总线信号中选取需要的一路或几路信号输出
Mux:信号合成
Demux:信号分解

Bus的可选择性较多,如Bus Selector可以选取总线信号中的某路信号进行输出,而Demux则则是按顺序输出,不能自定义选取。

用mux的地方都可以用bus creator代替。如果仅仅为了模型仿真连线方便,使用mux,demux就好。

Bus creator/selector还能在代码生成时实现struct的数据结构

解答二:

首先来看mux
Mux模块的基本思想就是将多路信号集成一束,这一束信号在模型中传递和处理中都看做是一个整体。(Mux实际上代表多路信号。)与Mux Block配套的是Demux Block,它将各路信号相互分离以便能对各信号进行单独处理。 请看下面这个例子。
Mux将三路信号x,y,z集结为宽为3的单路信号。Demux模块则用来从复合的单路信号分离出各基本元素。Mux和Demux都不会将信号改变,它们只是“虚拟”的。当模型运行时,这些模块就像不存在一样,只是源和目标的连接保持着,就像这样:
使用mux的一个重要应用就是构造向量。这表示你可以将它的输出当作一个向量来使用。比如,将向量乘以2。
这种类型的向量操作要求所有输入Mux模块的信号都是同种数据类型。从我的理解来看,只是为了使得它们组成的向量有意义。通常,这些信号元素都具有相同的单位或者说它们是有特定作用的组。对于Mux模块,你只需要定义输入信号数量。
使用虚拟向量形式的另一个好处是你可以使用selector模块来索引并取出各路信号或再进行连接。

接着讨论bus
当需要将不同类型的信号集结在一起,或者在使用向量不能方便的表达我的模型图时,我们可以使用bus。总线bus信号确实可以使你的模型图变整洁。Bus Creator和Bus Selector以图示的形式方便了管理信号和组织模型。在我的想象中,bus就像是一系列七彩的信号线被绑在一起。如果不是这样,我恐怕很快就会很难组织这些信号了。作为实例,请看Aerospace Blockset中的an example model of the DeHaviland Beaver。
在模型的最上层,所有对象都整洁有序,这是因为所有在各个子系统内计算的信息都被集入了一条总线。各个系统都使用Bus Creator将相关信号打包装入了一条总线内,接着将总线输入需要这些信号的各系统。
你能想象如果这些信号没有集入总线是什么样子?下图是一个同样的模型,但它看起来很乱。
在这个模型里,许多组件子系统使用总线信号以形成较简洁的接口。我注意到,部分人只在别的系统需要时才将信号放入总线内。以下就是用总线信号来定义接口的一个系统实例。
浏览这个模块图,你会发现飞行参数(FltParams)是由环境参数(EnvirBus)和飞行器信号(ACBus)计算而来。在这个子系统内部,你可以看到使用了Bus Selectors来从打包信号里将特定元素取出。计算出来的飞行参数通过一个Bus Creator组合在一起来定义FltParams总线。
总线信号也可以表现不同层次

我们来看一下Environment Bus中的层次结构。这是一个将一路总线并入其他总线内的例子。环境信号中重力加速度(g)和压力(rho)以及wind bus(Vwind)被导入Bus Creator。而wind bus则由body velocities(uvw_wind)和body rates(pqr_wind)来定义。

MATLAB-Simulink中BusCreator/Selector 和 Mux/Demux有什么区别?相关推荐

  1. matlab三角波发生器精度改为定点型,关于matlab simulink中三角波模块的问题!

    问题描述: 关于matlab simulink中三角波模块的问题! 为什么我把时间参数换一下,产生的三角波会越来越乱,最后干脆不产生了? 1个回答 分类: 综合 2014-11-20 问题解答: 我来 ...

  2. Matlab simulink中找不到s函数

    Matlab simulink中找不到s函数 问题 Error in S-function 'benchmark/Bioreactor_4/Bioreactor_4': S-Function 'asm ...

  3. Matlab/Simulink中信号线拉成斜线的方法

    Matlab/Simulink中模块间的信号线默认为水平或竖直的连接线,将其拉成斜线的方法为:按住Shift键再用鼠标在该线处单击一下,线的两端会出现折点圆圈,拖动该折点即可将直线改为斜线,如图所示:

  4. MATLAB/Simulink中的S函数报错

    关于MATLAB/Simulink中的S函数报错: Output returned by S-function 'xxx' in 'xxx' during flag=3 call must be a ...

  5. 伯德图 matlab,Matlab/Simulink中bode图的画法

    在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高.如何在Matlab/Simulin ...

  6. Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

    Matlab/Simulink中PMSM模型的反电动势系数和转矩系数 在PMSM仿真中常常会用到永磁磁链ψ\psiψ,但是电机的参数手册中却不会直接给出永磁磁链ψ\psiψ,给出的是反电动势系数Ke和 ...

  7. MATLAB Simulink中自定义函数和switch case的用法

    文章目录 1 Simulink自定义函数MATLAB Function 2 Simulink中Switch Case模块的用法 1 Simulink自定义函数MATLAB Function 首先写一个 ...

  8. matlab/simulink中自定义m-s函数作为simulink模块使用实例

    一般而言matlab/simulink能满足多数使用要求,但是往往在研究中会使用User-difinition s-function或者调用c,c++的库函数,这时候就需要matlab能进行c,c++ ...

  9. matlab/simulink中代数环的问题及解决措施

    一.代数环的问题 在数字计算中,输入信号决定输出信号,同时输出信号也决定输入信号,由于数字计算的时序性,导致没有输出信号无法计算输入信号,没有输入信号又反过来无法计算输出信号,形成一个死锁(deadl ...

最新文章

  1. java 操作数据库
  2. Openstack DashBoard:不能创建用户和配额的问题
  3. 数据结构:下列选项中,不可能是快速排序第2趟排序结果的是(2019年全国试题10)
  4. 【tensorFlow】——图像数据增强、读取图像、保存图像
  5. jvm 助记符_您的JVM是否泄漏文件描述符-像我的一样?
  6. java无锁消费者框架_无锁并行框架多生产者多消费者模型
  7. 自定义Valid注解,校验List集合
  8. C++ :stringstream介绍,使用方法与例子(转)
  9. 用Java实现非阻塞通信
  10. IC卡插入与触点激活时序
  11. Nexus下载构件失败
  12. python 面向对象 烤地瓜实例
  13. 腾讯云上海服务器稳定吗,腾讯云服务器上海机房速度怎么样 1M带宽是否够用
  14. win7计算机管理中看不到新加的硬盘,win7系统看不到第二块硬盘的解决方法.
  15. 西安建筑科技大学计算机系专业怎么样,西安建筑科技大学好就业吗?附西安建筑大学就业年薪...
  16. kinect fusion 3D重建基本算法
  17. 软件测试的7个基本原则
  18. jQuery面试题答案
  19. java判断敏感词_Java实现敏感词检测的代码详解
  20. rpm包制作之openssh8.7升级

热门文章

  1. 5. 统计学基础1:平均值...四分位数、方差、标准差(均方差)、标准误(标准误差、均方根误差)、 标准分
  2. 什么是设计模式?(Design pattern)--和生活结合更好理解
  3. 多线程实现的四种方式详解
  4. 值得 .NET 开发者了解的15个特性
  5. 【C语言内功心法】__weak -- 示弱也是一种强大
  6. makefile编写helloworld
  7. Oracle查看表空间和数据表的使用情况
  8. Windows系统与debian系统双系统安装
  9. 《星际争霸》怀念星际历史上最强的队伍系列三
  10. Windows API一日一练(59)CreateFileMapping和MapViewOfFile函数