0

我正在学习 MatLab 并遇到了障碍。

我有一个interface.fig文件interface.m用作我的“主”GUI 窗口。从那里另一个文件;bright.m叫做。

文件bright需要更新主文件中的全局变量以及调用函数,我已经把全局变量计算出来了,但是不能调用函数。

尝试了一切,看着做这样的事情:

reDisplay();
evalin('base','reDisplay()');
interface.reDisplay();
interface>reDisplay();

但没有运气。

4

2 回答 2

1

只有 M 文件中的第一个函数可以从该文件外部调用。如果您希望您的函数可以全局访问,那么您需要将它们保存在独立文件中。

如果您需要在这些函数之间全局访问状态,请将它们作为参数传递或考虑使用面向对象的方法来解决您的问题。

于 2012-12-17T17:45:49.510 回答
0

如果 Matlab 中的一个函数是在一个文件名与函数名不同的 m 文件定义的 - 那么就无法从其 m 文件外部调用该函数。

为了让你的reDisplay函数对 可见bright.m,你应该在它自己的名为的 m 文件中拥有这个函数reDisplay.m

于 2012-12-17T17:45:36.597 回答