Inferred size ('[1 2]') for data 'sys' does not match back propagated size ('[2]') from Simulink.报错
![](https://profile-avatar.csdnimg.cn/f0946f19396442e9933207bfa455656c_weixin_64169106.jpg!4)
Inferred size ('[1 2]') for data 'sys' does not match back propagated size ('[2]') from Simulink.
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注
让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如需一对一服务私聊我哦
这个错误是由于数据传递时数据大小不匹配所导致的。具体来说,Simulink系统中一个信号的推测大小(Inferred size)与该信号在模型中的实际大小(back propagated size)不匹配。 这个问题通常可以通过在模型中检查信号的大小是否正确来解决。如果两个大小不匹配,可以通过在信号线上添加大小适配器(size adapter)来解决。size adapter可以将信号的大小转换为需要的大小。 例如,假设我们有一个Simulink系统,其中有一个从输入端口传递的向量信号“sys”,该信号被连接到一个乘法器模块。乘法器模块的另一个输入是一个标量信号“b”,这将导致大小不匹配的错误。 要解决这个问题,我们可以添加一个大小适配器(size adapter)来将标量信号“b”的大小转换为向量大小,如下所示: ![Simulink example](https://i.imgur.com/gOvvOAG.png) 在这个例子中,使用了一个Size和DataType adapter块来实现信号大小的适配。 代码示例:% Simulink Model Initialization script sys_size = size(sys); b_size = size(b); if ~isequal(sys_size, b_size) % add a size adapter to match sizes add_block('simulink/Commonly Used Blocks/Signal Routing/Size and DataType adapter', 'my_adapter'); set_param('my_adapter', 'Position', [200 200 230 250]); set_param('my_adapter', 'InputDimensionality', 'Same as input'); set_param('my_adapter', 'OutputDimensionality', 'Two-dimensional vector'); add_line('my_model', 'b/1', 'my_adapter/1'); add_line('my_model', 'my_adapter/1', 'sys/2'); end
解决 无用评论 打赏 举报
悬赏问题
- ¥20 前端 二进制文件流图片转化异常
- ¥15 github上的这个C语言项目如何跑起来
- ¥15 java 判断某个数 区间是否存在
- ¥15 appium控制多个雷电模拟器问题
- ¥15 C# iMobileDevice
- ¥15 谁会做这个啊#ensp#Boson NetSim
- ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
- ¥15 设计简单目录管理系统,要满足以下内容
- ¥15 关于九十度混合耦合器信号分析问题
- ¥15 Cesm如何关闭不用的模块呢