【发布时间】:2017-11-03 17:03:25
【问题描述】:
我想在纯 Simulink 模型中实现一个非常巨大的(10^6 个元素 - 固定大小)循环缓冲区(没有其他工具箱,没有 S-Function)。
在某些时候我需要阅读一些元素(任何地方,不仅仅是开始或结束)。
以下解决方案我不能使用:
- “队列块”或“缓冲区块”(我没有可用的信号处理工具箱)
- “离散延迟”(我需要一个巨大的缓冲区,并且不会在模型中放置 10^6 个延迟)
- “模拟事件”(我需要从这个模型生成代码)
我还没有尝试过的“S-Function”,我正在寻找替代解决方案。
您还知道哪些进一步的方法?
【问题讨论】:
-
为什么不使用 MATLAB Function 模块并在 MATLAB 代码中将缓冲区声明为持久数据?
-
据我所知,Matlab 功能块在较旧的 Matlab/Simulink 版本(2011 年之前)中不可用。我一直在寻找一种向下兼容的方法。对于只有较新的版本,我会采用 Matlab 功能块(witch Matlab Coder)和 Phil Goddard 发布的解决方案。