【发布时间】:2015-02-19 16:42:30
【问题描述】:
我有一个名为“parameters.mat”的工作区,其中包含许多变量(实际上是常量),在我的模拟过程中被多种方法使用。我希望这些在一个工作区中的原因是将它们放在方便用户更改的地方。
我想在类方法中访问这些变量。我找到了两种方法,我想知道哪种方法更好(或者也许有更好的方法):
首先加载工作区,作为基础工作区,每当我想在方法中使用其中的变量时,我都会先调用
evalin('base', 'variable_name')。只要我需要,就在方法中加载工作区。这行得通, 但是当我在 该方法的其余部分(因为 MATLAB 不知道它会是 从工作区加载)。有没有清除此警告的干净方法?
【问题讨论】:
-
evalin是 eval,嗯,邪恶 ;-),而简单的load只是稍微温和一些。您可以做的一件事是使用语法x = load('...');将变量加载为结构x的字段。 -
准确地说,您在第一种方法中所拥有的不是全局变量,而是基础工作区中的变量。 Matlab 中的全局变量可以通过
global var从每个工作区访问。