我正在学习MatLab&遇到了障碍。
我有一个interface.fig
文件interface.m
,它充当我的“主要”GUI窗口。从那里另一个文件; bright.m
被称为。{/ p>
文件bright需要更新主文件中的全局变量以及调用函数,我已经计算出全局变量但不能调用函数。
尝试了一切,看着做的事情:
reDisplay();
evalin('base','reDisplay()');
interface.reDisplay();
interface>reDisplay();
但没有运气。
答案 0 :(得分:1)
只有M文件中的第一个函数可以从该文件外部调用。如果您希望全局访问您的功能,则需要将它们保存在独立文件中。
如果您需要在这些函数之间全局访问状态,请将它们作为参数传递,或者考虑使用面向对象的方法来解决您的问题。
答案 1 :(得分:0)
如果Matlab中的函数被定义为 一个文件名不同于函数名的m文件 - 则无法从其m文件外部调用此函数。
为了使reDisplay
函数对bright.m
可见,您应该在自己的名为reDisplay.m