倒立摆系统的 S 函数在 Simulink 中的实现有时会遇到一个小坑——报错信息“在 flag=1 调用期间由 S-function 返回的状态导数必须是长度为 4 的实向量”。如果你也是像我一样,遇到这个错误头大,明明设置了长度为 4 的实向量,还出现这个问题?其实,根本问题出在你返回的状态导数上,是引入了复杂向量或者状态导数计算部分没对齐。记得在 flag=1 的回调函数里,确保你的输出是个实向量,别搞错了!你可以看看相关的倒立摆模型文档,参考一些经典的 Simulink 仿真实例,你理清问题。