Global variables for class library in matlab

2019-05-07 15:26发布

问题:

I have several matlab classes declared. How could I declare constants which are seen in all classes?
For instance: these constants can be physical constants which are used in methods of all classes. The first thing coming to mind is using global variables. Is there any better way? It will be nice to declare these constants in a separate file.

回答1:

A class containing the constants is a nice clean way to do this. See the article in Matlab documentation: http://www.mathworks.com/help/matlab/matlab_oop/properties-with-constant-values.html

For example, if you create a class called NamedConst as follows:

classdef NamedConst
   properties (Constant)
      R = pi/180;
      D = 1/NamedConst.R;
      AccCode = '0145968740001110202NPQ';
      RN = rand(5);
   end
end

You can reference values with

radi = 45*NamedConst.R

You can find more details in the link given.