You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Simulink函数块传递waypoints数组时出现维度设置错误

Simulink维度传递问题排查

问题背景

Simulink模型包含三个函数块A、B、C:

  • 向块A输入11×2的数组waypoints,A设置为直通逻辑:waypoints_in = waypoints_out(不做任何修改)
  • 当把A的输出连接到B后运行仿真,触发错误:Block C does not fully set the dimensions of output V
  • 块B同样设置直通逻辑:wpts_in = wpts_out,直接将waypoints输入连接到B时,仿真完全正常,仅通过A中转到B时才会触发C的错误
  • 已检查所有块的输入输出属性,均设置为默认/继承维度
  • 两种路由场景:
    • 场景1:waypoints直接连接到B,无报错
    • 场景2:waypoints通过A中转到B,触发C的维度错误

排查与解决建议

  • 强制指定块A的输出维度:虽然设置了继承维度,但Simulink的维度推断可能在中转时出现模糊。手动将A的输出维度指定为11×2,确保维度信息明确传递给B。
  • 检查块A的代码细节:确认直通代码没有隐含的维度变更,比如可以将代码改为waypoints_out = waypoints_in(:,:);,强制保留二维数组结构,避免Simulink误判为一维或可变维度。
  • 启用严格维度诊断:打开模型配置参数(Model Configuration Parameters),进入Diagnostics > Data Validity,启用Unspecified dimension mismatch等严格检查选项,定位维度传递过程中的异常节点。
  • 验证中转后的维度:在块A的输出端添加Display块,查看经过A后的数组维度是否仍为11×2,确认是否在中转过程中维度被意外修改。
  • 明确块C的输出维度:报错指向C块未完全设置输出V的维度,可手动指定C块输出V的维度,或确保B块传递给C的输入维度信息是明确的,消除维度推断的不确定性。

内容的提问来源于stack exchange,提问作者Tom W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:16:11