SimEvent怎么用?
(我是学物联网工程的,有个《系统建模与仿真》的专业选修,老师布置了两个大作业——使用MATLAB的Simulink建立一个连续系统模型和一个离散系统模型。)
(连续系统还好,学过《自动控制原理》,懂得使用Simulink中的积分环节,再加上一点《数字逻辑》的基础,基本上就都会了。这边有个PPT是我当时被老师赶鸭子上架、教全班人用Simulink时做的。传送门——http://download.csdn.net/detail/qq_21882325/9725895。因为是用来讲的PPT,所以内容不详细,有问题可以留言问我。)
(但是离散系统模型真是逼疯我了!!为啥百度“SimEvent”,啥都搜不到,只有孤零零一个SimEvent的英文文档……这让我这种险过4级的人怎么活!)
(于是,我就自己探索,自己琢磨。总算,有了点眉头……希望能帮到学弟学妹们2333333(如果能被百度到的话))
———————————————————————————————————————————————————————————————————————
开车。
************************************************************************************************************************************************************************
△SimEvent目录
打开Simulink Library,离散系统所需要的主要模块都在里面。
*************************************************************************************************************************************************************************
△几个最常用的模块组合
1.产生实体
Event-Based Random Number:随机数产生器,双击可以选择产生随机数的方式。在产生实体时通常选择泊松分布(Poisson),随机数种子可以任意选择。在上图组合中,Mean=k时,表示服从平均每k个时间单位生成一个实体的泊松分布,也就是平均每个时间单位产生1/k个实体。当然,由于是泊松分布,所以每个时间单位产生的实体数量会在1/k附近浮动。
Time-Based Entity Generator:实体生成器,双击可以改变实体产生所依赖的途径。通常选择“from port t”,以引入随机数生成器产生的基于泊松分布的随机数。选择“from dialog”的话,Period的值表示“每Period个时间单位产生一个实体”,数值不会浮动。
Display:这个在Simulink/Sinks/里面可以找到。双击实体生成器,里面的“stastiscs”里面可以选择想要查看的数据,引出一条线来接到Display上,运行模型之后就可以看到了。#d在这里是指产生并离开生成器的实体数量。
(注意,实体出入口和数值出入口的长相不一样,双箭头的是实体,不能连到单箭头的数值出入口上)
2.按比例分支
这里的随机数生成器的作用不再是生成一个随机数了,而是产生随机分支。很好理解,如下图。
Value Vector对应Output Switch的出口OUT1到OUT3,经过这个组合的实体,会以60%:25%:15%的概率从三个出口流出。(在Probability Vector中设置概率,要求加起来一定要为100%)
双击Output Switch可以改变出口数量。(随机数生成器的参数也要跟着改变)。
3.排队
双击FIFO Queue可以设置队列的最大长度,当队列到达最大长度时,前面的模块的运行会被阻塞,不能再将实体放到队列中。
“平均等待时长”通常是用来分析一个离散排队模型质量的最重要的参数。在FIFO队列的Stastics里面勾选w,再通过SimEvent Sinks中的Signal Scope可以查看平均的等待时长随时间的变化曲线,用以分析离散模型的性能。
4.服务
好端端的队列为什么会阻塞?原因就是服务会阻塞实体的流动。
同上,随机数生成器通常选择泊松分布,这里意思为“每k个时间单位服务一个实体”。
双击N-Server可以设置服务台的数量。当服务台被占满时,前面队列不能再往服务台传输实体。当服务完一个实体后,会继续接纳新的实体。
*************************************************************************************************************************************************************************
△几个“不常用”的组合
1.设定初始实体资源
当某种实体是固定数量的,而且需要循环利用的,怎么办?就比如操作系统中经典的理发师模型——理发师的数量是固定的,通常用完还要再用。(我们总不能不断地产生新的理发师来给顾客理发的,显然不合逻辑)
那么,怎样才能产生固定数量的理发师后,就停止继续产生该种实体呢?答案就是上图了。
将资源池(Resource Pool)的资源数量设成想要的数量,将Time-Based实体生成器的生成速度尽可能调高,实体经过Resource Acquire之后就会消耗k个(自己设置)资源池的资源数量。这样就能在最快的时间内产生固定数量的实体。
2.实体合成
当队列0与队列1中都有实体的时候,就可以经过Entity Combiner,合成为一个实体输出。
当队列0有实体,队列1为空的时候,则阻塞等待队列1的实体。反之亦然。
*************************************************************************************************************************************************************************
(拖了一个寒假才敲的这篇博客,所以简陋了点。估计也就下学期修了《系统建模与仿真》的学弟学妹才会浏览这篇博客了233333。有问题留言咯。)
哦,附上我的报告…
http://download.csdn.net/detail/qq_21882325/9759024
SimEvent怎么用?相关推荐
- 云计算仿真框架CloudSim介绍
幻灯片1 云计算仿真框架CloudSim介绍 jiangzw#ihep.ac.cn (以下为本人某次报告做的调研的PPT及其它一些实践记录,为保证清晰度,一些插入的图片较大,可在新标签页中打开) ( ...
- 手把手教你用MATLAB制作一款 [狗头翻牌子] 小游戏(点灯游戏)
0 游戏效果 就是点击一个牌子时,该牌子和周围四个牌子也会相应发生变化,想办法让所有牌子都在同一面即为游戏胜利. 1 fig界面和背景板 这一段比较简单,主要是对界面和背景板的属性设置,我们采用编程的 ...
- 深度学习OSSIM关联分析(附源码注解)
从海量安全事件中挖掘有用的威胁信息与情报是当今讨论的热门话题,同时这也是一个难点?怎么实现呢?这里用到一种技术叫做关联分析,他也是SIEM(Security Information Event Ma ...
- cloudsim资料收集
转:http://blog.csdn.net/wbxbrenda/article/details/17333215 1.[英文]对CloudSim仿真器资源管理的改进 http://bbs.china ...
- 浅说Mathworks的算法开发解决方案和MBD
感谢慷慨和伟大的Mathworks!创造了伟大的Matlab&Simulink,提供了优秀解决方案,还让那些买了自己都买不起它的能够正常的用上它.我的梦想--有一天我有套自己的Matlab&a ...
- CloudSim5.0学习笔记
目 录 CloudSim是什么? 1. CloudSim仿真器的简介 2. CloudSim版本的变化 2.1 从CloudSim beta1.0到CloudSim2.0的变化: 2.2 从Cl ...
- 关于CloudSim的一些笔记
因为毕业设计要涉及到在CloudSim系统上做拓展,所以就先记录下学CloudSim的过程,自己的毕设不涉及网络拓扑这方面,所以也不研究这部分内容.内容大多是网上扒的加以整理,有部分自己的想法. Cl ...
- CloudSim(3.0.3)运行机制见解
CloudSim(3.0.3)运行机制见解 本文为markdown重构版 原文链接:CloudSim(3.0.3)运行机制见解 接到导师的命令,最近几日在学习CloudSim3.0.3的源码,看着看着 ...
- CloudSim核心问题理解
1.optimizeAllocation函数中为何要先store所有虚拟机和主机映射,然后再restore进行恢复? 1)此函数先会执行getOverUtilizedHosts操作,得到过载主机: 2 ...
最新文章
- 最基础!MySQL基础查询SELECT
- ssrf漏洞 php,DokuWiki fetch.php SSRF漏洞与tok安全验证绕过分析
- Kafka开发指南之 如何Kafka 事务型生产者,保证生产者exactly once
- 【JSP简单实现购物车(书本案例代码)】
- 计算机怎样双面打印,电脑双面打印机怎么打印双面_电脑如何设置自动双面打印-win7之家...
- Linux-DHCP服务器
- Python 的图形用户界面
- android 视频、图片混合轮播控件zbanner
- 西电计组II 实验1
- 校招の如何做面试准备
- MySQL的enclosed-by和escaped-by
- 血氧仪方案-血氧仪的功能及应用
- 工作三年的前端开发20k简历标准
- Makefile中的奇葩字符
- [Unity实战]制作卷动的波浪
- Manjaro Linux安装ROS2 humble机器人系统:从开始到安装完成
- 几款好用到爆炸的在线画图工具
- android计算器布局(TableLayout)
- SOT-23封装下的PNP NPN NMOS PMOS
- Avaya交换机呼叫中心解决方案