【发布时间】:2016-04-29 22:25:00
【问题描述】:
在 Matlab 中,我有几条数据库记录存储在矩阵 DataMatrix 中。矩阵的每一行是一条记录,每一列是记录的一个属性的值。
为了使程序易于理解DataMatrix 的每一列,我定义了一个变量名来解释与该列关联的属性,即:
ColApple = 1;
ColOrange = 2;
ColLemon = 3;
...
我有大约50 列要命名。
我的问题是DataMatrix 中的值用于不同的函数,我希望始终使用列名来处理DataMatrix 中的数据。所以我必须在不同的函数之间共享ColApple、ColOrange、ColLemon、...的值
到目前为止,我想到了两种可能的方法:
-
使列名全局化
-
定义一个返回列名值的函数,即:
[ColApple, ColOrange, ColLemon, ... ] = getColNames
我会避免使用全局解决方案,因为我认为它很危险,而且如果可能的话,我希望列名保持不变。
第二种方法更好,但由于我有 50 列,我不知道让函数返回 50 不同值是否是个好主意(在我看来也很难维护)。
谁有更强大或可维护的方法来解决这个问题?我确定我不是第一个处理此问题的人,但我无法找到解决方案。
【问题讨论】: