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

MATLAB Function输入u索引越界求助:无法识别为向量

报错信息:

Index expression out of bounds. Attempted to access element 2. The valid range is 1-1

问题根源是MATLAB Function模块的输入u被识别为标量(仅1个元素),但代码里试图访问u(2)到u(12),导致索引越界。以下是解决步骤:

  • 检查模块输入数据配置
    双击MATLAB Function模块打开编辑器,点击顶部的「编辑数据」按钮,找到输入u:

    • 将「维度」从1修改为12(如果是列向量写12,1,行向量写1,12,根据你的信号形态调整)
    • 确认「数据类型」设置为与输入信号匹配的数值类型(比如double)
  • 验证输入信号维度
    确保连接到模块输入端口的是12维向量:

    • 如果是多个独立标量信号,先用Mux模块把它们合并成一个12元素的向量,再接入Function模块
    • 右键输入信号,选择「信号属性」查看维度,确认是12元素
  • 可选:添加输入维度校验
    在函数开头加入一行代码,提前排查输入问题:

    assert(length(u)==12, '输入u必须是12维向量');
    

你的代码本身逻辑没问题,核心是输入u的维度配置和实际输入信号不匹配,导致模块把u当成了标量处理。

内容的提问来源于stack exchange,提问作者Daniel Pérez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:52:20