Simulink - 每 30 秒输出 1,否则输出 0

2024-01-06

我需要一个需要每隔 30 秒或略超过 30 秒输出 1 的子系统。

用matlab代码编写它应该像这样工作

function y = fcn(time,uplinkTimeInterval)

%#codegen

persistent lastTriggerTime

if isempty(lastTriggerTime)

    lastTriggerTime = 0;

end 

if time>=lastTriggerTime || time == 0

    y = 1;

    lastTriggerTime = time + uplinkTimeInterval;
else

    y = 0;

end

end

其中 ulplinkTimeInterval 为 30 秒。当然,我尝试将 matlab 功能块与此代码一起使用,但由于某种原因它不起作用(在调试模式下,我可以看到 y 取值 1,因为它应该是,但它只是不输出块之外的值),因此我想使用块,但我不知道该怎么做。

非常感谢您的帮助


您可以使用代码或块相对轻松地实现此逻辑。当您请求使用块的解决方案时,它就在这里!

  • Use the clock块来跟踪时间,还有一些constant块来确定给出 1 而不是 0 的时间间隔(以秒为单位)。
  • Use the memory阻止延迟clock按 1 个时间步发出信号,因此我们可以比较连续步的值。
  • 将时间除以间隔,然后向下舍入,得出many间隔已经过去了。
  • 最后,使用比较连续的“通过的间隔数”relational operator。如果上面的线上已经过了更多的间隔,那么您就刚刚跨过了间隔阈值。

Note:对于尚未跨越新间隔的每个时间步,这将返回 0;对于已跨越新间隔的每个时间步,这将返回 1。输出的准确性将取决于模型的步长。


Edit:只需添加以下内容可能会更清晰/更容易memory块之后floor块,因此您只需进行一次除法/舍入。它仍然允许您与前一个时间步骤进行比较。那看起来像:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Simulink - 每 30 秒输出 1,否则输出 0 的相关文章

  • R和matlab中的qr函数

    我有一个关于将 matlab 函数转换为 R 的问题 我希望有人能提供帮助 matlab 和 R 中使用的标准 QR 分解称为 qr 据我了解 用两种语言执行 qr 分解的标准方法是 Matlab Q R qr A 满足QR A R z l
  • HTML 时间输入类型 - 如何在单击任意位置而不仅仅是单击时钟图标时选择时间菜单视图

    I working on the time input type in HTML my problem is when I click on the small clock icon on the right side of the inp
  • 计算向量中连续 1 和 0 的数量

    在 Matlab 中我有一个如下所示的向量 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 我现在要做的是统计这个向量中1的个数 连续的 1 算作 1 此外 我还想计算 1 之间 0 的平均值和中
  • 读取 MEX 文件中的 4D 数组

    我在 MATLAB 中有一个 4 维数组 我正在尝试访问 MEX 函数中的数组 下面创建 testmatrix 一个 4 维矩阵 已知数据为uint8 type Create a 4D array 2x 2y rgb 3 framenumb
  • MATLAB 引擎函数的输入参数

    我正在尝试使用 MATLAB 引擎在 Python 中调用 MATLAB 函数 但遇到一些问题 在设法将 NumPy 数组作为函数的输入处理后 现在 MATLAB 出现一些错误 MatlabExecutionError 未定义输入函数 si
  • 在 MATLAB 中绘制圆

    我被要求找到在 MATLAB 中绘制圆的不同方法 看起来很无聊 不过我可以想出一些想法 有些可能效率低下 Method 1 ezpolar x 1 Method 2 t linspace 0 2 pi 100 plot sin t cos
  • 如何转换存储为两列(开始、结束)的日期范围以创建新行索引并填充值[重复]

    这个问题在这里已经有答案了 我想将存储为两列 开始 结束 值的日期范围转换为仅包含日期和值的两个新列 my data id end start value 1 4421 2014 01 01 2014 01 03 10 2 4421 201
  • 如何在 Excel 中创建时间范围图表

    Can anyone help me create graph of time ranges of all elements in Excel My data looks like this 连接时间和断开连接时间数据值采用 24 小时格式
  • 笛卡尔散点图上的极坐标网格线

    我有一个脚本来创建散点图 使用gscatter 基于另一个脚本生成的 x y 数据 离散数据点 不连续 由于这些数据点实际上是圆形空间中某些对象的位置 因此添加极坐标网格线将使绘图更有意义 有谁知道如何在笛卡尔散点图上显示极坐标网格线 或者
  • 如何从 Matlab 在 vi​​rtualenv 中执行 Python 代码

    我正在创建一个用于研究的 Matlab 工具箱 我需要执行 Matlab 代码 但也需要执行 Python 代码 我想允许用户从 Matlab 执行 Python 代码 问题是 如果我立即执行此操作 我将必须在 Python 环境中安装所有
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 如何将向量标准化/非标准化到范围 [-1;1]

    我怎么能够正常化到范围的向量 1 1 我想使用函数norm 因为它会更快 也让我知道我该怎么做非规范化之后的向量正常化 norm对向量进行归一化 使其平方和为 1 如果要对向量进行归一化 使其所有元素都在 0 和 1 之间 则需要使用最小值
  • 在Matlab中将矩阵中的元素i,j设置为i*j

    我想生成一个矩阵 其中 i j 元素等于 i j 其中 i j e g 0 2 3 2 0 6 3 6 0 到目前为止 我已经发现我可以使用这个索引矩阵访问非对角线元素 idx 1 eye 3 但我还没有弄清楚如何将矩阵单元的索引合并到计算
  • 在 MATLAB 中高效地形成动态窗口

    有人可以帮助我提供一种有效的方法 或者帮助我执行提供的代码 以尽可能少的步骤获得相同的结果 我将感激你 我有一个原始数组 A 1 1 1 4 3 4 5 4 4 3 3 1 0 0 2 6 2 6 3 6 6 2 7 4 8 7 2 2 2
  • 优化数组压缩

    假设我有一个数组k 1 2 0 0 5 4 0 我可以按如下方式计算掩码m k gt 0 1 1 0 0 1 1 0 仅使用掩码 m 和以下操作 左移 右移 And Or 加 减 乘 我可以将 k 压缩为以下形式 1 2 5 4 以下是我目
  • MATLAB:生成给定三种颜色的颜色图

    我正在尝试在 MATLAB 中生成给定三种颜色 最高值 零值和最低值 的颜色图 我的思维过程是从最高端到中间循环 并将每个步骤存储到一个 3xN 第一列是 R 第二列是 G 第三列是 B 矩阵 所以我正在使用 fade from high
  • 比较元胞数组中的字符串

    我试图在单词列表中找到最常见的单词 到目前为止 这是我的代码 uniWords unique lower words for i 1 length words for j 1 length uniWords if uniWords j lo
  • 如何在Matlab脚本中将泰勒级数系数存储到数组中

    这个问题是在 m 脚本的上下文中 我知道如何获取函数的泰勒级数 但我没有看到任何命令允许将级数的系数存储到数组中 sym2poly似乎不起作用 如何将系数存储到数组中 例如这个函数 syms x f 1 x 2 4 x 9 我们怎样才能得到
  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • 在matlab中设置图例符号的精度

    我有这个 leg2 strcat Max Degree num2str adet 1 1 ch l leg3 strcat Min Degree num2str adet 1 2 ch l leg4 strcat Max Request n

随机推荐

  • 使用特定列键入提示 pandas 数据框

    假设我有以下函数 def foo df pd DataFrame gt pd DataFrame x df x y df y df xy x y return df 有没有办法暗示我的函数正在接受必须具有 x 和 y 列的数据框 并且它将返
  • MongoDB聚合组数组到键:总和值

    您好 我是 mongodb 新手 尝试将不同类型 int 的对象转换为键值对 我有这样的收藏 id ObjectId 5372a9fc0079285635db14d8 type 1 stat foobar id ObjectId 5372a
  • 解析 JSON 中的反斜杠转义序列时出错

    我正在尝试解析从 API 获取的 JSON 字符串 var inputString AccountName NT AUTHORITY SYSTEM console log JSON parse inputString View in bro
  • 如何包含或引导 paypal-core-sdk php

    我已经从 GitHub 手动下载了 php 的 paypal core sdk 我的服务器没有 composer 我只是手动将文件复制到文档根目录之外的包含目录 问题是 当我去调用某些类时 服务器会停止运行并且不知道我在说什么 即 Fata
  • 我们如何使用 Watchkit 触摸事件?

    我想在我的应用程序中使用触摸事件 我知道手势识别器不能在 watchKit 中使用 是否可以使用touchesBegan touchesMove等函数 Apple Watch 应用程序使用WatchKit 框架 https develope
  • SecTrustEvaluate 在 iOS 5 上返回 kSecTrustResultRecoverableTrustFailure

    在有报道称该应用程序无法与 Beta 版一起使用后 我必须将其更新到 iOS5 问题归咎于我们的自定义 SSL 证书验证不再起作用 在 didReceiveAuthenticationChallenge 部分中 我们获取根证书并调用 Sec
  • 如何在 Spyder 窗口中获取大数据帧的最后一条记录?

    我希望能够在 Spyder Python IDE 窗口中打开一个数据框 并快速向下滚动到相对较大的 pandas 数据框的最后一条记录 表中有 134 890 条记录 这是令人沮丧的 因为 Spyder 只从大表中加载一定数量的记录 并且向
  • 如何在量角器中发送键盘按键(如 TAB)

    我需要选择一个元素 向其发送值 按 Tab 键 然后发送新值 我可以选择元素并向其发送值 但无法从键盘发送 TAB 然后发送新值 我首先使用 ptor 但后来它已被废弃 我现在尝试使用 browser key 做同样的事情 但它对我不起作用
  • 错误:摘要已在进行中

    我有以下错误 错误 rootScope inprog digest 已在进行中http errors angularjs org 1 2 16 http errors angularjs org 1 2 16 rootScope inpro
  • Python:允许调用未明确定义的方法 ala __getattr__

    我正在尝试编写一个能够执行以下操作的 Python 类 c MyClass a c A a name for A Calls internally c create A a name for A b c B a name for B Cal
  • 通过 https 发送敏感数据的安全性如何?

    SSL 是否足够安全 可以在查询字符串中使用敏感数据 例如密码 是否有任何额外的选项可以实施 SSL 提供安全的传输级安全 客户端和服务器之间的任何人都不应能够读取该信息 But你应该改变在查询字符串中写入敏感数据的想法 它将显示在浏览器的
  • Raspberry Pi 上的 Python 无限循环内的用户输入在多次点击时会丢失输入

    我有一个非常基本的parrot用 Python 编写的脚本 仅提示用户输入并在无限循环内将其打印回来 Raspberry Pi 配有一个用于输入的 USB 条形码扫描仪 while True barcode raw input Scan b
  • 自定义 TableView 单元格内容在 ios 9 xcode 7 上不可见

    iOS 9 的升级似乎破坏了我所有的自定义 uitableviewcell 它们只显示具有正确高度的 tableviewcell 但其中的所有元素都丢失了 该布局在 iOS 8 和 iOS 7 设备上完美运行 Here s a screen
  • java中如何检查字符串是否为空?

    如何在java中检查字符串是否为空 我在用 stringname equalsignorecase null 但它不起作用 string null比较对象是否为空 string equals foo 比较该对象内部的值 string foo
  • Eclipse web.xml 引用文件错误

    我在 Eclipse 中导入了一个项目作为 Maven 项目 我将 Web 应用程序版本从 2 5 升级到 3 1 因为它是作为 Dynamic Web Module 3 1 导入的 现在我收到以下错误 通过文件 web xml 验证文件
  • 如何从 Vala 编译器生成 GIR 文件?

    我正在尝试使用 pygi 和 gobject introspection 创建到 vala 库的 python 绑定 但是 我在生成 GIR 文件时遇到问题 我计划随后将其编译为 typelib 文件 根据文档 valac 应该支持生成 G
  • Git-svn W: -empty_dir 警告。他们的意思是什么?

    在尝试使用标准布局使用 git svn 克隆现有 Subversion 存储库时 我得到了一堆W empty dir and W empty dir 警告 克隆的 git 存储库似乎正在工作 即我可以执行常规的 git 操作并提交到 SVN
  • 在 Eclipse 中将 Android 项目转换为“常规”Java 项目?

    我继承了一些最初作为 Android 项目的代码 但实际上只是供其他应用程序使用的 API 因此 构建 过程通常只生成一个 JAR 文件 我遇到的问题是 我的控制台中的 Android 构建工具出现错误 每次我对某些文件进行更改时 这些错误
  • Word2vec - 获取相似度排名

    鉴于我有一个 word2vec 模型 由 gensim 提供 我想获得单词之间的排名相似度 例如 假设我有 desk 这个词 与 desk 最相似的词是 表0 64 椅子0 61 预订 0 59 铅笔0 52 我想创建一个函数 f 桌子 书
  • Simulink - 每 30 秒输出 1,否则输出 0

    我需要一个需要每隔 30 秒或略超过 30 秒输出 1 的子系统 用matlab代码编写它应该像这样工作 function y fcn time uplinkTimeInterval codegen persistent lastTrigg