【发布时间】:2015-10-15 13:29:26
【问题描述】:
我需要在 simulink 中实现 if/else 来确定输入是标量值还是矩阵。请看下图:
给定:
Block(1) - 是一个输入,可以是标量“1”或矩阵“[[0 15];[5 10]]”
Block(2) - 必须返回输入的信号维度。例如:1 表示标量,>1 表示矩阵
要求是:
- 一切都必须在解释或编译后工作(Simulink 编码器)
- 块 (4) 和 (5) 的最终输出是标量
- 我对 CMexSFunctions 的了解一般。因此,如果我需要实现一个来解决问题,那没关系
到目前为止,我遇到了以下问题:
- 如果我打算做的事情是可行的,我根本不知道
- 我不知道如何实现 Block(2) 以在编译模式下工作
- 即使存在 if/else,simulink 也会在运行前执行预检查,以验证所有信号维度是否正常。在这个检查过程中,它给出了一个错误,说 ex: that Block(5) has a input of matrix
有什么线索吗?
【问题讨论】:
标签: matlab simulink s-function