如何在Matlab类中使用另一个常量来定义常量

时间:2012-01-26 15:05:17

标签: matlab matlab-class

我无法弄清楚如何使用其他方法来定义常量这样简单的事情。

例如,一个虚拟的例子:

classdef DummyClass < handle
    properties (Constant)
        NB_SECONDS_IN_MINUTE = 60;
        NB_MINUTES_IN_HOUR   = 60;

        NB_SECONDS_IN_HOUR   = NB_SECONDS_IN_MINUTE * NB_MINUTES_IN_HOUR;
    end
end

这不起作用:(

然后我尝试了这一行:

NB_SECONDS_IN_HOUR   = DummyClass.NB_SECONDS_IN_MINUTE * DummyClass.NB_MINUTES_IN_HOUR;

但这也不起作用......

有人在这里得到了一个线索吗? :/

(我正在使用MATLAB R2009a btw)

1 个答案:

答案 0 :(得分:6)

你肯定需要引用具有完整类名的常量,如第二种情况。包{(1}})目录中是DummyClass吗?如果是这样,您需要使用完全限定的名称,即

+packagename

编辑:刚刚在R2009a中测试了这个:

NB_SECONDS_IN_HOUR = packagename.DummyClass.NB_SECONDS_IN_MINUTE * packagename.DummyClass.NB_SECONDS_IN_HOUR;