首页 > 软件开发 > 编程语言 >

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

来源:互联网 2023-03-17 00:15:05 版权归原作者所有,如有侵权,请联系我们

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

simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

工具/原料

  • matlab软件
  • simulink工具箱

问题再现

  • 1

    打开模型文件:hga办公区 - 实用经验教程分享!

    如图,所示,是建立的带有m文件子系统的模型;hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 1本页面未经授权抓取自百度经验
  • 2

    打开M文件模块:hga办公区 - 实用经验教程分享!

    如图中所示,双击,圈定的m文件模块,就可以打开,并在其中进行相应的编辑;hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 3

    编辑M文件:hga办公区 - 实用经验教程分享!

    写入,自己的控制算法,比如是PID控制方法,编辑结果,如图所示;hga办公区 - 实用经验教程分享!

    然后,将其保存;hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 4

    运行程序:hga办公区 - 实用经验教程分享!

    回到simulink模型的主界面,保存,并且点击图中所框按钮(运行按钮);hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 5

    运行结果:hga办公区 - 实用经验教程分享!

    运行结果,如图中所示,可见在运行中出现了我们的错误。hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 6

    分析原因:hga办公区 - 实用经验教程分享!

    其原因在于,程序中的变量“error1”没有初始化,在没有初始化的情况下,程序开始改变了的值不确定,这就运行出错了。hga办公区 - 实用经验教程分享!

    方法,对数据进行初始化。hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 初始化数据

  • 1

    打开m文件模块:hga办公区 - 实用经验教程分享!

    和上面一样,打开m文件,打开结果如图所示;hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 2

    编辑文件:hga办公区 - 实用经验教程分享!

    在文件中添加初始化程序,如图所示是一种比较好的初始化方法;hga办公区 - 实用经验教程分享!

    该部分代码的大概是,判断变量是否为空,如果为空则进行赋值语句。hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 3

    运行查看:hga办公区 - 实用经验教程分享!

    按照,上述同样的方法,运行我们的simulink模型,可以看到没有错误了。hga办公区 - 实用经验教程分享!

    给你秀一个运行结果。hga办公区 - 实用经验教程分享!

    simulink调用m文件数据初始化解决变量确定错误hga办公区 - 实用经验教程分享!

  • 注意事项

    • 分享可以我们懂得更多
    • 如有疑问可以留言

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!hga办公区 - 实用经验教程分享!


    标签: 编程语言MATLAB

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号