simulink调用m文件数据初始化解决变量确定错误

时间:2024-10-11 23:52:46

当我们再simulink中调用,m文件的时候,往往在m文件中要对墙绅褡孛数据进行初始化,如果没有进行相应的初始化,运行的时候会报错,例如“Undefined function or variable 'error_1'. The first assignment to a local variable determines its class.”这个问题该怎么解决呢,方法如下。

simulink调用m文件数据初始化解决变量确定错误

工具/原料

matlab软件

simulink工具箱

问题再现

1、打开模型文件: 如图,所示,是建立的带有m文件子系统的模型;

simulink调用m文件数据初始化解决变量确定错误

2、打开M文件模块: 如图中所示,双击,圈定的m文件模块,就可以打开,并在其中进行相应的编辑;

simulink调用m文件数据初始化解决变量确定错误

3、编辑M文件: 写入,自己的控制算法,比如是PID控制方法,编辑结果,如图所示; 然后,将其保存;

simulink调用m文件数据初始化解决变量确定错误

4、运行程序: 回到simulink模型的主界面,保存,并且点击图中所框按钮(运行按钮);

simulink调用m文件数据初始化解决变量确定错误

5、运行结果: 运行结果,如图中所示,可见在运行中出现了我们的错误。

simulink调用m文件数据初始化解决变量确定错误

6、分析原因: 其原因在于,程序中的变量“error1”没有初始化,在没有初始化的情况下,程序开始改变了的值不确定,这就运行出错了。 方法,对数据进行初始化。

simulink调用m文件数据初始化解决变量确定错误

初始化数据

1、打开m文件模块: 和上面一样,打开m文件,打开结果如图所示;

simulink调用m文件数据初始化解决变量确定错误

2、编辑文件: 在文件中添加初始化程序,如图所示是一种比较好的初始化方法; 该憧钏荭拜部分代码的大概是,判断变量是否为空,如果为空则进行赋值语句。

simulink调用m文件数据初始化解决变量确定错误

3、运行查看: 按照,上述同样的方法,运行我们的simulink模型,可以看到没有错误了。 给你秀一个运行结果。

simulink调用m文件数据初始化解决变量确定错误
© 手抄报圈