当我从命令窗口运行Matlab脚本时,它正在正常运行。这个脚本使用函数,因此我必须使变量成为全局变量。
现在,当我从GUI中的切换按钮的回调函数运行此脚本时,我收到错误。错误似乎来自可访问的变量。
我错过了什么吗?这是什么问题的解决方案?
答案 0 :(得分:3)
当从回调函数运行脚本时,脚本可以访问"调用者"函数,即回调函数工作空间,而不是基础工作空间。您需要确保每个函数都可以访问它所需的变量,方法是将它们设置为全局变量,或者优先将它们作为参数传递给函数。这样,代码更加便携,并且不依赖于基本工作空间中可能存在或不存在的变量。在GUI中,您可以使用handles
结构来存储执行回调函数所需的数据。