never say never85 2024-02-25 16:06 采纳率: 0%
浏览 41

Inferred size ('[1 2]') for data 'sys' does not match back propagated size ('[2]') from Simulink.

Inferred size ('[1 2]') for data 'sys' does not match back propagated size ('[2]') from Simulink.报错

  • 写回答

3条回答 默认 最新

  • 码农阿豪 Java领域优质创作者 2024-02-25 16:06
    关注
    让阿豪来帮你解答,本回答参考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
    
    评论

报告相同问题?

问题事件

  • 创建了问题 2月25日

悬赏问题

  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来
  • ¥15 java 判断某个数 区间是否存在
  • ¥15 appium控制多个雷电模拟器问题
  • ¥15 C# iMobileDevice
  • ¥15 谁会做这个啊#ensp#Boson NetSim
  • ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
  • ¥15 设计简单目录管理系统,要满足以下内容
  • ¥15 关于九十度混合耦合器信号分析问题
  • ¥15 Cesm如何关闭不用的模块呢