Simulink关于S-函数的报错:索引超出数组范围的自我查错方法

在这里插入图片描述
对于上述一类问题,一般是S-function编写出了问题,可以用调试的方法来查找错误

步骤如下:1、首先在S-function中的.m文件中设置一处断点,下图的红色圆圈就是设置的断点,点击该位置即可设置
在这里插入图片描述
2、运行m文件上方此处simulink,
3、此时会出现
运行 文件名(t,x,u,flag)
在这里插入图片描述
4、flag的设置看你断点的位置,若你的断点设置在mdlDerivatives中,则flag输入1,若你的断点设置在mdlOutputs中,则flag输入3
5、u为输入向量,可以取n个1,表示为[1;1;1;…]或者[1 1 1…]
前者为列,后者为行,取决于你设置输入向量时的形式,一般为列。n为你mdlInitializeSizes中设置的NumInputs数
6、设置完后回车,即可开始调试
7、点击这个即可跳到下一步在这里插入图片描述
8、接着在matlab中的工作区查看你的数值
在这里插入图片描述

发布了3 篇原创文章 · 获赞 0 · 访问量 134

猜你喜欢

转载自blog.csdn.net/qq_38348877/article/details/105737523