当我们再simulink中调用,m文件的时候,往往在m文件中要对墙绅褡孛数据进行初始化,如果没有进行相应鹚兢尖睁的初始化,运行的时候会报错,例如“Undefinedfunctionorvariable'error_1'.Thefirstassignmenttoalocalvariabledeterminesitsclass.”这个问题该怎么解决呢,方法如下。
工具/原料
matlab软件
simulink工具箱
问题再现
1、打开模型文件:如图,所示,是建立的带有m文件子系统的模型;
2、打开M文件模块:如图中所示,双击,圈定的m文件模块,就可以打开,并在其中进行相应的编辑;
3、编辑M文件:写入,自己的控制算法,比如是PID控制方法,编辑结果,如图所示;然后,将其保存;
4、运行程序:回到simulink模型的主界面,保存,并且点击图中所框按钮(运行按钮);
5、运行结果:运行结果,如图中所示,可见在运行中出现了我们的错误。
6、分析原因:其原因在于,程序中的变量“er筠续师诈ror1”没有初始化,在没有初始化的情况下,程序开始改变了的值不确定,这就运行出错了。方法,对数据进行初始化。
初始化数据
1、打开m文件模块:和上面一样,打开m文件,打开结果如图所示;
2、编辑文件:在文件中添加初始化程序,如图所示是一种比较好的初始化方法;该憧钏荭拜部分代码的大概是,判断变量是否为空,如果为空则进行赋值语句。
3、运行查看:按照,上述同样的方法,运行我们的simulink模型,可以看到没有错误了。给你秀一个运行结果。